dear-node-editor-sys 0.15.0

Low-level FFI bindings for imgui-node-editor via cimnodes_editor
Documentation
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
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
// AUTOGENERATED: pregenerated bindings for docs.rs/offline builds
// Note: inner attributes are intentionally omitted to avoid include-context errors.

/* automatically generated by rust-bindgen 0.72.1 */

#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DneEditorContext {
    _unused: [u8; 0],
}
pub const DNE_PIN_KIND_INPUT: DnePinKind = 0;
pub const DNE_PIN_KIND_OUTPUT: DnePinKind = 1;
pub type DnePinKind = ::std::os::raw::c_int;
pub const DNE_FLOW_FORWARD: DneFlowDirection = 0;
pub const DNE_FLOW_BACKWARD: DneFlowDirection = 1;
pub type DneFlowDirection = ::std::os::raw::c_int;
pub const DNE_CANVAS_SIZE_FIT_VERTICAL_VIEW: DneCanvasSizeMode = 0;
pub const DNE_CANVAS_SIZE_FIT_HORIZONTAL_VIEW: DneCanvasSizeMode = 1;
pub const DNE_CANVAS_SIZE_CENTER_ONLY: DneCanvasSizeMode = 2;
pub type DneCanvasSizeMode = ::std::os::raw::c_int;
pub const DNE_SAVE_REASON_NONE: DneSaveReasonFlags = 0;
pub const DNE_SAVE_REASON_NAVIGATION: DneSaveReasonFlags = 1;
pub const DNE_SAVE_REASON_POSITION: DneSaveReasonFlags = 2;
pub const DNE_SAVE_REASON_SIZE: DneSaveReasonFlags = 4;
pub const DNE_SAVE_REASON_SELECTION: DneSaveReasonFlags = 8;
pub const DNE_SAVE_REASON_ADD_NODE: DneSaveReasonFlags = 16;
pub const DNE_SAVE_REASON_REMOVE_NODE: DneSaveReasonFlags = 32;
pub const DNE_SAVE_REASON_USER: DneSaveReasonFlags = 64;
pub type DneSaveReasonFlags = ::std::os::raw::c_int;
pub const DNE_STYLE_COLOR_BG: DneStyleColor = 0;
pub const DNE_STYLE_COLOR_GRID: DneStyleColor = 1;
pub const DNE_STYLE_COLOR_NODE_BG: DneStyleColor = 2;
pub const DNE_STYLE_COLOR_NODE_BORDER: DneStyleColor = 3;
pub const DNE_STYLE_COLOR_HOVERED_NODE_BORDER: DneStyleColor = 4;
pub const DNE_STYLE_COLOR_SELECTED_NODE_BORDER: DneStyleColor = 5;
pub const DNE_STYLE_COLOR_NODE_SELECTION_RECT: DneStyleColor = 6;
pub const DNE_STYLE_COLOR_NODE_SELECTION_RECT_BORDER: DneStyleColor = 7;
pub const DNE_STYLE_COLOR_HOVERED_LINK_BORDER: DneStyleColor = 8;
pub const DNE_STYLE_COLOR_SELECTED_LINK_BORDER: DneStyleColor = 9;
pub const DNE_STYLE_COLOR_HIGHLIGHT_LINK_BORDER: DneStyleColor = 10;
pub const DNE_STYLE_COLOR_LINK_SELECTION_RECT: DneStyleColor = 11;
pub const DNE_STYLE_COLOR_LINK_SELECTION_RECT_BORDER: DneStyleColor = 12;
pub const DNE_STYLE_COLOR_PIN_RECT: DneStyleColor = 13;
pub const DNE_STYLE_COLOR_PIN_RECT_BORDER: DneStyleColor = 14;
pub const DNE_STYLE_COLOR_FLOW: DneStyleColor = 15;
pub const DNE_STYLE_COLOR_FLOW_MARKER: DneStyleColor = 16;
pub const DNE_STYLE_COLOR_GROUP_BG: DneStyleColor = 17;
pub const DNE_STYLE_COLOR_GROUP_BORDER: DneStyleColor = 18;
pub const DNE_STYLE_COLOR_COUNT: DneStyleColor = 19;
pub type DneStyleColor = ::std::os::raw::c_int;
pub const DNE_STYLE_VAR_NODE_PADDING: DneStyleVar = 0;
pub const DNE_STYLE_VAR_NODE_ROUNDING: DneStyleVar = 1;
pub const DNE_STYLE_VAR_NODE_BORDER_WIDTH: DneStyleVar = 2;
pub const DNE_STYLE_VAR_HOVERED_NODE_BORDER_WIDTH: DneStyleVar = 3;
pub const DNE_STYLE_VAR_SELECTED_NODE_BORDER_WIDTH: DneStyleVar = 4;
pub const DNE_STYLE_VAR_PIN_ROUNDING: DneStyleVar = 5;
pub const DNE_STYLE_VAR_PIN_BORDER_WIDTH: DneStyleVar = 6;
pub const DNE_STYLE_VAR_LINK_STRENGTH: DneStyleVar = 7;
pub const DNE_STYLE_VAR_SOURCE_DIRECTION: DneStyleVar = 8;
pub const DNE_STYLE_VAR_TARGET_DIRECTION: DneStyleVar = 9;
pub const DNE_STYLE_VAR_SCROLL_DURATION: DneStyleVar = 10;
pub const DNE_STYLE_VAR_FLOW_MARKER_DISTANCE: DneStyleVar = 11;
pub const DNE_STYLE_VAR_FLOW_SPEED: DneStyleVar = 12;
pub const DNE_STYLE_VAR_FLOW_DURATION: DneStyleVar = 13;
pub const DNE_STYLE_VAR_PIVOT_ALIGNMENT: DneStyleVar = 14;
pub const DNE_STYLE_VAR_PIVOT_SIZE: DneStyleVar = 15;
pub const DNE_STYLE_VAR_PIVOT_SCALE: DneStyleVar = 16;
pub const DNE_STYLE_VAR_PIN_CORNERS: DneStyleVar = 17;
pub const DNE_STYLE_VAR_PIN_RADIUS: DneStyleVar = 18;
pub const DNE_STYLE_VAR_PIN_ARROW_SIZE: DneStyleVar = 19;
pub const DNE_STYLE_VAR_PIN_ARROW_WIDTH: DneStyleVar = 20;
pub const DNE_STYLE_VAR_GROUP_ROUNDING: DneStyleVar = 21;
pub const DNE_STYLE_VAR_GROUP_BORDER_WIDTH: DneStyleVar = 22;
pub const DNE_STYLE_VAR_HIGHLIGHT_CONNECTED_LINKS: DneStyleVar = 23;
pub const DNE_STYLE_VAR_SNAP_LINK_TO_PIN_DIR: DneStyleVar = 24;
pub const DNE_STYLE_VAR_HOVERED_NODE_BORDER_OFFSET: DneStyleVar = 25;
pub const DNE_STYLE_VAR_SELECTED_NODE_BORDER_OFFSET: DneStyleVar = 26;
pub const DNE_STYLE_VAR_COUNT: DneStyleVar = 27;
pub type DneStyleVar = ::std::os::raw::c_int;
pub type DneConfigSession =
    ::std::option::Option<unsafe extern "C" fn(user_pointer: *mut ::std::os::raw::c_void)>;
pub type DneConfigSaveSettings = ::std::option::Option<
    unsafe extern "C" fn(
        data: *const ::std::os::raw::c_char,
        size: usize,
        reason: DneSaveReasonFlags,
        user_pointer: *mut ::std::os::raw::c_void,
    ) -> bool,
>;
pub type DneConfigLoadSettings = ::std::option::Option<
    unsafe extern "C" fn(
        data: *mut ::std::os::raw::c_char,
        user_pointer: *mut ::std::os::raw::c_void,
    ) -> usize,
>;
pub type DneConfigSaveNodeSettings = ::std::option::Option<
    unsafe extern "C" fn(
        node_id: usize,
        data: *const ::std::os::raw::c_char,
        size: usize,
        reason: DneSaveReasonFlags,
        user_pointer: *mut ::std::os::raw::c_void,
    ) -> bool,
>;
pub type DneConfigLoadNodeSettings = ::std::option::Option<
    unsafe extern "C" fn(
        node_id: usize,
        data: *mut ::std::os::raw::c_char,
        user_pointer: *mut ::std::os::raw::c_void,
    ) -> usize,
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DneConfig {
    pub settings_file: *const ::std::os::raw::c_char,
    pub begin_save_session: DneConfigSession,
    pub end_save_session: DneConfigSession,
    pub save_settings: DneConfigSaveSettings,
    pub load_settings: DneConfigLoadSettings,
    pub save_node_settings: DneConfigSaveNodeSettings,
    pub load_node_settings: DneConfigLoadNodeSettings,
    pub user_pointer: *mut ::std::os::raw::c_void,
    pub custom_zoom_levels: *const f32,
    pub custom_zoom_level_count: ::std::os::raw::c_int,
    pub canvas_size_mode: DneCanvasSizeMode,
    pub drag_button_index: ::std::os::raw::c_int,
    pub select_button_index: ::std::os::raw::c_int,
    pub navigate_button_index: ::std::os::raw::c_int,
    pub context_menu_button_index: ::std::os::raw::c_int,
    pub enable_smooth_zoom: bool,
    pub smooth_zoom_power: f32,
}
impl Default for DneConfig {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
unsafe extern "C" {
    pub fn dne_create_editor(config: *const DneConfig) -> *mut DneEditorContext;
}
unsafe extern "C" {
    pub fn dne_destroy_editor(ctx: *mut DneEditorContext);
}
unsafe extern "C" {
    pub fn dne_editor_context_raw(ctx: *mut DneEditorContext) -> *mut ::std::os::raw::c_void;
}
unsafe extern "C" {
    pub fn dne_get_current_editor_raw() -> *mut ::std::os::raw::c_void;
}
unsafe extern "C" {
    pub fn dne_set_current_editor_raw(ctx: *mut ::std::os::raw::c_void);
}
unsafe extern "C" {
    pub fn dne_set_current_editor(ctx: *mut DneEditorContext);
}
unsafe extern "C" {
    pub fn dne_get_style_color_name(color: DneStyleColor) -> *const ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn dne_push_style_color(color: DneStyleColor, value: ImVec4_c);
}
unsafe extern "C" {
    pub fn dne_pop_style_color(count: ::std::os::raw::c_int);
}
unsafe extern "C" {
    pub fn dne_push_style_var_float(var: DneStyleVar, value: f32);
}
unsafe extern "C" {
    pub fn dne_push_style_var_vec2(var: DneStyleVar, value: ImVec2_c);
}
unsafe extern "C" {
    pub fn dne_push_style_var_vec4(var: DneStyleVar, value: ImVec4_c);
}
unsafe extern "C" {
    pub fn dne_pop_style_var(count: ::std::os::raw::c_int);
}
unsafe extern "C" {
    pub fn dne_get_style_node_padding() -> ImVec4_c;
}
unsafe extern "C" {
    pub fn dne_set_style_node_padding(value: ImVec4_c);
}
unsafe extern "C" {
    pub fn dne_get_style_node_rounding() -> f32;
}
unsafe extern "C" {
    pub fn dne_set_style_node_rounding(value: f32);
}
unsafe extern "C" {
    pub fn dne_get_style_node_border_width() -> f32;
}
unsafe extern "C" {
    pub fn dne_set_style_node_border_width(value: f32);
}
unsafe extern "C" {
    pub fn dne_get_style_hovered_node_border_width() -> f32;
}
unsafe extern "C" {
    pub fn dne_set_style_hovered_node_border_width(value: f32);
}
unsafe extern "C" {
    pub fn dne_get_style_hovered_node_border_offset() -> f32;
}
unsafe extern "C" {
    pub fn dne_set_style_hovered_node_border_offset(value: f32);
}
unsafe extern "C" {
    pub fn dne_get_style_selected_node_border_width() -> f32;
}
unsafe extern "C" {
    pub fn dne_set_style_selected_node_border_width(value: f32);
}
unsafe extern "C" {
    pub fn dne_get_style_selected_node_border_offset() -> f32;
}
unsafe extern "C" {
    pub fn dne_set_style_selected_node_border_offset(value: f32);
}
unsafe extern "C" {
    pub fn dne_get_style_pin_rounding() -> f32;
}
unsafe extern "C" {
    pub fn dne_set_style_pin_rounding(value: f32);
}
unsafe extern "C" {
    pub fn dne_get_style_pin_border_width() -> f32;
}
unsafe extern "C" {
    pub fn dne_set_style_pin_border_width(value: f32);
}
unsafe extern "C" {
    pub fn dne_get_style_link_strength() -> f32;
}
unsafe extern "C" {
    pub fn dne_set_style_link_strength(value: f32);
}
unsafe extern "C" {
    pub fn dne_get_style_source_direction() -> ImVec2_c;
}
unsafe extern "C" {
    pub fn dne_set_style_source_direction(value: ImVec2_c);
}
unsafe extern "C" {
    pub fn dne_get_style_target_direction() -> ImVec2_c;
}
unsafe extern "C" {
    pub fn dne_set_style_target_direction(value: ImVec2_c);
}
unsafe extern "C" {
    pub fn dne_get_style_scroll_duration() -> f32;
}
unsafe extern "C" {
    pub fn dne_set_style_scroll_duration(value: f32);
}
unsafe extern "C" {
    pub fn dne_get_style_flow_marker_distance() -> f32;
}
unsafe extern "C" {
    pub fn dne_set_style_flow_marker_distance(value: f32);
}
unsafe extern "C" {
    pub fn dne_get_style_flow_speed() -> f32;
}
unsafe extern "C" {
    pub fn dne_set_style_flow_speed(value: f32);
}
unsafe extern "C" {
    pub fn dne_get_style_flow_duration() -> f32;
}
unsafe extern "C" {
    pub fn dne_set_style_flow_duration(value: f32);
}
unsafe extern "C" {
    pub fn dne_get_style_pivot_alignment() -> ImVec2_c;
}
unsafe extern "C" {
    pub fn dne_set_style_pivot_alignment(value: ImVec2_c);
}
unsafe extern "C" {
    pub fn dne_get_style_pivot_size() -> ImVec2_c;
}
unsafe extern "C" {
    pub fn dne_set_style_pivot_size(value: ImVec2_c);
}
unsafe extern "C" {
    pub fn dne_get_style_pivot_scale() -> ImVec2_c;
}
unsafe extern "C" {
    pub fn dne_set_style_pivot_scale(value: ImVec2_c);
}
unsafe extern "C" {
    pub fn dne_get_style_pin_corners() -> f32;
}
unsafe extern "C" {
    pub fn dne_set_style_pin_corners(value: f32);
}
unsafe extern "C" {
    pub fn dne_get_style_pin_radius() -> f32;
}
unsafe extern "C" {
    pub fn dne_set_style_pin_radius(value: f32);
}
unsafe extern "C" {
    pub fn dne_get_style_pin_arrow_size() -> f32;
}
unsafe extern "C" {
    pub fn dne_set_style_pin_arrow_size(value: f32);
}
unsafe extern "C" {
    pub fn dne_get_style_pin_arrow_width() -> f32;
}
unsafe extern "C" {
    pub fn dne_set_style_pin_arrow_width(value: f32);
}
unsafe extern "C" {
    pub fn dne_get_style_group_rounding() -> f32;
}
unsafe extern "C" {
    pub fn dne_set_style_group_rounding(value: f32);
}
unsafe extern "C" {
    pub fn dne_get_style_group_border_width() -> f32;
}
unsafe extern "C" {
    pub fn dne_set_style_group_border_width(value: f32);
}
unsafe extern "C" {
    pub fn dne_get_style_highlight_connected_links() -> f32;
}
unsafe extern "C" {
    pub fn dne_set_style_highlight_connected_links(value: f32);
}
unsafe extern "C" {
    pub fn dne_get_style_snap_link_to_pin_dir() -> f32;
}
unsafe extern "C" {
    pub fn dne_set_style_snap_link_to_pin_dir(value: f32);
}
unsafe extern "C" {
    pub fn dne_get_style_color(color: DneStyleColor) -> ImVec4_c;
}
unsafe extern "C" {
    pub fn dne_set_style_color(color: DneStyleColor, value: ImVec4_c);
}
unsafe extern "C" {
    pub fn dne_begin(id: *const ::std::os::raw::c_char, size: ImVec2_c);
}
unsafe extern "C" {
    pub fn dne_end();
}
unsafe extern "C" {
    pub fn dne_begin_node(node_id: usize);
}
unsafe extern "C" {
    pub fn dne_end_node();
}
unsafe extern "C" {
    pub fn dne_begin_pin(pin_id: usize, kind: DnePinKind);
}
unsafe extern "C" {
    pub fn dne_end_pin();
}
unsafe extern "C" {
    pub fn dne_pin_rect(a: ImVec2_c, b: ImVec2_c);
}
unsafe extern "C" {
    pub fn dne_pin_pivot_rect(a: ImVec2_c, b: ImVec2_c);
}
unsafe extern "C" {
    pub fn dne_pin_pivot_size(size: ImVec2_c);
}
unsafe extern "C" {
    pub fn dne_pin_pivot_scale(scale: ImVec2_c);
}
unsafe extern "C" {
    pub fn dne_pin_pivot_alignment(alignment: ImVec2_c);
}
unsafe extern "C" {
    pub fn dne_group(size: ImVec2_c);
}
unsafe extern "C" {
    pub fn dne_begin_group_hint(node_id: usize) -> bool;
}
unsafe extern "C" {
    pub fn dne_get_group_min() -> ImVec2_c;
}
unsafe extern "C" {
    pub fn dne_get_group_max() -> ImVec2_c;
}
unsafe extern "C" {
    pub fn dne_get_hint_foreground_draw_list() -> *mut ImDrawList;
}
unsafe extern "C" {
    pub fn dne_get_hint_background_draw_list() -> *mut ImDrawList;
}
unsafe extern "C" {
    pub fn dne_end_group_hint();
}
unsafe extern "C" {
    pub fn dne_get_node_background_draw_list(node_id: usize) -> *mut ImDrawList;
}
unsafe extern "C" {
    pub fn dne_link(
        link_id: usize,
        start_pin_id: usize,
        end_pin_id: usize,
        color: ImVec4_c,
        thickness: f32,
    ) -> bool;
}
unsafe extern "C" {
    pub fn dne_flow(link_id: usize, direction: DneFlowDirection);
}
unsafe extern "C" {
    pub fn dne_begin_create(color: ImVec4_c, thickness: f32) -> bool;
}
unsafe extern "C" {
    pub fn dne_query_new_link(start_pin_id: *mut usize, end_pin_id: *mut usize) -> bool;
}
unsafe extern "C" {
    pub fn dne_query_new_link_styled(
        start_pin_id: *mut usize,
        end_pin_id: *mut usize,
        color: ImVec4_c,
        thickness: f32,
    ) -> bool;
}
unsafe extern "C" {
    pub fn dne_query_new_node(pin_id: *mut usize) -> bool;
}
unsafe extern "C" {
    pub fn dne_query_new_node_styled(pin_id: *mut usize, color: ImVec4_c, thickness: f32) -> bool;
}
unsafe extern "C" {
    pub fn dne_accept_new_item() -> bool;
}
unsafe extern "C" {
    pub fn dne_accept_new_item_styled(color: ImVec4_c, thickness: f32) -> bool;
}
unsafe extern "C" {
    pub fn dne_reject_new_item();
}
unsafe extern "C" {
    pub fn dne_reject_new_item_styled(color: ImVec4_c, thickness: f32);
}
unsafe extern "C" {
    pub fn dne_end_create();
}
unsafe extern "C" {
    pub fn dne_begin_delete() -> bool;
}
unsafe extern "C" {
    pub fn dne_query_deleted_link(
        link_id: *mut usize,
        start_pin_id: *mut usize,
        end_pin_id: *mut usize,
    ) -> bool;
}
unsafe extern "C" {
    pub fn dne_query_deleted_node(node_id: *mut usize) -> bool;
}
unsafe extern "C" {
    pub fn dne_accept_deleted_item(delete_dependencies: bool) -> bool;
}
unsafe extern "C" {
    pub fn dne_reject_deleted_item();
}
unsafe extern "C" {
    pub fn dne_end_delete();
}
unsafe extern "C" {
    pub fn dne_set_node_position(node_id: usize, editor_position: ImVec2_c);
}
unsafe extern "C" {
    pub fn dne_set_group_size(node_id: usize, size: ImVec2_c);
}
unsafe extern "C" {
    pub fn dne_get_node_position(node_id: usize) -> ImVec2_c;
}
unsafe extern "C" {
    pub fn dne_get_node_size(node_id: usize) -> ImVec2_c;
}
unsafe extern "C" {
    pub fn dne_center_node_on_screen(node_id: usize);
}
unsafe extern "C" {
    pub fn dne_set_node_z_position(node_id: usize, z: f32);
}
unsafe extern "C" {
    pub fn dne_get_node_z_position(node_id: usize) -> f32;
}
unsafe extern "C" {
    pub fn dne_restore_node_state(node_id: usize);
}
unsafe extern "C" {
    pub fn dne_suspend();
}
unsafe extern "C" {
    pub fn dne_resume();
}
unsafe extern "C" {
    pub fn dne_is_suspended() -> bool;
}
unsafe extern "C" {
    pub fn dne_is_active() -> bool;
}
unsafe extern "C" {
    pub fn dne_has_selection_changed() -> bool;
}
unsafe extern "C" {
    pub fn dne_get_selected_object_count() -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn dne_get_selected_nodes(
        nodes: *mut usize,
        size: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn dne_get_selected_links(
        links: *mut usize,
        size: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn dne_is_node_selected(node_id: usize) -> bool;
}
unsafe extern "C" {
    pub fn dne_is_link_selected(link_id: usize) -> bool;
}
unsafe extern "C" {
    pub fn dne_clear_selection();
}
unsafe extern "C" {
    pub fn dne_select_node(node_id: usize, append: bool);
}
unsafe extern "C" {
    pub fn dne_select_link(link_id: usize, append: bool);
}
unsafe extern "C" {
    pub fn dne_deselect_node(node_id: usize);
}
unsafe extern "C" {
    pub fn dne_deselect_link(link_id: usize);
}
unsafe extern "C" {
    pub fn dne_delete_node(node_id: usize) -> bool;
}
unsafe extern "C" {
    pub fn dne_delete_link(link_id: usize) -> bool;
}
unsafe extern "C" {
    pub fn dne_has_any_links_node(node_id: usize) -> bool;
}
unsafe extern "C" {
    pub fn dne_has_any_links_pin(pin_id: usize) -> bool;
}
unsafe extern "C" {
    pub fn dne_break_links_node(node_id: usize) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn dne_break_links_pin(pin_id: usize) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn dne_navigate_to_content(duration: f32);
}
unsafe extern "C" {
    pub fn dne_navigate_to_selection(zoom_in: bool, duration: f32);
}
unsafe extern "C" {
    pub fn dne_show_node_context_menu(node_id: *mut usize) -> bool;
}
unsafe extern "C" {
    pub fn dne_show_pin_context_menu(pin_id: *mut usize) -> bool;
}
unsafe extern "C" {
    pub fn dne_show_link_context_menu(link_id: *mut usize) -> bool;
}
unsafe extern "C" {
    pub fn dne_show_background_context_menu() -> bool;
}
unsafe extern "C" {
    pub fn dne_enable_shortcuts(enable: bool);
}
unsafe extern "C" {
    pub fn dne_are_shortcuts_enabled() -> bool;
}
unsafe extern "C" {
    pub fn dne_begin_shortcut() -> bool;
}
unsafe extern "C" {
    pub fn dne_accept_cut() -> bool;
}
unsafe extern "C" {
    pub fn dne_accept_copy() -> bool;
}
unsafe extern "C" {
    pub fn dne_accept_paste() -> bool;
}
unsafe extern "C" {
    pub fn dne_accept_duplicate() -> bool;
}
unsafe extern "C" {
    pub fn dne_accept_create_node() -> bool;
}
unsafe extern "C" {
    pub fn dne_get_action_context_size() -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn dne_get_action_context_nodes(
        nodes: *mut usize,
        size: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn dne_get_action_context_links(
        links: *mut usize,
        size: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn dne_end_shortcut();
}
unsafe extern "C" {
    pub fn dne_get_current_zoom() -> f32;
}
unsafe extern "C" {
    pub fn dne_get_hovered_node(node_id: *mut usize) -> bool;
}
unsafe extern "C" {
    pub fn dne_get_hovered_pin(pin_id: *mut usize) -> bool;
}
unsafe extern "C" {
    pub fn dne_get_hovered_link(link_id: *mut usize) -> bool;
}
unsafe extern "C" {
    pub fn dne_get_double_clicked_node(node_id: *mut usize) -> bool;
}
unsafe extern "C" {
    pub fn dne_get_double_clicked_pin(pin_id: *mut usize) -> bool;
}
unsafe extern "C" {
    pub fn dne_get_double_clicked_link(link_id: *mut usize) -> bool;
}
unsafe extern "C" {
    pub fn dne_is_background_clicked() -> bool;
}
unsafe extern "C" {
    pub fn dne_is_background_double_clicked() -> bool;
}
unsafe extern "C" {
    pub fn dne_get_background_click_button_index() -> ImGuiMouseButton;
}
unsafe extern "C" {
    pub fn dne_get_background_double_click_button_index() -> ImGuiMouseButton;
}
unsafe extern "C" {
    pub fn dne_get_link_pins(
        link_id: usize,
        start_pin_id: *mut usize,
        end_pin_id: *mut usize,
    ) -> bool;
}
unsafe extern "C" {
    pub fn dne_pin_had_any_links(pin_id: usize) -> bool;
}
unsafe extern "C" {
    pub fn dne_get_screen_size() -> ImVec2_c;
}
unsafe extern "C" {
    pub fn dne_screen_to_canvas(pos: ImVec2_c) -> ImVec2_c;
}
unsafe extern "C" {
    pub fn dne_canvas_to_screen(pos: ImVec2_c) -> ImVec2_c;
}
unsafe extern "C" {
    pub fn dne_get_node_count() -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn dne_get_ordered_node_ids(
        nodes: *mut usize,
        size: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}