-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathcimnodes_r.h
151 lines (139 loc) · 5.18 KB
/
cimnodes_r.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
//This file is automatically generated by generator.lua from https://github.com/cimgui/cimnodes_r
//based on ImNodes.h file version XXX from https://github.com/rokups/ImNodes
#ifndef CIMNODESR_INCLUDED
#define CIMNODESR_INCLUDED
#include "cimgui.h"
#ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
typedef struct _CanvasStateImpl _CanvasStateImpl;
typedef struct Context Context;
typedef enum {
ColCanvasLines,
ColNodeBg,
ColNodeActiveBg,
ColNodeBorder,
ColConnection,
ColConnectionActive,
ColSelectBg,
ColSelectBorder,
ColMax
}StyleColor;
struct _CanvasStateImpl;
typedef struct CanvasState CanvasState;
struct CanvasStyle
{
float CurveThickness;
float ConnectionIndent;
float GridSpacing;
float CurveStrength;
float NodeRounding;
ImVec2 NodeSpacing;
};
typedef struct CanvasStyle CanvasStyle;
struct CanvasState
{
float Zoom;
ImVec2 Offset;
ImColor Colors[ColMax];
CanvasStyle Style;
_CanvasStateImpl* _Impl;
};
typedef struct CanvasStyle CanvasStyle;
typedef enum {
ImNodesStyleVar_GridSpacing_r,
ImNodesStyleVar_CurveThickness,
ImNodesStyleVar_CurveStrength,
ImNodesStyleVar_SlotRadius,
ImNodesStyleVar_NodeRounding,
ImNodesStyleVar_NodeSpacing,
ImNodesStyleVar_ItemSpacing,
ImNodesStyleVar_COUNT_r,
}ImNodesStyleVar;
typedef enum {
ImNodesStyleCol_GridLines,
ImNodesStyleCol_NodeBodyBg,
ImNodesStyleCol_NodeBodyBgHovered,
ImNodesStyleCol_NodeBodyBgActive,
ImNodesStyleCol_NodeBorder,
ImNodesStyleCol_Connection,
ImNodesStyleCol_ConnectionActive,
ImNodesStyleCol_SelectBg,
ImNodesStyleCol_SelectBorder,
ImNodesStyleCol_NodeTitleBarBg,
ImNodesStyleCol_NodeTitleBarBgHovered,
ImNodesStyleCol_NodeTitleBarBgActive,
ImNodesStyleCol_COUNT,
}ImNodesStyleCol;
typedef struct SlotInfo SlotInfo;
struct SlotInfo
{
const char* title;
int kind;
};
typedef struct StyleVars StyleVars;
struct StyleVars
{
float SlotRadius;
ImVec2 ItemSpacing;
struct
{
ImVec4 NodeBodyBg;
ImVec4 NodeBodyBgHovered;
ImVec4 NodeBodyBgActive;
ImVec4 NodeBorder;
ImVec4 NodeTitleBarBg;
ImVec4 NodeTitleBarBgHovered;
ImVec4 NodeTitleBarBgActive;
} Colors;
};
struct Context;
#else
#endif // CIMGUI_DEFINE_ENUMS_AND_STRUCTS
#ifndef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
typedef ImNodes::CanvasState CanvasState;
typedef struct ImNodes::CanvasState::CanvasStyle CanvasStyle;
typedef ImNodes::Ez::Context Context;
typedef ImNodes::Ez::SlotInfo SlotInfo;
typedef ImNodes::Ez::StyleVars StyleVars;
typedef ImNodes::_CanvasStateImpl _CanvasStateImpl;
typedef ImNodes::StyleColor StyleColor;
#endif //CIMGUI_DEFINE_ENUMS_AND_STRUCTS
CIMGUI_API CanvasState* CanvasState_CanvasState(void);
CIMGUI_API void CanvasState_destroy(CanvasState* self);
CIMGUI_API void ImNodes_BeginCanvas(CanvasState* canvas);
CIMGUI_API void ImNodes_EndCanvas(void);
CIMGUI_API bool ImNodes_BeginNode(void* node_id,ImVec2* pos,bool* selected);
CIMGUI_API void ImNodes_EndNode(void);
CIMGUI_API bool ImNodes_IsNodeHovered(void);
CIMGUI_API void ImNodes_AutoPositionNode(void* node_id);
CIMGUI_API bool ImNodes_GetNewConnection(void** input_node,const char** input_slot_title,void** output_node,const char** output_slot_title);
CIMGUI_API bool ImNodes_GetPendingConnection(void** node_id,const char** slot_title,int* slot_kind);
CIMGUI_API bool ImNodes_Connection(void* input_node,const char* input_slot,void* output_node,const char* output_slot);
CIMGUI_API CanvasState* ImNodes_GetCurrentCanvas(void);
CIMGUI_API int ImNodes_InputSlotKind(int kind);
CIMGUI_API int ImNodes_OutputSlotKind(int kind);
CIMGUI_API bool ImNodes_IsInputSlotKind(int kind);
CIMGUI_API bool ImNodes_IsOutputSlotKind(int kind);
CIMGUI_API bool ImNodes_BeginSlot(const char* title,int kind);
CIMGUI_API bool ImNodes_BeginInputSlot(const char* title,int kind);
CIMGUI_API bool ImNodes_BeginOutputSlot(const char* title,int kind);
CIMGUI_API void ImNodes_EndSlot(void);
CIMGUI_API bool ImNodes_IsSlotCurveHovered(void);
CIMGUI_API bool ImNodes_IsConnectingCompatibleSlot(void);
CIMGUI_API Context* ImNodes_Ez_CreateContext(void);
CIMGUI_API void ImNodes_Ez_FreeContext(Context* ctx);
CIMGUI_API void ImNodes_Ez_SetContext(Context* ctx);
CIMGUI_API CanvasState* ImNodes_Ez_GetState(void);
CIMGUI_API void ImNodes_Ez_BeginCanvas(void);
CIMGUI_API void ImNodes_Ez_EndCanvas(void);
CIMGUI_API bool ImNodes_Ez_BeginNode(void* node_id,const char* title,ImVec2* pos,bool* selected);
CIMGUI_API void ImNodes_Ez_EndNode(void);
CIMGUI_API void ImNodes_Ez_InputSlots(const SlotInfo* slots,int snum);
CIMGUI_API void ImNodes_Ez_OutputSlots(const SlotInfo* slots,int snum);
CIMGUI_API bool ImNodes_Ez_Connection(void* input_node,const char* input_slot,void* output_node,const char* output_slot);
CIMGUI_API void ImNodes_Ez_PushStyleVar_Float(ImNodesStyleVar idx,float val);
CIMGUI_API void ImNodes_Ez_PushStyleVar_Vec2(ImNodesStyleVar idx,const ImVec2 val);
CIMGUI_API void ImNodes_Ez_PopStyleVar(int count);
CIMGUI_API void ImNodes_Ez_PushStyleColor_U32(ImNodesStyleCol idx,ImU32 col);
CIMGUI_API void ImNodes_Ez_PushStyleColor_Vec4(ImNodesStyleCol idx,const ImVec4 col);
CIMGUI_API void ImNodes_Ez_PopStyleColor(int count);
#endif //CIMNODESR_INCLUDED