#pragma once #include "imguiWrapperTypes.h" #ifdef __cplusplus extern "C" { #endif extern void iggImNodesCreateContext(); extern void iggImNodesDestroyContext(); extern void iggImNodesBeginNodeEditor(); extern void iggImNodesEndNodeEditor(); extern void iggImNodesBeginNode(int id); extern void iggImNodesEndNode(); extern void iggImNodesBeginNodeTitleBar(); extern void iggImNodesEndNodeTitleBar(); extern void iggImNodesBeginInputAttribute(int id); extern void iggImNodesEndInputAttribute(); extern void iggImNodesBeginOutputAttribute(int id); extern void iggImNodesEndOutputAttribute(); extern void iggImNodesLink(int id, int start_attribute_id, int end_attribute_id); extern IggBool iggImNodesIsLinkCreated( int* started_at_node_id, int* started_at_attribute_id, int* ended_at_node_id, int* ended_at_attribute_id, IggBool* created_from_snap); extern IggBool iggImNodesIsLinkDestroyed(int* link_id); extern void iggImNodesPushAttributeFlag(int flag); extern void iggImNodesPopAttributeFlag(); extern void iggImNodesEnableDetachWithCtrlClick(); extern void iggImNodesSetNodeScreenSpacePos(int node_id, const IggVec2 *screen_space_pos); extern void iggImNodesSetNodeEditorSpacePos(int node_id, const IggVec2 *editor_space_pos); extern void iggImNodesSetNodeGridSpacePos(int node_id, const IggVec2 *grid_pos); extern void iggImNodesGetNodeScreenSpacePos(const int node_id, IggVec2 *pos); extern void iggImNodesGetNodeEditorSpacePos(const int node_id, IggVec2 *pos); extern void iggImNodesGetNodeGridSpacePos(const int node_id, IggVec2 *pos); #ifdef __cplusplus } #endif