FLImaging 6.5.8.1
DefinitionGUISNAP.h
1#pragma once
2
3#include "../FLImagingFoundation/DefinitionsColor.h"
4
5namespace FLImaging
6{
7 namespace GUI
8 {
9 class CGUIViewSNAPObjectNode;
10 class CGUIViewSNAPObjectLink;
11 class CGUIViewSNAPObjectNodeIOItem;
12
13 enum
14 {
15 EStateColor_None = 0x808080,
16 EStateColor_Background = 0x2E2E2E,
17 EStateColor_Hover = Foundation::PALEGREEN,
18 EStateColor_Pressed = Foundation::CYAN,
19 EStateColor_Selected = Foundation::WHITE,
20 EStateColor_Instruct = Foundation::YELLOW,
21 EStateColor_NoneText = Foundation::WHITE,
22 EStateColor_Error = Foundation::RED,
23 EStateColor_TypeError = Foundation::PASTELORANGE,
24 EStateColor_AddLinkCandidate = 0xF2BE71,
25 };
26
27 enum
28 {
29 EStateLineWidth_None = 2,
30 EStateLineWidth_Selected = 4,
31 };
32
33 enum
34 {
35 ENodeSize_Expand = 6,
36 ENodeSize_TitleHeight = 19,
37 ENodeSize_FuncExtendWidth = 40,
38 ENodeSize_FuncExtendHeight = 10,
39 ENodeSize_ConditionWidth = 20,
40 ENodeSize_ConditionHeight = 10,
41 EIOItemOffset_Width = 20,
42 EIOItemOffset_Height = 5,
43 EIOItemOffset_Left = 5,
44 EIOItemOffset_Right = 15,
45 EIOItemOffset_Extend = 10,
46 EIOItem_MinimumWidth = 17,
47 };
48
49 enum EDefinedParameterType
50 {
51 EDefinedParameterType_None = 0,
52 EDefinedParameterType_Image,
53 EDefinedParameterType_Figure,
54 EDefinedParameterType_FigureText,
55 EDefinedParameterType_3DViewCamera,
56 EDefinedParameterType_3DObject,
57 EDefinedParameterType_3DObjectHeightMap,
58 EDefinedParameterType_Variable,
59 EDefinedParameterType_String,
60 EDefinedParameterType_Bool,
61 EDefinedParameterType_Int8,
62 EDefinedParameterType_Uint8,
63 EDefinedParameterType_Int16,
64 EDefinedParameterType_Uint16,
65 EDefinedParameterType_Int32,
66 EDefinedParameterType_Uint32,
67 EDefinedParameterType_Int64,
68 EDefinedParameterType_Uint64,
69 EDefinedParameterType_Float,
70 EDefinedParameterType_Double,
71 EDefinedParameterType_PointInt8,
72 EDefinedParameterType_PointUint8,
73 EDefinedParameterType_PointInt16,
74 EDefinedParameterType_PointUint16,
75 EDefinedParameterType_PointInt32,
76 EDefinedParameterType_PointUint32,
77 EDefinedParameterType_PointInt64,
78 EDefinedParameterType_PointUint64,
79 EDefinedParameterType_PointFloat,
80 EDefinedParameterType_PointDouble,
81 EDefinedParameterType_Point3Int8,
82 EDefinedParameterType_Point3Uint8,
83 EDefinedParameterType_Point3Int16,
84 EDefinedParameterType_Point3Uint16,
85 EDefinedParameterType_Point3Int32,
86 EDefinedParameterType_Point3Uint32,
87 EDefinedParameterType_Point3Int64,
88 EDefinedParameterType_Point3Uint64,
89 EDefinedParameterType_Point3Float,
90 EDefinedParameterType_Point3Double,
91 EDefinedParameterType_Point4Int8,
92 EDefinedParameterType_Point4Uint8,
93 EDefinedParameterType_Point4Int16,
94 EDefinedParameterType_Point4Uint16,
95 EDefinedParameterType_Point4Int32,
96 EDefinedParameterType_Point4Uint32,
97 EDefinedParameterType_Point4Int64,
98 EDefinedParameterType_Point4Uint64,
99 EDefinedParameterType_Point4Float,
100 EDefinedParameterType_Point4Double,
101 EDefinedParameterType_MultiVarInt32,
102 EDefinedParameterType_MultiVarUint32,
103 EDefinedParameterType_MultiVarInt64,
104 EDefinedParameterType_MultiVarUint64,
105 EDefinedParameterType_MultiVarFloat,
106 EDefinedParameterType_MultiVarDouble,
107 EDefinedParameterType_ArrayString,
108 EDefinedParameterType_ArrayInt8,
109 EDefinedParameterType_ArrayUint8,
110 EDefinedParameterType_ArrayInt16,
111 EDefinedParameterType_ArrayUint16,
112 EDefinedParameterType_ArrayInt32,
113 EDefinedParameterType_ArrayUint32,
114 EDefinedParameterType_ArrayInt64,
115 EDefinedParameterType_ArrayUint64,
116 EDefinedParameterType_ArrayFloat,
117 EDefinedParameterType_ArrayDouble,
118 EDefinedParameterType_ArrayPointInt8,
119 EDefinedParameterType_ArrayPointUint8,
120 EDefinedParameterType_ArrayPointInt16,
121 EDefinedParameterType_ArrayPointUint16,
122 EDefinedParameterType_ArrayPointInt32,
123 EDefinedParameterType_ArrayPointUint32,
124 EDefinedParameterType_ArrayPointInt64,
125 EDefinedParameterType_ArrayPointUint64,
126 EDefinedParameterType_ArrayPointFloat,
127 EDefinedParameterType_ArrayPointDouble,
128 EDefinedParameterType_ArrayPoint3Int8,
129 EDefinedParameterType_ArrayPoint3Uint8,
130 EDefinedParameterType_ArrayPoint3Int16,
131 EDefinedParameterType_ArrayPoint3Uint16,
132 EDefinedParameterType_ArrayPoint3Int32,
133 EDefinedParameterType_ArrayPoint3Uint32,
134 EDefinedParameterType_ArrayPoint3Int64,
135 EDefinedParameterType_ArrayPoint3Uint64,
136 EDefinedParameterType_ArrayPoint3Float,
137 EDefinedParameterType_ArrayPoint3Double,
138 EDefinedParameterType_ArrayPoint4Int8,
139 EDefinedParameterType_ArrayPoint4Uint8,
140 EDefinedParameterType_ArrayPoint4Int16,
141 EDefinedParameterType_ArrayPoint4Uint16,
142 EDefinedParameterType_ArrayPoint4Int32,
143 EDefinedParameterType_ArrayPoint4Uint32,
144 EDefinedParameterType_ArrayPoint4Int64,
145 EDefinedParameterType_ArrayPoint4Uint64,
146 EDefinedParameterType_ArrayPoint4Float,
147 EDefinedParameterType_ArrayPoint4Double,
148 EDefinedParameterType_Array2String,
149 EDefinedParameterType_Array2Int8,
150 EDefinedParameterType_Array2Uint8,
151 EDefinedParameterType_Array2Int16,
152 EDefinedParameterType_Array2Uint16,
153 EDefinedParameterType_Array2Int32,
154 EDefinedParameterType_Array2Uint32,
155 EDefinedParameterType_Array2Int64,
156 EDefinedParameterType_Array2Uint64,
157 EDefinedParameterType_Array2Float,
158 EDefinedParameterType_Array2Double,
159 EDefinedParameterType_Array2PointInt8,
160 EDefinedParameterType_Array2PointUint8,
161 EDefinedParameterType_Array2PointInt16,
162 EDefinedParameterType_Array2PointUint16,
163 EDefinedParameterType_Array2PointInt32,
164 EDefinedParameterType_Array2PointUint32,
165 EDefinedParameterType_Array2PointInt64,
166 EDefinedParameterType_Array2PointUint64,
167 EDefinedParameterType_Array2PointFloat,
168 EDefinedParameterType_Array2PointDouble,
169 EDefinedParameterType_Array2Point3Int8,
170 EDefinedParameterType_Array2Point3Uint8,
171 EDefinedParameterType_Array2Point3Int16,
172 EDefinedParameterType_Array2Point3Uint16,
173 EDefinedParameterType_Array2Point3Int32,
174 EDefinedParameterType_Array2Point3Uint32,
175 EDefinedParameterType_Array2Point3Int64,
176 EDefinedParameterType_Array2Point3Uint64,
177 EDefinedParameterType_Array2Point3Float,
178 EDefinedParameterType_Array2Point3Double,
179 EDefinedParameterType_Array2Point4Int8,
180 EDefinedParameterType_Array2Point4Uint8,
181 EDefinedParameterType_Array2Point4Int16,
182 EDefinedParameterType_Array2Point4Uint16,
183 EDefinedParameterType_Array2Point4Int32,
184 EDefinedParameterType_Array2Point4Uint32,
185 EDefinedParameterType_Array2Point4Int64,
186 EDefinedParameterType_Array2Point4Uint64,
187 EDefinedParameterType_Array2Point4Float,
188 EDefinedParameterType_Array2Point4Double,
189
190 EDefinedParameterType_FLPointInt32,
191 EDefinedParameterType_FLPointInt64,
192 EDefinedParameterType_FLPointFloat,
193 EDefinedParameterType_FLPointDouble,
194 EDefinedParameterType_FLLineInt32,
195 EDefinedParameterType_FLLineInt64,
196 EDefinedParameterType_FLLineFloat,
197 EDefinedParameterType_FLLineDouble,
198 EDefinedParameterType_FLRectInt32,
199 EDefinedParameterType_FLRectInt64,
200 EDefinedParameterType_FLRectFloat,
201 EDefinedParameterType_FLRectDouble,
202 EDefinedParameterType_FLQuadInt32,
203 EDefinedParameterType_FLQuadInt64,
204 EDefinedParameterType_FLQuadFloat,
205 EDefinedParameterType_FLQuadDouble,
206 EDefinedParameterType_FLCircleInt32,
207 EDefinedParameterType_FLCircleInt64,
208 EDefinedParameterType_FLCircleFloat,
209 EDefinedParameterType_FLCircleDouble,
210 EDefinedParameterType_FLEllipseInt32,
211 EDefinedParameterType_FLEllipseInt64,
212 EDefinedParameterType_FLEllipseFloat,
213 EDefinedParameterType_FLEllipseDouble,
214 EDefinedParameterType_FLFigureArray,
215 EDefinedParameterType_FLPointArray,
216 EDefinedParameterType_FLRegion,
217 EDefinedParameterType_FLComplexRegion,
218 EDefinedParameterType_FLPoint3Float,
219 EDefinedParameterType_FLPoint3Double,
220 EDefinedParameterType_FLPoint4Float,
221 EDefinedParameterType_FLPoint4Double,
222 EDefinedParameterType_FLCubicSpline,
223 EDefinedParameterType_FLBezierQuadraticCurve,
224 EDefinedParameterType_FLBezierCubicCurve,
225 EDefinedParameterType_FLBezierQuarticCurve,
226
227 EDefinedParameterType_MatrixFloat,
228 EDefinedParameterType_MatrixDouble,
229
230 EDefinedParameterType_ArrayImage,
231
232 EDefinedParameterType_FixedViewPlacementSet,
233 EDefinedParameterType_Any,
234 };
235
236 enum EUseIO
237 {
238 EUseIO_Input = 0,
239 EUseIO_Output,
240 EUseIO_Both,
241 };
242
243 enum EControlType
244 {
245 EControlType_None = 0,
246 EControlType_Edit = 0,
247 EControlType_Dropdown,
248 EControlType_Check,
249 EControlType_File,
250 EControlType_Folder,
251 EControlTypeCount
252 };
253
254 enum ELinkConnectionType
255 {
256 ELinkConnectionType_None = 0,
257 ELinkConnectionType_Normal,
258 ELinkConnectionType_InnerNodeToBlock,
259 ELinkConnectionType_BlockToInnerNode,
260 };
261
262 typedef struct sRegisterParameterInfo
263 {
264 sRegisterParameterInfo();
265 ~sRegisterParameterInfo();
266
267 void SetPathName(Base::CFLString<wchar_t> flsPathName);
268
269 Base::CFLString<wchar_t> flsType;
270 Base::CFLString<wchar_t> flsName;
271 Base::CFLString<wchar_t> flsPathName;
272 Base::CFLString<wchar_t> flsPathNameType;
273
274 Base::CFLString<wchar_t> flsDynamicType;
275
276 Base::CFLString<wchar_t> flsDescription;
277 Base::CFLString<wchar_t> flsToolTip;
278
279 bool bEffectImageFormat;
280
281 EControlType eControl;
282 Base::CFLArray<Base::CFLString<wchar_t>> flaAdditionalData;
283
284 void* pProcedure;
285 }
286 SRegisterParameterInfo;
287
288 enum EFigureOutputMode
289 {
290 EFigureOutputMode_None = 0,
291 EFigureOutputMode_Object,
292 EFigureOutputMode_Drawing,
293 };
294
295 typedef struct sLinkConnectedItem
296 {
297 sLinkConnectedItem();
298
299 CGUIViewSNAPObjectNodeIOItem* pItem;
300 CGUIViewSNAPObjectLink* pLink;
301 }
302 SLinkConnectedItem;
303
304 typedef struct sIOConnectedInfo
305 {
306 sIOConnectedInfo();
307
308 SRegisterParameterInfo* pOutput;
309 SRegisterParameterInfo* pInput;
310 }
311 SIOConnectedInfo;
312
313 typedef struct sIOConstructInfo
314 {
315 sIOConstructInfo();
316
317 Base::CFLString<wchar_t> flsType;
318 Base::CFLString<wchar_t> flsName;
319
320 SRegisterParameterInfo* pParamInfo;
321
322 std::vector<sIOConstructInfo> vctChildren;
323 }
324 SIOConstructInfo;
325
326 typedef struct sIOCodeInfo
327 {
328 Base::CFLString<wchar_t> flsIOName;
329 Base::CFLString<wchar_t> flsCode;
330 }
331 SIOCodeInfo;
332
333 enum EInterruptType
334 {
335 EInterruptType_None = 0,
336 EInterruptType_Start,
337 EInterruptType_Pause,
338 EInterruptType_Resume,
339 EInterruptType_Stop,
340 EInterruptType_ErrorPause,
341 EInterruptType_ErrorContinue,
342 EInterruptType_Timer,
343
344 EInterruptTypeCount,
345 };
346 }
347}