1#[repr(C)]
4#[derive(Debug, Copy, Clone)]
5pub struct ImGuiContext {
6 _unused: [u8; 0],
7}
8#[repr(C)]
9#[derive(Debug, Copy, Clone)]
10pub struct ImVec2 {
11 pub x: f32,
12 pub y: f32,
13}
14#[allow(clippy::unnecessary_operation, clippy::identity_op)]
15const _: () = {
16 ["Size of ImVec2"][::std::mem::size_of::<ImVec2>() - 8usize];
17 ["Alignment of ImVec2"][::std::mem::align_of::<ImVec2>() - 4usize];
18 ["Offset of field: ImVec2::x"][::std::mem::offset_of!(ImVec2, x) - 0usize];
19 ["Offset of field: ImVec2::y"][::std::mem::offset_of!(ImVec2, y) - 4usize];
20};
21#[repr(C)]
22#[derive(Debug, Copy, Clone)]
23pub struct ImNodesContext {
24 _unused: [u8; 0],
25}
26#[repr(C)]
27#[derive(Debug, Copy, Clone)]
28pub struct ImNodesEditorContext {
29 _unused: [u8; 0],
30}
31pub type ImNodesCol = ::std::os::raw::c_int;
32pub type ImNodesStyleVar = ::std::os::raw::c_int;
33pub type ImNodesStyleFlags = ::std::os::raw::c_int;
34pub type ImNodesPinShape = ::std::os::raw::c_int;
35pub type ImNodesAttributeFlags = ::std::os::raw::c_int;
36pub type ImNodesMiniMapLocation = ::std::os::raw::c_int;
37pub const ImNodesCol__ImNodesCol_NodeBackground: ImNodesCol_ = 0;
38pub const ImNodesCol__ImNodesCol_NodeBackgroundHovered: ImNodesCol_ = 1;
39pub const ImNodesCol__ImNodesCol_NodeBackgroundSelected: ImNodesCol_ = 2;
40pub const ImNodesCol__ImNodesCol_NodeOutline: ImNodesCol_ = 3;
41pub const ImNodesCol__ImNodesCol_TitleBar: ImNodesCol_ = 4;
42pub const ImNodesCol__ImNodesCol_TitleBarHovered: ImNodesCol_ = 5;
43pub const ImNodesCol__ImNodesCol_TitleBarSelected: ImNodesCol_ = 6;
44pub const ImNodesCol__ImNodesCol_Link: ImNodesCol_ = 7;
45pub const ImNodesCol__ImNodesCol_LinkHovered: ImNodesCol_ = 8;
46pub const ImNodesCol__ImNodesCol_LinkSelected: ImNodesCol_ = 9;
47pub const ImNodesCol__ImNodesCol_Pin: ImNodesCol_ = 10;
48pub const ImNodesCol__ImNodesCol_PinHovered: ImNodesCol_ = 11;
49pub const ImNodesCol__ImNodesCol_BoxSelector: ImNodesCol_ = 12;
50pub const ImNodesCol__ImNodesCol_BoxSelectorOutline: ImNodesCol_ = 13;
51pub const ImNodesCol__ImNodesCol_GridBackground: ImNodesCol_ = 14;
52pub const ImNodesCol__ImNodesCol_GridLine: ImNodesCol_ = 15;
53pub const ImNodesCol__ImNodesCol_GridLinePrimary: ImNodesCol_ = 16;
54pub const ImNodesCol__ImNodesCol_MiniMapBackground: ImNodesCol_ = 17;
55pub const ImNodesCol__ImNodesCol_MiniMapBackgroundHovered: ImNodesCol_ = 18;
56pub const ImNodesCol__ImNodesCol_MiniMapOutline: ImNodesCol_ = 19;
57pub const ImNodesCol__ImNodesCol_MiniMapOutlineHovered: ImNodesCol_ = 20;
58pub const ImNodesCol__ImNodesCol_MiniMapNodeBackground: ImNodesCol_ = 21;
59pub const ImNodesCol__ImNodesCol_MiniMapNodeBackgroundHovered: ImNodesCol_ = 22;
60pub const ImNodesCol__ImNodesCol_MiniMapNodeBackgroundSelected: ImNodesCol_ = 23;
61pub const ImNodesCol__ImNodesCol_MiniMapNodeOutline: ImNodesCol_ = 24;
62pub const ImNodesCol__ImNodesCol_MiniMapLink: ImNodesCol_ = 25;
63pub const ImNodesCol__ImNodesCol_MiniMapLinkSelected: ImNodesCol_ = 26;
64pub const ImNodesCol__ImNodesCol_MiniMapCanvas: ImNodesCol_ = 27;
65pub const ImNodesCol__ImNodesCol_MiniMapCanvasOutline: ImNodesCol_ = 28;
66pub const ImNodesCol__ImNodesCol_COUNT: ImNodesCol_ = 29;
67pub type ImNodesCol_ = ::std::os::raw::c_uint;
68pub const ImNodesStyleVar__ImNodesStyleVar_GridSpacing: ImNodesStyleVar_ = 0;
69pub const ImNodesStyleVar__ImNodesStyleVar_NodeCornerRounding: ImNodesStyleVar_ = 1;
70pub const ImNodesStyleVar__ImNodesStyleVar_NodePadding: ImNodesStyleVar_ = 2;
71pub const ImNodesStyleVar__ImNodesStyleVar_NodeBorderThickness: ImNodesStyleVar_ = 3;
72pub const ImNodesStyleVar__ImNodesStyleVar_LinkThickness: ImNodesStyleVar_ = 4;
73pub const ImNodesStyleVar__ImNodesStyleVar_LinkLineSegmentsPerLength: ImNodesStyleVar_ = 5;
74pub const ImNodesStyleVar__ImNodesStyleVar_LinkHoverDistance: ImNodesStyleVar_ = 6;
75pub const ImNodesStyleVar__ImNodesStyleVar_PinCircleRadius: ImNodesStyleVar_ = 7;
76pub const ImNodesStyleVar__ImNodesStyleVar_PinQuadSideLength: ImNodesStyleVar_ = 8;
77pub const ImNodesStyleVar__ImNodesStyleVar_PinTriangleSideLength: ImNodesStyleVar_ = 9;
78pub const ImNodesStyleVar__ImNodesStyleVar_PinLineThickness: ImNodesStyleVar_ = 10;
79pub const ImNodesStyleVar__ImNodesStyleVar_PinHoverRadius: ImNodesStyleVar_ = 11;
80pub const ImNodesStyleVar__ImNodesStyleVar_PinOffset: ImNodesStyleVar_ = 12;
81pub const ImNodesStyleVar__ImNodesStyleVar_MiniMapPadding: ImNodesStyleVar_ = 13;
82pub const ImNodesStyleVar__ImNodesStyleVar_MiniMapOffset: ImNodesStyleVar_ = 14;
83pub const ImNodesStyleVar__ImNodesStyleVar_COUNT: ImNodesStyleVar_ = 15;
84pub type ImNodesStyleVar_ = ::std::os::raw::c_uint;
85pub const ImNodesStyleFlags__ImNodesStyleFlags_None: ImNodesStyleFlags_ = 0;
86pub const ImNodesStyleFlags__ImNodesStyleFlags_NodeOutline: ImNodesStyleFlags_ = 1;
87pub const ImNodesStyleFlags__ImNodesStyleFlags_GridLines: ImNodesStyleFlags_ = 4;
88pub const ImNodesStyleFlags__ImNodesStyleFlags_GridLinesPrimary: ImNodesStyleFlags_ = 8;
89pub const ImNodesStyleFlags__ImNodesStyleFlags_GridSnapping: ImNodesStyleFlags_ = 16;
90pub type ImNodesStyleFlags_ = ::std::os::raw::c_uint;
91pub const ImNodesPinShape__ImNodesPinShape_Circle: ImNodesPinShape_ = 0;
92pub const ImNodesPinShape__ImNodesPinShape_CircleFilled: ImNodesPinShape_ = 1;
93pub const ImNodesPinShape__ImNodesPinShape_Triangle: ImNodesPinShape_ = 2;
94pub const ImNodesPinShape__ImNodesPinShape_TriangleFilled: ImNodesPinShape_ = 3;
95pub const ImNodesPinShape__ImNodesPinShape_Quad: ImNodesPinShape_ = 4;
96pub const ImNodesPinShape__ImNodesPinShape_QuadFilled: ImNodesPinShape_ = 5;
97pub type ImNodesPinShape_ = ::std::os::raw::c_uint;
98pub const ImNodesAttributeFlags__ImNodesAttributeFlags_None: ImNodesAttributeFlags_ = 0;
99pub const ImNodesAttributeFlags__ImNodesAttributeFlags_EnableLinkDetachWithDragClick:
100 ImNodesAttributeFlags_ = 1;
101pub const ImNodesAttributeFlags__ImNodesAttributeFlags_EnableLinkCreationOnSnap:
102 ImNodesAttributeFlags_ = 2;
103pub type ImNodesAttributeFlags_ = ::std::os::raw::c_uint;
104#[repr(C)]
105#[derive(Debug, Copy, Clone)]
106pub struct EmulateThreeButtonMouse {
107 pub Modifier: *const bool,
108}
109#[allow(clippy::unnecessary_operation, clippy::identity_op)]
110const _: () = {
111 ["Size of EmulateThreeButtonMouse"][::std::mem::size_of::<EmulateThreeButtonMouse>() - 8usize];
112 ["Alignment of EmulateThreeButtonMouse"]
113 [::std::mem::align_of::<EmulateThreeButtonMouse>() - 8usize];
114 ["Offset of field: EmulateThreeButtonMouse::Modifier"]
115 [::std::mem::offset_of!(EmulateThreeButtonMouse, Modifier) - 0usize];
116};
117#[repr(C)]
118#[derive(Debug, Copy, Clone)]
119pub struct LinkDetachWithModifierClick {
120 pub Modifier: *const bool,
121}
122#[allow(clippy::unnecessary_operation, clippy::identity_op)]
123const _: () = {
124 ["Size of LinkDetachWithModifierClick"]
125 [::std::mem::size_of::<LinkDetachWithModifierClick>() - 8usize];
126 ["Alignment of LinkDetachWithModifierClick"]
127 [::std::mem::align_of::<LinkDetachWithModifierClick>() - 8usize];
128 ["Offset of field: LinkDetachWithModifierClick::Modifier"]
129 [::std::mem::offset_of!(LinkDetachWithModifierClick, Modifier) - 0usize];
130};
131#[repr(C)]
132#[derive(Debug, Copy, Clone)]
133pub struct MultipleSelectModifier {
134 pub Modifier: *const bool,
135}
136#[allow(clippy::unnecessary_operation, clippy::identity_op)]
137const _: () = {
138 ["Size of MultipleSelectModifier"][::std::mem::size_of::<MultipleSelectModifier>() - 8usize];
139 ["Alignment of MultipleSelectModifier"]
140 [::std::mem::align_of::<MultipleSelectModifier>() - 8usize];
141 ["Offset of field: MultipleSelectModifier::Modifier"]
142 [::std::mem::offset_of!(MultipleSelectModifier, Modifier) - 0usize];
143};
144#[repr(C)]
145#[derive(Debug, Copy, Clone)]
146pub struct ImNodesIO {
147 pub EmulateThreeButtonMouse: EmulateThreeButtonMouse,
148 pub LinkDetachWithModifierClick: LinkDetachWithModifierClick,
149 pub MultipleSelectModifier: MultipleSelectModifier,
150 pub AltMouseButton: ::std::os::raw::c_int,
151 pub AutoPanningSpeed: f32,
152}
153#[allow(clippy::unnecessary_operation, clippy::identity_op)]
154const _: () = {
155 ["Size of ImNodesIO"][::std::mem::size_of::<ImNodesIO>() - 32usize];
156 ["Alignment of ImNodesIO"][::std::mem::align_of::<ImNodesIO>() - 8usize];
157 ["Offset of field: ImNodesIO::EmulateThreeButtonMouse"]
158 [::std::mem::offset_of!(ImNodesIO, EmulateThreeButtonMouse) - 0usize];
159 ["Offset of field: ImNodesIO::LinkDetachWithModifierClick"]
160 [::std::mem::offset_of!(ImNodesIO, LinkDetachWithModifierClick) - 8usize];
161 ["Offset of field: ImNodesIO::MultipleSelectModifier"]
162 [::std::mem::offset_of!(ImNodesIO, MultipleSelectModifier) - 16usize];
163 ["Offset of field: ImNodesIO::AltMouseButton"]
164 [::std::mem::offset_of!(ImNodesIO, AltMouseButton) - 24usize];
165 ["Offset of field: ImNodesIO::AutoPanningSpeed"]
166 [::std::mem::offset_of!(ImNodesIO, AutoPanningSpeed) - 28usize];
167};
168#[repr(C)]
169#[derive(Debug, Copy, Clone)]
170pub struct ImNodesStyle {
171 pub GridSpacing: f32,
172 pub NodeCornerRounding: f32,
173 pub NodePadding: ImVec2,
174 pub NodeBorderThickness: f32,
175 pub LinkThickness: f32,
176 pub LinkLineSegmentsPerLength: f32,
177 pub LinkHoverDistance: f32,
178 pub PinCircleRadius: f32,
179 pub PinQuadSideLength: f32,
180 pub PinTriangleSideLength: f32,
181 pub PinLineThickness: f32,
182 pub PinHoverRadius: f32,
183 pub PinOffset: f32,
184 pub MiniMapPadding: ImVec2,
185 pub MiniMapOffset: ImVec2,
186 pub Flags: ImNodesStyleFlags,
187 pub Colors: [::std::os::raw::c_uint; 29usize],
188}
189#[allow(clippy::unnecessary_operation, clippy::identity_op)]
190const _: () = {
191 ["Size of ImNodesStyle"][::std::mem::size_of::<ImNodesStyle>() - 192usize];
192 ["Alignment of ImNodesStyle"][::std::mem::align_of::<ImNodesStyle>() - 4usize];
193 ["Offset of field: ImNodesStyle::GridSpacing"]
194 [::std::mem::offset_of!(ImNodesStyle, GridSpacing) - 0usize];
195 ["Offset of field: ImNodesStyle::NodeCornerRounding"]
196 [::std::mem::offset_of!(ImNodesStyle, NodeCornerRounding) - 4usize];
197 ["Offset of field: ImNodesStyle::NodePadding"]
198 [::std::mem::offset_of!(ImNodesStyle, NodePadding) - 8usize];
199 ["Offset of field: ImNodesStyle::NodeBorderThickness"]
200 [::std::mem::offset_of!(ImNodesStyle, NodeBorderThickness) - 16usize];
201 ["Offset of field: ImNodesStyle::LinkThickness"]
202 [::std::mem::offset_of!(ImNodesStyle, LinkThickness) - 20usize];
203 ["Offset of field: ImNodesStyle::LinkLineSegmentsPerLength"]
204 [::std::mem::offset_of!(ImNodesStyle, LinkLineSegmentsPerLength) - 24usize];
205 ["Offset of field: ImNodesStyle::LinkHoverDistance"]
206 [::std::mem::offset_of!(ImNodesStyle, LinkHoverDistance) - 28usize];
207 ["Offset of field: ImNodesStyle::PinCircleRadius"]
208 [::std::mem::offset_of!(ImNodesStyle, PinCircleRadius) - 32usize];
209 ["Offset of field: ImNodesStyle::PinQuadSideLength"]
210 [::std::mem::offset_of!(ImNodesStyle, PinQuadSideLength) - 36usize];
211 ["Offset of field: ImNodesStyle::PinTriangleSideLength"]
212 [::std::mem::offset_of!(ImNodesStyle, PinTriangleSideLength) - 40usize];
213 ["Offset of field: ImNodesStyle::PinLineThickness"]
214 [::std::mem::offset_of!(ImNodesStyle, PinLineThickness) - 44usize];
215 ["Offset of field: ImNodesStyle::PinHoverRadius"]
216 [::std::mem::offset_of!(ImNodesStyle, PinHoverRadius) - 48usize];
217 ["Offset of field: ImNodesStyle::PinOffset"]
218 [::std::mem::offset_of!(ImNodesStyle, PinOffset) - 52usize];
219 ["Offset of field: ImNodesStyle::MiniMapPadding"]
220 [::std::mem::offset_of!(ImNodesStyle, MiniMapPadding) - 56usize];
221 ["Offset of field: ImNodesStyle::MiniMapOffset"]
222 [::std::mem::offset_of!(ImNodesStyle, MiniMapOffset) - 64usize];
223 ["Offset of field: ImNodesStyle::Flags"][::std::mem::offset_of!(ImNodesStyle, Flags) - 72usize];
224 ["Offset of field: ImNodesStyle::Colors"]
225 [::std::mem::offset_of!(ImNodesStyle, Colors) - 76usize];
226};
227pub const ImNodesMiniMapLocation__ImNodesMiniMapLocation_BottomLeft: ImNodesMiniMapLocation_ = 0;
228pub const ImNodesMiniMapLocation__ImNodesMiniMapLocation_BottomRight: ImNodesMiniMapLocation_ = 1;
229pub const ImNodesMiniMapLocation__ImNodesMiniMapLocation_TopLeft: ImNodesMiniMapLocation_ = 2;
230pub const ImNodesMiniMapLocation__ImNodesMiniMapLocation_TopRight: ImNodesMiniMapLocation_ = 3;
231pub type ImNodesMiniMapLocation_ = ::std::os::raw::c_uint;
232pub type ImNodesMiniMapNodeHoveringCallback = ::std::option::Option<
233 unsafe extern "C" fn(arg1: ::std::os::raw::c_int, arg2: *mut ::std::os::raw::c_void),
234>;
235pub type ImNodesMiniMapNodeHoveringCallbackUserData = *mut ::std::os::raw::c_void;
236unsafe extern "C" {
237 pub fn ImNodesIO_ImNodesIO() -> *mut ImNodesIO;
238}
239unsafe extern "C" {
240 pub fn ImNodesIO_destroy(self_: *mut ImNodesIO);
241}
242unsafe extern "C" {
243 pub fn ImNodesStyle_ImNodesStyle() -> *mut ImNodesStyle;
244}
245unsafe extern "C" {
246 pub fn ImNodesStyle_destroy(self_: *mut ImNodesStyle);
247}
248unsafe extern "C" {
249 pub fn imnodes_SetImGuiContext(ctx: *mut ImGuiContext);
250}
251unsafe extern "C" {
252 pub fn imnodes_CreateContext() -> *mut ImNodesContext;
253}
254unsafe extern "C" {
255 pub fn imnodes_DestroyContext(ctx: *mut ImNodesContext);
256}
257unsafe extern "C" {
258 pub fn imnodes_GetCurrentContext() -> *mut ImNodesContext;
259}
260unsafe extern "C" {
261 pub fn imnodes_SetCurrentContext(ctx: *mut ImNodesContext);
262}
263unsafe extern "C" {
264 pub fn imnodes_EditorContextCreate() -> *mut ImNodesEditorContext;
265}
266unsafe extern "C" {
267 pub fn imnodes_EditorContextFree(noname1: *mut ImNodesEditorContext);
268}
269unsafe extern "C" {
270 pub fn imnodes_EditorContextSet(noname1: *mut ImNodesEditorContext);
271}
272unsafe extern "C" {
273 pub fn imnodes_EditorContextGetPanning(pOut: *mut ImVec2);
274}
275unsafe extern "C" {
276 pub fn imnodes_EditorContextResetPanning(pos: ImVec2);
277}
278unsafe extern "C" {
279 pub fn imnodes_EditorContextMoveToNode(node_id: ::std::os::raw::c_int);
280}
281unsafe extern "C" {
282 pub fn imnodes_GetIO() -> *mut ImNodesIO;
283}
284unsafe extern "C" {
285 pub fn imnodes_GetStyle() -> *mut ImNodesStyle;
286}
287unsafe extern "C" {
288 pub fn imnodes_StyleColorsDark(dest: *mut ImNodesStyle);
289}
290unsafe extern "C" {
291 pub fn imnodes_StyleColorsClassic(dest: *mut ImNodesStyle);
292}
293unsafe extern "C" {
294 pub fn imnodes_StyleColorsLight(dest: *mut ImNodesStyle);
295}
296unsafe extern "C" {
297 pub fn imnodes_BeginNodeEditor();
298}
299unsafe extern "C" {
300 pub fn imnodes_EndNodeEditor();
301}
302unsafe extern "C" {
303 pub fn imnodes_MiniMap(
304 minimap_size_fraction: f32,
305 location: ImNodesMiniMapLocation,
306 node_hovering_callback: ImNodesMiniMapNodeHoveringCallback,
307 node_hovering_callback_data: ImNodesMiniMapNodeHoveringCallbackUserData,
308 );
309}
310unsafe extern "C" {
311 pub fn imnodes_PushColorStyle(item: ImNodesCol, color: ::std::os::raw::c_uint);
312}
313unsafe extern "C" {
314 pub fn imnodes_PopColorStyle();
315}
316unsafe extern "C" {
317 pub fn imnodes_PushStyleVar_Float(style_item: ImNodesStyleVar, value: f32);
318}
319unsafe extern "C" {
320 pub fn imnodes_PushStyleVar_Vec2(style_item: ImNodesStyleVar, value: ImVec2);
321}
322unsafe extern "C" {
323 pub fn imnodes_PopStyleVar(count: ::std::os::raw::c_int);
324}
325unsafe extern "C" {
326 pub fn imnodes_BeginNode(id: ::std::os::raw::c_int);
327}
328unsafe extern "C" {
329 pub fn imnodes_EndNode();
330}
331unsafe extern "C" {
332 pub fn imnodes_GetNodeDimensions(pOut: *mut ImVec2, id: ::std::os::raw::c_int);
333}
334unsafe extern "C" {
335 pub fn imnodes_BeginNodeTitleBar();
336}
337unsafe extern "C" {
338 pub fn imnodes_EndNodeTitleBar();
339}
340unsafe extern "C" {
341 pub fn imnodes_BeginInputAttribute(id: ::std::os::raw::c_int, shape: ImNodesPinShape);
342}
343unsafe extern "C" {
344 pub fn imnodes_EndInputAttribute();
345}
346unsafe extern "C" {
347 pub fn imnodes_BeginOutputAttribute(id: ::std::os::raw::c_int, shape: ImNodesPinShape);
348}
349unsafe extern "C" {
350 pub fn imnodes_EndOutputAttribute();
351}
352unsafe extern "C" {
353 pub fn imnodes_BeginStaticAttribute(id: ::std::os::raw::c_int);
354}
355unsafe extern "C" {
356 pub fn imnodes_EndStaticAttribute();
357}
358unsafe extern "C" {
359 pub fn imnodes_PushAttributeFlag(flag: ImNodesAttributeFlags);
360}
361unsafe extern "C" {
362 pub fn imnodes_PopAttributeFlag();
363}
364unsafe extern "C" {
365 pub fn imnodes_Link(
366 id: ::std::os::raw::c_int,
367 start_attribute_id: ::std::os::raw::c_int,
368 end_attribute_id: ::std::os::raw::c_int,
369 );
370}
371unsafe extern "C" {
372 pub fn imnodes_SetNodeDraggable(node_id: ::std::os::raw::c_int, draggable: bool);
373}
374unsafe extern "C" {
375 pub fn imnodes_SetNodeScreenSpacePos(node_id: ::std::os::raw::c_int, screen_space_pos: ImVec2);
376}
377unsafe extern "C" {
378 pub fn imnodes_SetNodeEditorSpacePos(node_id: ::std::os::raw::c_int, editor_space_pos: ImVec2);
379}
380unsafe extern "C" {
381 pub fn imnodes_SetNodeGridSpacePos(node_id: ::std::os::raw::c_int, grid_pos: ImVec2);
382}
383unsafe extern "C" {
384 pub fn imnodes_GetNodeScreenSpacePos(pOut: *mut ImVec2, node_id: ::std::os::raw::c_int);
385}
386unsafe extern "C" {
387 pub fn imnodes_GetNodeEditorSpacePos(pOut: *mut ImVec2, node_id: ::std::os::raw::c_int);
388}
389unsafe extern "C" {
390 pub fn imnodes_GetNodeGridSpacePos(pOut: *mut ImVec2, node_id: ::std::os::raw::c_int);
391}
392unsafe extern "C" {
393 pub fn imnodes_SnapNodeToGrid(node_id: ::std::os::raw::c_int);
394}
395unsafe extern "C" {
396 pub fn imnodes_IsEditorHovered() -> bool;
397}
398unsafe extern "C" {
399 pub fn imnodes_IsNodeHovered(node_id: *mut ::std::os::raw::c_int) -> bool;
400}
401unsafe extern "C" {
402 pub fn imnodes_IsLinkHovered(link_id: *mut ::std::os::raw::c_int) -> bool;
403}
404unsafe extern "C" {
405 pub fn imnodes_IsPinHovered(attribute_id: *mut ::std::os::raw::c_int) -> bool;
406}
407unsafe extern "C" {
408 pub fn imnodes_NumSelectedNodes() -> ::std::os::raw::c_int;
409}
410unsafe extern "C" {
411 pub fn imnodes_NumSelectedLinks() -> ::std::os::raw::c_int;
412}
413unsafe extern "C" {
414 pub fn imnodes_GetSelectedNodes(node_ids: *mut ::std::os::raw::c_int);
415}
416unsafe extern "C" {
417 pub fn imnodes_GetSelectedLinks(link_ids: *mut ::std::os::raw::c_int);
418}
419unsafe extern "C" {
420 pub fn imnodes_ClearNodeSelection_Nil();
421}
422unsafe extern "C" {
423 pub fn imnodes_ClearLinkSelection_Nil();
424}
425unsafe extern "C" {
426 pub fn imnodes_SelectNode(node_id: ::std::os::raw::c_int);
427}
428unsafe extern "C" {
429 pub fn imnodes_ClearNodeSelection_Int(node_id: ::std::os::raw::c_int);
430}
431unsafe extern "C" {
432 pub fn imnodes_IsNodeSelected(node_id: ::std::os::raw::c_int) -> bool;
433}
434unsafe extern "C" {
435 pub fn imnodes_SelectLink(link_id: ::std::os::raw::c_int);
436}
437unsafe extern "C" {
438 pub fn imnodes_ClearLinkSelection_Int(link_id: ::std::os::raw::c_int);
439}
440unsafe extern "C" {
441 pub fn imnodes_IsLinkSelected(link_id: ::std::os::raw::c_int) -> bool;
442}
443unsafe extern "C" {
444 pub fn imnodes_IsAttributeActive() -> bool;
445}
446unsafe extern "C" {
447 pub fn imnodes_IsAnyAttributeActive(attribute_id: *mut ::std::os::raw::c_int) -> bool;
448}
449unsafe extern "C" {
450 pub fn imnodes_IsLinkStarted(started_at_attribute_id: *mut ::std::os::raw::c_int) -> bool;
451}
452unsafe extern "C" {
453 pub fn imnodes_IsLinkDropped(
454 started_at_attribute_id: *mut ::std::os::raw::c_int,
455 including_detached_links: bool,
456 ) -> bool;
457}
458unsafe extern "C" {
459 pub fn imnodes_IsLinkCreated_BoolPtr(
460 started_at_attribute_id: *mut ::std::os::raw::c_int,
461 ended_at_attribute_id: *mut ::std::os::raw::c_int,
462 created_from_snap: *mut bool,
463 ) -> bool;
464}
465unsafe extern "C" {
466 pub fn imnodes_IsLinkCreated_IntPtr(
467 started_at_node_id: *mut ::std::os::raw::c_int,
468 started_at_attribute_id: *mut ::std::os::raw::c_int,
469 ended_at_node_id: *mut ::std::os::raw::c_int,
470 ended_at_attribute_id: *mut ::std::os::raw::c_int,
471 created_from_snap: *mut bool,
472 ) -> bool;
473}
474unsafe extern "C" {
475 pub fn imnodes_IsLinkDestroyed(link_id: *mut ::std::os::raw::c_int) -> bool;
476}
477unsafe extern "C" {
478 pub fn imnodes_SaveCurrentEditorStateToIniString(
479 data_size: *mut usize,
480 ) -> *const ::std::os::raw::c_char;
481}
482unsafe extern "C" {
483 pub fn imnodes_SaveEditorStateToIniString(
484 editor: *const ImNodesEditorContext,
485 data_size: *mut usize,
486 ) -> *const ::std::os::raw::c_char;
487}
488unsafe extern "C" {
489 pub fn imnodes_LoadCurrentEditorStateFromIniString(
490 data: *const ::std::os::raw::c_char,
491 data_size: usize,
492 );
493}
494unsafe extern "C" {
495 pub fn imnodes_LoadEditorStateFromIniString(
496 editor: *mut ImNodesEditorContext,
497 data: *const ::std::os::raw::c_char,
498 data_size: usize,
499 );
500}
501unsafe extern "C" {
502 pub fn imnodes_SaveCurrentEditorStateToIniFile(file_name: *const ::std::os::raw::c_char);
503}
504unsafe extern "C" {
505 pub fn imnodes_SaveEditorStateToIniFile(
506 editor: *const ImNodesEditorContext,
507 file_name: *const ::std::os::raw::c_char,
508 );
509}
510unsafe extern "C" {
511 pub fn imnodes_LoadCurrentEditorStateFromIniFile(file_name: *const ::std::os::raw::c_char);
512}
513unsafe extern "C" {
514 pub fn imnodes_LoadEditorStateFromIniFile(
515 editor: *mut ImNodesEditorContext,
516 file_name: *const ::std::os::raw::c_char,
517 );
518}