3#include "../FLImagingFoundation/DefinitionsColor.h" 
    9        class CGUIViewSNAPObjectNode;
 
   10        class CGUIViewSNAPObjectLink;
 
   11        class CGUIViewSNAPObjectNodeIOItem;
 
   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,
 
   29            EStateLineWidth_None = 2,
 
   30            EStateLineWidth_Selected = 4,
 
   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,
 
   49        enum EDefinedParameterType
 
   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_Number,
 
   60            EDefinedParameterType_String,
 
   61            EDefinedParameterType_Bool,
 
   62            EDefinedParameterType_Int8,
 
   63            EDefinedParameterType_Uint8,
 
   64            EDefinedParameterType_Int16,
 
   65            EDefinedParameterType_Uint16,
 
   66            EDefinedParameterType_Int32,
 
   67            EDefinedParameterType_Uint32,
 
   68            EDefinedParameterType_Int64,
 
   69            EDefinedParameterType_Uint64,
 
   70            EDefinedParameterType_Float,
 
   71            EDefinedParameterType_Double,
 
   72            EDefinedParameterType_PointInt8,
 
   73            EDefinedParameterType_PointUint8,
 
   74            EDefinedParameterType_PointInt16,
 
   75            EDefinedParameterType_PointUint16,
 
   76            EDefinedParameterType_PointInt32,
 
   77            EDefinedParameterType_PointUint32,
 
   78            EDefinedParameterType_PointInt64,
 
   79            EDefinedParameterType_PointUint64,
 
   80            EDefinedParameterType_PointFloat,
 
   81            EDefinedParameterType_PointDouble,
 
   82            EDefinedParameterType_Point3Int8,
 
   83            EDefinedParameterType_Point3Uint8,
 
   84            EDefinedParameterType_Point3Int16,
 
   85            EDefinedParameterType_Point3Uint16,
 
   86            EDefinedParameterType_Point3Int32,
 
   87            EDefinedParameterType_Point3Uint32,
 
   88            EDefinedParameterType_Point3Int64,
 
   89            EDefinedParameterType_Point3Uint64,
 
   90            EDefinedParameterType_Point3Float,
 
   91            EDefinedParameterType_Point3Double,
 
   92            EDefinedParameterType_Point4Int8,
 
   93            EDefinedParameterType_Point4Uint8,
 
   94            EDefinedParameterType_Point4Int16,
 
   95            EDefinedParameterType_Point4Uint16,
 
   96            EDefinedParameterType_Point4Int32,
 
   97            EDefinedParameterType_Point4Uint32,
 
   98            EDefinedParameterType_Point4Int64,
 
   99            EDefinedParameterType_Point4Uint64,
 
  100            EDefinedParameterType_Point4Float,
 
  101            EDefinedParameterType_Point4Double,
 
  102            EDefinedParameterType_MultiVarInt32,
 
  103            EDefinedParameterType_MultiVarUint32,
 
  104            EDefinedParameterType_MultiVarInt64,
 
  105            EDefinedParameterType_MultiVarUint64,
 
  106            EDefinedParameterType_MultiVarFloat,
 
  107            EDefinedParameterType_MultiVarDouble,
 
  108            EDefinedParameterType_ArrayString,
 
  109            EDefinedParameterType_ArrayInt8,
 
  110            EDefinedParameterType_ArrayUint8,
 
  111            EDefinedParameterType_ArrayInt16,
 
  112            EDefinedParameterType_ArrayUint16,
 
  113            EDefinedParameterType_ArrayInt32,
 
  114            EDefinedParameterType_ArrayUint32,
 
  115            EDefinedParameterType_ArrayInt64,
 
  116            EDefinedParameterType_ArrayUint64,
 
  117            EDefinedParameterType_ArrayFloat,
 
  118            EDefinedParameterType_ArrayDouble,
 
  119            EDefinedParameterType_ArrayPointInt8,
 
  120            EDefinedParameterType_ArrayPointUint8,
 
  121            EDefinedParameterType_ArrayPointInt16,
 
  122            EDefinedParameterType_ArrayPointUint16,
 
  123            EDefinedParameterType_ArrayPointInt32,
 
  124            EDefinedParameterType_ArrayPointUint32,
 
  125            EDefinedParameterType_ArrayPointInt64,
 
  126            EDefinedParameterType_ArrayPointUint64,
 
  127            EDefinedParameterType_ArrayPointFloat,
 
  128            EDefinedParameterType_ArrayPointDouble,
 
  129            EDefinedParameterType_ArrayPoint3Int8,
 
  130            EDefinedParameterType_ArrayPoint3Uint8,
 
  131            EDefinedParameterType_ArrayPoint3Int16,
 
  132            EDefinedParameterType_ArrayPoint3Uint16,
 
  133            EDefinedParameterType_ArrayPoint3Int32,
 
  134            EDefinedParameterType_ArrayPoint3Uint32,
 
  135            EDefinedParameterType_ArrayPoint3Int64,
 
  136            EDefinedParameterType_ArrayPoint3Uint64,
 
  137            EDefinedParameterType_ArrayPoint3Float,
 
  138            EDefinedParameterType_ArrayPoint3Double,
 
  139            EDefinedParameterType_ArrayPoint4Int8,
 
  140            EDefinedParameterType_ArrayPoint4Uint8,
 
  141            EDefinedParameterType_ArrayPoint4Int16,
 
  142            EDefinedParameterType_ArrayPoint4Uint16,
 
  143            EDefinedParameterType_ArrayPoint4Int32,
 
  144            EDefinedParameterType_ArrayPoint4Uint32,
 
  145            EDefinedParameterType_ArrayPoint4Int64,
 
  146            EDefinedParameterType_ArrayPoint4Uint64,
 
  147            EDefinedParameterType_ArrayPoint4Float,
 
  148            EDefinedParameterType_ArrayPoint4Double,
 
  149            EDefinedParameterType_Array2String,
 
  150            EDefinedParameterType_Array2Int8,
 
  151            EDefinedParameterType_Array2Uint8,
 
  152            EDefinedParameterType_Array2Int16,
 
  153            EDefinedParameterType_Array2Uint16,
 
  154            EDefinedParameterType_Array2Int32,
 
  155            EDefinedParameterType_Array2Uint32,
 
  156            EDefinedParameterType_Array2Int64,
 
  157            EDefinedParameterType_Array2Uint64,
 
  158            EDefinedParameterType_Array2Float,
 
  159            EDefinedParameterType_Array2Double,
 
  160            EDefinedParameterType_Array2PointInt8,
 
  161            EDefinedParameterType_Array2PointUint8,
 
  162            EDefinedParameterType_Array2PointInt16,
 
  163            EDefinedParameterType_Array2PointUint16,
 
  164            EDefinedParameterType_Array2PointInt32,
 
  165            EDefinedParameterType_Array2PointUint32,
 
  166            EDefinedParameterType_Array2PointInt64,
 
  167            EDefinedParameterType_Array2PointUint64,
 
  168            EDefinedParameterType_Array2PointFloat,
 
  169            EDefinedParameterType_Array2PointDouble,
 
  170            EDefinedParameterType_Array2Point3Int8,
 
  171            EDefinedParameterType_Array2Point3Uint8,
 
  172            EDefinedParameterType_Array2Point3Int16,
 
  173            EDefinedParameterType_Array2Point3Uint16,
 
  174            EDefinedParameterType_Array2Point3Int32,
 
  175            EDefinedParameterType_Array2Point3Uint32,
 
  176            EDefinedParameterType_Array2Point3Int64,
 
  177            EDefinedParameterType_Array2Point3Uint64,
 
  178            EDefinedParameterType_Array2Point3Float,
 
  179            EDefinedParameterType_Array2Point3Double,
 
  180            EDefinedParameterType_Array2Point4Int8,
 
  181            EDefinedParameterType_Array2Point4Uint8,
 
  182            EDefinedParameterType_Array2Point4Int16,
 
  183            EDefinedParameterType_Array2Point4Uint16,
 
  184            EDefinedParameterType_Array2Point4Int32,
 
  185            EDefinedParameterType_Array2Point4Uint32,
 
  186            EDefinedParameterType_Array2Point4Int64,
 
  187            EDefinedParameterType_Array2Point4Uint64,
 
  188            EDefinedParameterType_Array2Point4Float,
 
  189            EDefinedParameterType_Array2Point4Double,
 
  191            EDefinedParameterType_FLPointInt32,
 
  192            EDefinedParameterType_FLPointInt64,
 
  193            EDefinedParameterType_FLPointFloat,
 
  194            EDefinedParameterType_FLPointDouble,
 
  195            EDefinedParameterType_FLLineInt32,
 
  196            EDefinedParameterType_FLLineInt64,
 
  197            EDefinedParameterType_FLLineFloat,
 
  198            EDefinedParameterType_FLLineDouble,
 
  199            EDefinedParameterType_FLRectInt32,
 
  200            EDefinedParameterType_FLRectInt64,
 
  201            EDefinedParameterType_FLRectFloat,
 
  202            EDefinedParameterType_FLRectDouble,
 
  203            EDefinedParameterType_FLQuadInt32,
 
  204            EDefinedParameterType_FLQuadInt64,
 
  205            EDefinedParameterType_FLQuadFloat,
 
  206            EDefinedParameterType_FLQuadDouble,
 
  207            EDefinedParameterType_FLCircleInt32,
 
  208            EDefinedParameterType_FLCircleInt64,
 
  209            EDefinedParameterType_FLCircleFloat,
 
  210            EDefinedParameterType_FLCircleDouble,
 
  211            EDefinedParameterType_FLEllipseInt32,
 
  212            EDefinedParameterType_FLEllipseInt64,
 
  213            EDefinedParameterType_FLEllipseFloat,
 
  214            EDefinedParameterType_FLEllipseDouble,
 
  215            EDefinedParameterType_FLFigureArray,
 
  216            EDefinedParameterType_FLPointArray,
 
  217            EDefinedParameterType_FLRegion,
 
  218            EDefinedParameterType_FLComplexRegion,
 
  219            EDefinedParameterType_FLPoint3Float,
 
  220            EDefinedParameterType_FLPoint3Double,
 
  221            EDefinedParameterType_FLPoint4Float,
 
  222            EDefinedParameterType_FLPoint4Double,
 
  223            EDefinedParameterType_FLCubicSpline,
 
  224            EDefinedParameterType_FLBezierQuadraticCurve,
 
  225            EDefinedParameterType_FLBezierCubicCurve,
 
  226            EDefinedParameterType_FLBezierQuarticCurve,
 
  228            EDefinedParameterType_MatrixFloat,
 
  229            EDefinedParameterType_MatrixDouble,
 
  231            EDefinedParameterType_ArrayImage,
 
  233            EDefinedParameterType_FixedViewPlacementSet,
 
  234            EDefinedParameterType_Any,
 
  246            EControlType_None = 0,
 
  247            EControlType_Edit = 0,
 
  248            EControlType_Dropdown,
 
  255        enum ELinkConnectionType
 
  257            ELinkConnectionType_None = 0,
 
  258            ELinkConnectionType_Normal,
 
  259            ELinkConnectionType_InnerNodeToBlock,
 
  260            ELinkConnectionType_BlockToInnerNode,
 
  261            ELinkConnectionType_Comment,
 
  264        typedef struct sRegisterParameterInfo
 
  266            sRegisterParameterInfo();
 
  267            ~sRegisterParameterInfo();
 
  269            void SetPathName(Base::CFLString<wchar_t> flsPathName);
 
  271            Base::CFLString<wchar_t> flsType;
 
  272            Base::CFLString<wchar_t> flsName;
 
  273            Base::CFLString<wchar_t> flsPathName;
 
  274            Base::CFLString<wchar_t> flsPathNameType;
 
  276            Base::CFLString<wchar_t> flsDynamicType;
 
  278            Base::CFLString<wchar_t> flsDescription;
 
  279            Base::CFLString<wchar_t> flsToolTip;
 
  281            bool bEffectImageFormat;
 
  283            EControlType eControl;
 
  284            Base::CFLArray<Base::CFLString<wchar_t>> flaAdditionalData;
 
  288        SRegisterParameterInfo;
 
  290        enum EFigureOutputMode
 
  292            EFigureOutputMode_None = 0,
 
  293            EFigureOutputMode_Object,
 
  294            EFigureOutputMode_Drawing,
 
  297        typedef struct sLinkConnectedItem
 
  299            sLinkConnectedItem();
 
  301            CGUIViewSNAPObjectNodeIOItem* pItem;
 
  302            CGUIViewSNAPObjectLink* pLink;
 
  306        typedef struct sIOConnectedInfo
 
  310            SRegisterParameterInfo* pOutput;
 
  311            SRegisterParameterInfo* pInput;
 
  315        typedef struct sIOConstructInfo
 
  319            Base::CFLString<wchar_t> flsType;
 
  320            Base::CFLString<wchar_t> flsName;
 
  322            SRegisterParameterInfo* pParamInfo;
 
  324            std::vector<sIOConstructInfo> vctChildren;
 
  328        typedef struct sIOCodeInfo
 
  330            Base::CFLString<wchar_t> flsIOName;
 
  331            Base::CFLString<wchar_t> flsCode;
 
  337            EInterruptType_None = 0,
 
  338            EInterruptType_Start,
 
  339            EInterruptType_Pause,
 
  340            EInterruptType_Resume,
 
  342            EInterruptType_ErrorPause,
 
  343            EInterruptType_ErrorContinue,
 
  344            EInterruptType_Timer,
 
Definition D2DObject.h:12