Updated to ImGui 1.82 and recent ImPlot, ImNodes and ImGuizmo

internals
Alex Hildebrand 4 years ago
parent 3db0d27423
commit 7ab250feb8
  1. 8
      src/CodeGenerator/ImguiDefinitions.cs
  2. 9
      src/CodeGenerator/TypeInfo.cs
  3. 25474
      src/CodeGenerator/definitions/cimgui/definitions.json
  4. 5744
      src/CodeGenerator/definitions/cimgui/structs_and_enums.json
  5. 104
      src/CodeGenerator/definitions/cimguizmo/definitions.json
  6. 77
      src/CodeGenerator/definitions/cimguizmo/structs_and_enums.json
  7. 160
      src/CodeGenerator/definitions/cimnodes/definitions.json
  8. 19
      src/CodeGenerator/definitions/cimnodes/structs_and_enums.json
  9. 11526
      src/CodeGenerator/definitions/cimplot/definitions.json
  10. 1158
      src/CodeGenerator/definitions/cimplot/structs_and_enums.json
  11. 2
      src/ImGui.NET.SampleProgram/MemoryEditor.cs
  12. 4
      src/ImGui.NET/Generated/ImColor.gen.cs
  13. 26
      src/ImGui.NET/Generated/ImDrawCmdHeader.gen.cs
  14. 17
      src/ImGui.NET/Generated/ImDrawCornerFlags.gen.cs
  15. 6
      src/ImGui.NET/Generated/ImDrawData.gen.cs
  16. 21
      src/ImGui.NET/Generated/ImDrawFlags.gen.cs
  17. 144
      src/ImGui.NET/Generated/ImDrawList.gen.cs
  18. 8
      src/ImGui.NET/Generated/ImDrawListFlags.gen.cs
  19. 2
      src/ImGui.NET/Generated/ImFont.gen.cs
  20. 10
      src/ImGui.NET/Generated/ImFontAtlas.gen.cs
  21. 6
      src/ImGui.NET/Generated/ImFontAtlasFlags.gen.cs
  22. 4
      src/ImGui.NET/Generated/ImFontConfig.gen.cs
  23. 6
      src/ImGui.NET/Generated/ImFontGlyph.gen.cs
  24. 883
      src/ImGui.NET/Generated/ImGui.gen.cs
  25. 11
      src/ImGui.NET/Generated/ImGuiBackendFlags.gen.cs
  26. 10
      src/ImGui.NET/Generated/ImGuiButtonFlags.gen.cs
  27. 29
      src/ImGui.NET/Generated/ImGuiCol.gen.cs
  28. 56
      src/ImGui.NET/Generated/ImGuiColorEditFlags.gen.cs
  29. 16
      src/ImGui.NET/Generated/ImGuiComboFlags.gen.cs
  30. 8
      src/ImGui.NET/Generated/ImGuiCond.gen.cs
  31. 20
      src/ImGui.NET/Generated/ImGuiConfigFlags.gen.cs
  32. 14
      src/ImGui.NET/Generated/ImGuiDockNodeFlags.gen.cs
  33. 20
      src/ImGui.NET/Generated/ImGuiDragDropFlags.gen.cs
  34. 8
      src/ImGui.NET/Generated/ImGuiFocusedFlags.gen.cs
  35. 18
      src/ImGui.NET/Generated/ImGuiHoveredFlags.gen.cs
  36. 30
      src/ImGui.NET/Generated/ImGuiIO.gen.cs
  37. 8
      src/ImGui.NET/Generated/ImGuiInputTextCallbackData.gen.cs
  38. 43
      src/ImGui.NET/Generated/ImGuiInputTextFlags.gen.cs
  39. 8
      src/ImGui.NET/Generated/ImGuiKeyModFlags.gen.cs
  40. 2
      src/ImGui.NET/Generated/ImGuiListClipper.gen.cs
  41. 146
      src/ImGui.NET/Generated/ImGuiNative.gen.cs
  42. 2
      src/ImGui.NET/Generated/ImGuiNavInput.gen.cs
  43. 78
      src/ImGui.NET/Generated/ImGuiPlatformIO.gen.cs
  44. 34
      src/ImGui.NET/Generated/ImGuiPlatformMonitor.gen.cs
  45. 12
      src/ImGui.NET/Generated/ImGuiPopupFlags.gen.cs
  46. 10
      src/ImGui.NET/Generated/ImGuiSelectableFlags.gen.cs
  47. 10
      src/ImGui.NET/Generated/ImGuiSliderFlags.gen.cs
  48. 9
      src/ImGui.NET/Generated/ImGuiSortDirection.gen.cs
  49. 15
      src/ImGui.NET/Generated/ImGuiStyle.gen.cs
  50. 17
      src/ImGui.NET/Generated/ImGuiStyleVar.gen.cs
  51. 20
      src/ImGui.NET/Generated/ImGuiTabBarFlags.gen.cs
  52. 13
      src/ImGui.NET/Generated/ImGuiTabItemFlags.gen.cs
  53. 10
      src/ImGui.NET/Generated/ImGuiTableBgTarget.gen.cs
  54. 32
      src/ImGui.NET/Generated/ImGuiTableColumnFlags.gen.cs
  55. 32
      src/ImGui.NET/Generated/ImGuiTableColumnSortSpecs.gen.cs
  56. 43
      src/ImGui.NET/Generated/ImGuiTableFlags.gen.cs
  57. 9
      src/ImGui.NET/Generated/ImGuiTableRowFlags.gen.cs
  58. 30
      src/ImGui.NET/Generated/ImGuiTableSortSpecs.gen.cs
  59. 30
      src/ImGui.NET/Generated/ImGuiTreeNodeFlags.gen.cs
  60. 40
      src/ImGui.NET/Generated/ImGuiViewport.gen.cs
  61. 13
      src/ImGui.NET/Generated/ImGuiViewportFlags.gen.cs
  62. 40
      src/ImGui.NET/Generated/ImGuiWindowClass.gen.cs
  63. 60
      src/ImGui.NET/Generated/ImGuiWindowFlags.gen.cs
  64. 48
      src/ImGui.NET/Generated/STB_TexteditState.gen.cs
  65. 32
      src/ImGui.NET/Generated/StbTexteditRow.gen.cs
  66. 28
      src/ImGui.NET/Generated/StbUndoRecord.gen.cs
  67. 130
      src/ImGui.NET/Generated/StbUndoState.gen.cs
  68. 13
      src/ImGuizmo.NET/Generated/ImGuizmo.gen.cs
  69. 6
      src/ImGuizmo.NET/Generated/ImGuizmoNative.gen.cs
  70. 18
      src/ImGuizmo.NET/Generated/OPERATION.gen.cs
  71. 4
      src/ImNodes.NET/Generated/AttributeFlags.gen.cs
  72. 4
      src/ImNodes.NET/Generated/ImNodes.gen.cs
  73. 2
      src/ImNodes.NET/Generated/ImNodesNative.gen.cs
  74. 4
      src/ImNodes.NET/Generated/StyleFlags.gen.cs
  75. 10863
      src/ImPlot.NET/Generated/ImPlot.gen.cs
  76. 21
      src/ImPlot.NET/Generated/ImPlotAxisFlags.gen.cs
  77. 26
      src/ImPlot.NET/Generated/ImPlotFlags.gen.cs
  78. 49
      src/ImPlot.NET/Generated/ImPlotInputMap.gen.cs
  79. 16
      src/ImPlot.NET/Generated/ImPlotLocation.gen.cs
  80. 116
      src/ImPlot.NET/Generated/ImPlotNative.gen.cs
  81. 2
      src/ImPlot.NET/Generated/ImPlotStyle.gen.cs
  82. 7
      src/ImPlot.NET/Generated/ImPlotStyleVar.gen.cs

@ -65,12 +65,12 @@ namespace CodeGenerator
{
JProperty jp = (JProperty)jt;
string name = jp.Name;
if (typeLocations?[jp.Name]?.Value<string>() == "internal") {
if (typeLocations?[jp.Name]?.Value<string>().Contains("internal") ?? false) {
return null;
}
EnumMember[] elements = jp.Values().Select(v =>
{
return new EnumMember(v["name"].ToString(), v["value"].ToString());
return new EnumMember(v["name"].ToString(), v["calc_value"].ToString());
}).ToArray();
return new EnumDefinition(name, elements);
}).Where(x => x != null).ToArray();
@ -79,7 +79,7 @@ namespace CodeGenerator
{
JProperty jp = (JProperty)jt;
string name = jp.Name;
if (typeLocations?[jp.Name]?.Value<string>() == "internal") {
if (typeLocations?[jp.Name]?.Value<string>().Contains("internal") ?? false) {
return null;
}
TypeReference[] fields = jp.Values().Select(v =>
@ -120,7 +120,7 @@ namespace CodeGenerator
}
}
if (friendlyName == null) { return null; }
if (val["location"]?.ToString() == "internal") return null;
if (val["location"]?.ToString().Contains("internal") ?? false) return null;
string exportedName = ov_cimguiname;
if (exportedName == null)

@ -39,6 +39,9 @@ namespace CodeGenerator
{ "ImGuiContext*", "IntPtr" },
{ "ImPlotContext*", "IntPtr" },
{ "EditorContext*", "IntPtr" },
{ "ImGuiMemAllocFunc", "IntPtr" },
{ "ImGuiMemFreeFunc", "IntPtr" },
{ "ImFontBuilderIO", "IntPtr" },
{ "float[2]", "Vector2*" },
{ "float[3]", "Vector3*" },
{ "float[4]", "Vector4*" },
@ -76,6 +79,8 @@ namespace CodeGenerator
{ "NULL", "null"},
{ "nullptr", "null"},
{ "ImVec2(0,0)", "new Vector2()" },
{ "ImVec2(0.0f,0.0f)", "new Vector2()" },
{ "ImVec2(-FLT_MIN,0)", "new Vector2(-float.MinValue, 0.0f)" },
{ "ImVec2(-1,0)", "new Vector2(-1, 0)" },
{ "ImVec2(1,0)", "new Vector2(1, 0)" },
{ "ImVec2(1,1)", "new Vector2(1, 1)" },
@ -92,6 +97,10 @@ namespace CodeGenerator
{ "ImGuiCond_Once", "ImGuiCond.Once"},
{ "ImPlotOrientation_Vertical", "ImPlotOrientation.Vertical"},
{ "PinShape_CircleFilled", "PinShape._CircleFilled"},
{ "ImGuiPopupFlags_None", "ImGuiPopupFlags.None"},
{ "ImGuiNavHighlightFlags_TypeDefault", "ImGuiNavHighlightFlags.TypeDefault"},
{ "ImGuiKeyModFlags_Ctrl", "ImGuiKeyModFlags.Ctrl"},
{ "ImPlotYAxis_1", "ImPlotYAxis._1"},
{ "FLT_MAX", "float.MaxValue" },
{ "(((ImU32)(255)<<24)|((ImU32)(255)<<16)|((ImU32)(255)<<8)|((ImU32)(255)<<0))", "0xFFFFFFFF" },
{ "sizeof(ImU8)", "sizeof(byte)"},

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -1,4 +1,26 @@
{
"ImGuizmo_AllowAxisFlip": [
{
"args": "(bool value)",
"argsT": [
{
"name": "value",
"type": "bool"
}
],
"argsoriginal": "(bool value)",
"call_args": "(value)",
"cimguiname": "ImGuizmo_AllowAxisFlip",
"defaults": {},
"funcname": "AllowAxisFlip",
"location": "ImGuizmo:212",
"namespace": "ImGuizmo",
"ov_cimguiname": "ImGuizmo_AllowAxisFlip",
"ret": "void",
"signature": "(bool)",
"stname": ""
}
],
"ImGuizmo_BeginFrame": [
{
"args": "()",
@ -42,7 +64,7 @@
"cimguiname": "ImGuizmo_DecomposeMatrixToComponents",
"defaults": {},
"funcname": "DecomposeMatrixToComponents",
"location": "ImGuizmo:145",
"location": "ImGuizmo:151",
"namespace": "ImGuizmo",
"ov_cimguiname": "ImGuizmo_DecomposeMatrixToComponents",
"ret": "void",
@ -76,7 +98,7 @@
"cimguiname": "ImGuizmo_DrawCubes",
"defaults": {},
"funcname": "DrawCubes",
"location": "ImGuizmo:153",
"location": "ImGuizmo:159",
"namespace": "ImGuizmo",
"ov_cimguiname": "ImGuizmo_DrawCubes",
"ret": "void",
@ -110,7 +132,7 @@
"cimguiname": "ImGuizmo_DrawGrid",
"defaults": {},
"funcname": "DrawGrid",
"location": "ImGuizmo:154",
"location": "ImGuizmo:160",
"namespace": "ImGuizmo",
"ov_cimguiname": "ImGuizmo_DrawGrid",
"ret": "void",
@ -132,7 +154,7 @@
"cimguiname": "ImGuizmo_Enable",
"defaults": {},
"funcname": "Enable",
"location": "ImGuizmo:131",
"location": "ImGuizmo:137",
"namespace": "ImGuizmo",
"ov_cimguiname": "ImGuizmo_Enable",
"ret": "void",
@ -149,7 +171,7 @@
"cimguiname": "ImGuizmo_IsOver",
"defaults": {},
"funcname": "IsOver",
"location": "ImGuizmo:124",
"location": "ImGuizmo:130",
"namespace": "ImGuizmo",
"ov_cimguiname": "ImGuizmo_IsOverNil",
"ret": "bool",
@ -169,7 +191,7 @@
"cimguiname": "ImGuizmo_IsOver",
"defaults": {},
"funcname": "IsOver",
"location": "ImGuizmo:185",
"location": "ImGuizmo:206",
"namespace": "ImGuizmo",
"ov_cimguiname": "ImGuizmo_IsOverOPERATION",
"ret": "bool",
@ -186,7 +208,7 @@
"cimguiname": "ImGuizmo_IsUsing",
"defaults": {},
"funcname": "IsUsing",
"location": "ImGuizmo:127",
"location": "ImGuizmo:133",
"namespace": "ImGuizmo",
"ov_cimguiname": "ImGuizmo_IsUsing",
"ret": "bool",
@ -196,7 +218,7 @@
],
"ImGuizmo_Manipulate": [
{
"args": "(const float* view,const float* projection,OPERATION operation,MODE mode,float* matrix,float* deltaMatrix,float* snap,float* localBounds,float* boundsSnap)",
"args": "(const float* view,const float* projection,OPERATION operation,MODE mode,float* matrix,float* deltaMatrix,const float* snap,const float* localBounds,const float* boundsSnap)",
"argsT": [
{
"name": "view",
@ -224,18 +246,18 @@
},
{
"name": "snap",
"type": "float*"
"type": "const float*"
},
{
"name": "localBounds",
"type": "float*"
"type": "const float*"
},
{
"name": "boundsSnap",
"type": "float*"
"type": "const float*"
}
],
"argsoriginal": "(const float* view,const float* projection,OPERATION operation,MODE mode,float* matrix,float* deltaMatrix=NULL,float* snap=NULL,float* localBounds=NULL,float* boundsSnap=NULL)",
"argsoriginal": "(const float* view,const float* projection,OPERATION operation,MODE mode,float* matrix,float* deltaMatrix=NULL,const float* snap=NULL,const float* localBounds=NULL,const float* boundsSnap=NULL)",
"call_args": "(view,projection,operation,mode,matrix,deltaMatrix,snap,localBounds,boundsSnap)",
"cimguiname": "ImGuizmo_Manipulate",
"defaults": {
@ -245,11 +267,11 @@
"snap": "NULL"
},
"funcname": "Manipulate",
"location": "ImGuizmo:174",
"location": "ImGuizmo:195",
"namespace": "ImGuizmo",
"ov_cimguiname": "ImGuizmo_Manipulate",
"ret": "bool",
"signature": "(const float*,const float*,OPERATION,MODE,float*,float*,float*,float*,float*)",
"signature": "(const float*,const float*,OPERATION,MODE,float*,float*,const float*,const float*,const float*)",
"stname": ""
}
],
@ -279,7 +301,7 @@
"cimguiname": "ImGuizmo_RecomposeMatrixFromComponents",
"defaults": {},
"funcname": "RecomposeMatrixFromComponents",
"location": "ImGuizmo:146",
"location": "ImGuizmo:152",
"namespace": "ImGuizmo",
"ov_cimguiname": "ImGuizmo_RecomposeMatrixFromComponents",
"ret": "void",
@ -311,6 +333,28 @@
"stname": ""
}
],
"ImGuizmo_SetGizmoSizeClipSpace": [
{
"args": "(float value)",
"argsT": [
{
"name": "value",
"type": "float"
}
],
"argsoriginal": "(float value)",
"call_args": "(value)",
"cimguiname": "ImGuizmo_SetGizmoSizeClipSpace",
"defaults": {},
"funcname": "SetGizmoSizeClipSpace",
"location": "ImGuizmo:207",
"namespace": "ImGuizmo",
"ov_cimguiname": "ImGuizmo_SetGizmoSizeClipSpace",
"ret": "void",
"signature": "(float)",
"stname": ""
}
],
"ImGuizmo_SetID": [
{
"args": "(int id)",
@ -325,7 +369,7 @@
"cimguiname": "ImGuizmo_SetID",
"defaults": {},
"funcname": "SetID",
"location": "ImGuizmo:182",
"location": "ImGuizmo:203",
"namespace": "ImGuizmo",
"ov_cimguiname": "ImGuizmo_SetID",
"ret": "void",
@ -333,6 +377,28 @@
"stname": ""
}
],
"ImGuizmo_SetImGuiContext": [
{
"args": "(ImGuiContext* ctx)",
"argsT": [
{
"name": "ctx",
"type": "ImGuiContext*"
}
],
"argsoriginal": "(ImGuiContext* ctx)",
"call_args": "(ctx)",
"cimguiname": "ImGuizmo_SetImGuiContext",
"defaults": {},
"funcname": "SetImGuiContext",
"location": "ImGuizmo:127",
"namespace": "ImGuizmo",
"ov_cimguiname": "ImGuizmo_SetImGuiContext",
"ret": "void",
"signature": "(ImGuiContext*)",
"stname": ""
}
],
"ImGuizmo_SetOrthographic": [
{
"args": "(bool isOrthographic)",
@ -347,7 +413,7 @@
"cimguiname": "ImGuizmo_SetOrthographic",
"defaults": {},
"funcname": "SetOrthographic",
"location": "ImGuizmo:150",
"location": "ImGuizmo:156",
"namespace": "ImGuizmo",
"ov_cimguiname": "ImGuizmo_SetOrthographic",
"ret": "void",
@ -381,7 +447,7 @@
"cimguiname": "ImGuizmo_SetRect",
"defaults": {},
"funcname": "SetRect",
"location": "ImGuizmo:148",
"location": "ImGuizmo:154",
"namespace": "ImGuizmo",
"ov_cimguiname": "ImGuizmo_SetRect",
"ret": "void",
@ -419,7 +485,7 @@
"cimguiname": "ImGuizmo_ViewManipulate",
"defaults": {},
"funcname": "ViewManipulate",
"location": "ImGuizmo:180",
"location": "ImGuizmo:201",
"namespace": "ImGuizmo",
"ov_cimguiname": "ImGuizmo_ViewManipulate",
"ret": "void",

@ -13,31 +13,82 @@
}
],
"OPERATION": [
{
"calc_value": 0,
"name": "TRANSLATE",
"value": "0"
},
{
"calc_value": 1,
"name": "ROTATE",
"value": "1"
"name": "TRANSLATE_X",
"value": "(1u << 0)"
},
{
"calc_value": 2,
"name": "SCALE",
"value": "2"
"name": "TRANSLATE_Y",
"value": "(1u << 1)"
},
{
"calc_value": 3,
"calc_value": 4,
"name": "TRANSLATE_Z",
"value": "(1u << 2)"
},
{
"calc_value": 8,
"name": "ROTATE_X",
"value": "(1u << 3)"
},
{
"calc_value": 16,
"name": "ROTATE_Y",
"value": "(1u << 4)"
},
{
"calc_value": 32,
"name": "ROTATE_Z",
"value": "(1u << 5)"
},
{
"calc_value": 64,
"name": "ROTATE_SCREEN",
"value": "(1u << 6)"
},
{
"calc_value": 128,
"name": "SCALE_X",
"value": "(1u << 7)"
},
{
"calc_value": 256,
"name": "SCALE_Y",
"value": "(1u << 8)"
},
{
"calc_value": 512,
"name": "SCALE_Z",
"value": "(1u << 9)"
},
{
"calc_value": 1024,
"name": "BOUNDS",
"value": "3"
"value": "(1u << 10)"
},
{
"calc_value": 7,
"name": "TRANSLATE",
"value": "TRANSLATE_X | TRANSLATE_Y | TRANSLATE_Z"
},
{
"calc_value": 120,
"name": "ROTATE",
"value": "ROTATE_X | ROTATE_Y | ROTATE_Z | ROTATE_SCREEN"
},
{
"calc_value": 896,
"name": "SCALE",
"value": "SCALE_X | SCALE_Y | SCALE_Z"
}
]
},
"enumtypes": [],
"locations": {
"MODE": "ImGuizmo:168",
"OPERATION": "ImGuizmo:160"
"MODE": "ImGuizmo:189",
"OPERATION": "ImGuizmo:166"
},
"structs": []
}

@ -9,7 +9,7 @@
"constructor": true,
"defaults": {},
"funcname": "EmulateThreeButtonMouse",
"location": "imnodes:86",
"location": "imnodes:87",
"ov_cimguiname": "EmulateThreeButtonMouse_EmulateThreeButtonMouse",
"signature": "()",
"stname": "EmulateThreeButtonMouse"
@ -44,7 +44,7 @@
"constructor": true,
"defaults": {},
"funcname": "IO",
"location": "imnodes:108",
"location": "imnodes:109",
"ov_cimguiname": "IO_IO",
"signature": "()",
"stname": "IO"
@ -79,7 +79,7 @@
"constructor": true,
"defaults": {},
"funcname": "LinkDetachWithModifierClick",
"location": "imnodes:96",
"location": "imnodes:97",
"ov_cimguiname": "LinkDetachWithModifierClick_LinkDetachWithModifierClick",
"signature": "()",
"stname": "LinkDetachWithModifierClick"
@ -114,7 +114,7 @@
"constructor": true,
"defaults": {},
"funcname": "Style",
"location": "imnodes:148",
"location": "imnodes:149",
"ov_cimguiname": "Style_Style",
"signature": "()",
"stname": "Style"
@ -159,7 +159,7 @@
"shape": "PinShape_CircleFilled"
},
"funcname": "BeginInputAttribute",
"location": "imnodes:210",
"location": "imnodes:216",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_BeginInputAttribute",
"ret": "void",
@ -181,7 +181,7 @@
"cimguiname": "imnodes_BeginNode",
"defaults": {},
"funcname": "BeginNode",
"location": "imnodes:189",
"location": "imnodes:195",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_BeginNode",
"ret": "void",
@ -198,7 +198,7 @@
"cimguiname": "imnodes_BeginNodeEditor",
"defaults": {},
"funcname": "BeginNodeEditor",
"location": "imnodes:180",
"location": "imnodes:185",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_BeginNodeEditor",
"ret": "void",
@ -215,7 +215,7 @@
"cimguiname": "imnodes_BeginNodeTitleBar",
"defaults": {},
"funcname": "BeginNodeTitleBar",
"location": "imnodes:197",
"location": "imnodes:203",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_BeginNodeTitleBar",
"ret": "void",
@ -243,7 +243,7 @@
"shape": "PinShape_CircleFilled"
},
"funcname": "BeginOutputAttribute",
"location": "imnodes:213",
"location": "imnodes:219",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_BeginOutputAttribute",
"ret": "void",
@ -265,7 +265,7 @@
"cimguiname": "imnodes_BeginStaticAttribute",
"defaults": {},
"funcname": "BeginStaticAttribute",
"location": "imnodes:218",
"location": "imnodes:224",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_BeginStaticAttribute",
"ret": "void",
@ -282,7 +282,7 @@
"cimguiname": "imnodes_ClearLinkSelection",
"defaults": {},
"funcname": "ClearLinkSelection",
"location": "imnodes:272",
"location": "imnodes:278",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_ClearLinkSelection",
"ret": "void",
@ -299,7 +299,7 @@
"cimguiname": "imnodes_ClearNodeSelection",
"defaults": {},
"funcname": "ClearNodeSelection",
"location": "imnodes:271",
"location": "imnodes:277",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_ClearNodeSelection",
"ret": "void",
@ -316,7 +316,7 @@
"cimguiname": "imnodes_EditorContextCreate",
"defaults": {},
"funcname": "EditorContextCreate",
"location": "imnodes:158",
"location": "imnodes:159",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_EditorContextCreate",
"ret": "EditorContext*",
@ -338,7 +338,7 @@
"cimguiname": "imnodes_EditorContextFree",
"defaults": {},
"funcname": "EditorContextFree",
"location": "imnodes:159",
"location": "imnodes:160",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_EditorContextFree",
"ret": "void",
@ -360,7 +360,7 @@
"cimguiname": "imnodes_EditorContextGetPanning",
"defaults": {},
"funcname": "EditorContextGetPanning",
"location": "imnodes:161",
"location": "imnodes:162",
"namespace": "imnodes",
"nonUDT": 1,
"ov_cimguiname": "imnodes_EditorContextGetPanning",
@ -383,7 +383,7 @@
"cimguiname": "imnodes_EditorContextMoveToNode",
"defaults": {},
"funcname": "EditorContextMoveToNode",
"location": "imnodes:163",
"location": "imnodes:164",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_EditorContextMoveToNode",
"ret": "void",
@ -405,7 +405,7 @@
"cimguiname": "imnodes_EditorContextResetPanning",
"defaults": {},
"funcname": "EditorContextResetPanning",
"location": "imnodes:162",
"location": "imnodes:163",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_EditorContextResetPanning",
"ret": "void",
@ -427,7 +427,7 @@
"cimguiname": "imnodes_EditorContextSet",
"defaults": {},
"funcname": "EditorContextSet",
"location": "imnodes:160",
"location": "imnodes:161",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_EditorContextSet",
"ret": "void",
@ -444,7 +444,7 @@
"cimguiname": "imnodes_EndInputAttribute",
"defaults": {},
"funcname": "EndInputAttribute",
"location": "imnodes:211",
"location": "imnodes:217",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_EndInputAttribute",
"ret": "void",
@ -461,7 +461,7 @@
"cimguiname": "imnodes_EndNode",
"defaults": {},
"funcname": "EndNode",
"location": "imnodes:190",
"location": "imnodes:196",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_EndNode",
"ret": "void",
@ -478,7 +478,7 @@
"cimguiname": "imnodes_EndNodeEditor",
"defaults": {},
"funcname": "EndNodeEditor",
"location": "imnodes:181",
"location": "imnodes:186",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_EndNodeEditor",
"ret": "void",
@ -495,7 +495,7 @@
"cimguiname": "imnodes_EndNodeTitleBar",
"defaults": {},
"funcname": "EndNodeTitleBar",
"location": "imnodes:198",
"location": "imnodes:204",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_EndNodeTitleBar",
"ret": "void",
@ -512,7 +512,7 @@
"cimguiname": "imnodes_EndOutputAttribute",
"defaults": {},
"funcname": "EndOutputAttribute",
"location": "imnodes:214",
"location": "imnodes:220",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_EndOutputAttribute",
"ret": "void",
@ -529,7 +529,7 @@
"cimguiname": "imnodes_EndStaticAttribute",
"defaults": {},
"funcname": "EndStaticAttribute",
"location": "imnodes:219",
"location": "imnodes:225",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_EndStaticAttribute",
"ret": "void",
@ -546,7 +546,7 @@
"cimguiname": "imnodes_GetIO",
"defaults": {},
"funcname": "GetIO",
"location": "imnodes:169",
"location": "imnodes:174",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_GetIO",
"ret": "IO*",
@ -573,7 +573,7 @@
"cimguiname": "imnodes_GetNodeDimensions",
"defaults": {},
"funcname": "GetNodeDimensions",
"location": "imnodes:192",
"location": "imnodes:198",
"namespace": "imnodes",
"nonUDT": 1,
"ov_cimguiname": "imnodes_GetNodeDimensions",
@ -600,7 +600,7 @@
"cimguiname": "imnodes_GetNodeEditorSpacePos",
"defaults": {},
"funcname": "GetNodeEditorSpacePos",
"location": "imnodes:247",
"location": "imnodes:253",
"namespace": "imnodes",
"nonUDT": 1,
"ov_cimguiname": "imnodes_GetNodeEditorSpacePos",
@ -627,7 +627,7 @@
"cimguiname": "imnodes_GetNodeGridSpacePos",
"defaults": {},
"funcname": "GetNodeGridSpacePos",
"location": "imnodes:248",
"location": "imnodes:254",
"namespace": "imnodes",
"nonUDT": 1,
"ov_cimguiname": "imnodes_GetNodeGridSpacePos",
@ -654,7 +654,7 @@
"cimguiname": "imnodes_GetNodeScreenSpacePos",
"defaults": {},
"funcname": "GetNodeScreenSpacePos",
"location": "imnodes:246",
"location": "imnodes:252",
"namespace": "imnodes",
"nonUDT": 1,
"ov_cimguiname": "imnodes_GetNodeScreenSpacePos",
@ -677,7 +677,7 @@
"cimguiname": "imnodes_GetSelectedLinks",
"defaults": {},
"funcname": "GetSelectedLinks",
"location": "imnodes:268",
"location": "imnodes:274",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_GetSelectedLinks",
"ret": "void",
@ -699,7 +699,7 @@
"cimguiname": "imnodes_GetSelectedNodes",
"defaults": {},
"funcname": "GetSelectedNodes",
"location": "imnodes:267",
"location": "imnodes:273",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_GetSelectedNodes",
"ret": "void",
@ -716,7 +716,7 @@
"cimguiname": "imnodes_GetStyle",
"defaults": {},
"funcname": "GetStyle",
"location": "imnodes:172",
"location": "imnodes:177",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_GetStyle",
"ret": "Style*",
@ -734,7 +734,7 @@
"cimguiname": "imnodes_Initialize",
"defaults": {},
"funcname": "Initialize",
"location": "imnodes:166",
"location": "imnodes:167",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_Initialize",
"ret": "void",
@ -758,7 +758,7 @@
"attribute_id": "((void*)0)"
},
"funcname": "IsAnyAttributeActive",
"location": "imnodes:278",
"location": "imnodes:284",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_IsAnyAttributeActive",
"ret": "bool",
@ -775,7 +775,7 @@
"cimguiname": "imnodes_IsAttributeActive",
"defaults": {},
"funcname": "IsAttributeActive",
"location": "imnodes:276",
"location": "imnodes:282",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_IsAttributeActive",
"ret": "bool",
@ -792,7 +792,7 @@
"cimguiname": "imnodes_IsEditorHovered",
"defaults": {},
"funcname": "IsEditorHovered",
"location": "imnodes:252",
"location": "imnodes:258",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_IsEditorHovered",
"ret": "bool",
@ -824,7 +824,7 @@
"created_from_snap": "((void*)0)"
},
"funcname": "IsLinkCreated",
"location": "imnodes:293",
"location": "imnodes:299",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_IsLinkCreatedBoolPtr",
"ret": "bool",
@ -862,7 +862,7 @@
"created_from_snap": "((void*)0)"
},
"funcname": "IsLinkCreated",
"location": "imnodes:297",
"location": "imnodes:303",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_IsLinkCreatedIntPtr",
"ret": "bool",
@ -884,7 +884,7 @@
"cimguiname": "imnodes_IsLinkDestroyed",
"defaults": {},
"funcname": "IsLinkDestroyed",
"location": "imnodes:306",
"location": "imnodes:312",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_IsLinkDestroyed",
"ret": "bool",
@ -913,7 +913,7 @@
"started_at_attribute_id": "((void*)0)"
},
"funcname": "IsLinkDropped",
"location": "imnodes:291",
"location": "imnodes:297",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_IsLinkDropped",
"ret": "bool",
@ -935,7 +935,7 @@
"cimguiname": "imnodes_IsLinkHovered",
"defaults": {},
"funcname": "IsLinkHovered",
"location": "imnodes:257",
"location": "imnodes:263",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_IsLinkHovered",
"ret": "bool",
@ -957,7 +957,7 @@
"cimguiname": "imnodes_IsLinkStarted",
"defaults": {},
"funcname": "IsLinkStarted",
"location": "imnodes:284",
"location": "imnodes:290",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_IsLinkStarted",
"ret": "bool",
@ -979,7 +979,7 @@
"cimguiname": "imnodes_IsNodeHovered",
"defaults": {},
"funcname": "IsNodeHovered",
"location": "imnodes:256",
"location": "imnodes:262",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_IsNodeHovered",
"ret": "bool",
@ -1001,7 +1001,7 @@
"cimguiname": "imnodes_IsPinHovered",
"defaults": {},
"funcname": "IsPinHovered",
"location": "imnodes:258",
"location": "imnodes:264",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_IsPinHovered",
"ret": "bool",
@ -1031,7 +1031,7 @@
"cimguiname": "imnodes_Link",
"defaults": {},
"funcname": "Link",
"location": "imnodes:228",
"location": "imnodes:234",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_Link",
"ret": "void",
@ -1053,7 +1053,7 @@
"cimguiname": "imnodes_LoadCurrentEditorStateFromIniFile",
"defaults": {},
"funcname": "LoadCurrentEditorStateFromIniFile",
"location": "imnodes:320",
"location": "imnodes:326",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_LoadCurrentEditorStateFromIniFile",
"ret": "void",
@ -1079,7 +1079,7 @@
"cimguiname": "imnodes_LoadCurrentEditorStateFromIniString",
"defaults": {},
"funcname": "LoadCurrentEditorStateFromIniString",
"location": "imnodes:314",
"location": "imnodes:320",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_LoadCurrentEditorStateFromIniString",
"ret": "void",
@ -1105,7 +1105,7 @@
"cimguiname": "imnodes_LoadEditorStateFromIniFile",
"defaults": {},
"funcname": "LoadEditorStateFromIniFile",
"location": "imnodes:321",
"location": "imnodes:327",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_LoadEditorStateFromIniFile",
"ret": "void",
@ -1135,7 +1135,7 @@
"cimguiname": "imnodes_LoadEditorStateFromIniString",
"defaults": {},
"funcname": "LoadEditorStateFromIniString",
"location": "imnodes:315",
"location": "imnodes:321",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_LoadEditorStateFromIniString",
"ret": "void",
@ -1152,7 +1152,7 @@
"cimguiname": "imnodes_NumSelectedLinks",
"defaults": {},
"funcname": "NumSelectedLinks",
"location": "imnodes:263",
"location": "imnodes:269",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_NumSelectedLinks",
"ret": "int",
@ -1169,7 +1169,7 @@
"cimguiname": "imnodes_NumSelectedNodes",
"defaults": {},
"funcname": "NumSelectedNodes",
"location": "imnodes:262",
"location": "imnodes:268",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_NumSelectedNodes",
"ret": "int",
@ -1186,7 +1186,7 @@
"cimguiname": "imnodes_PopAttributeFlag",
"defaults": {},
"funcname": "PopAttributeFlag",
"location": "imnodes:223",
"location": "imnodes:229",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_PopAttributeFlag",
"ret": "void",
@ -1203,7 +1203,7 @@
"cimguiname": "imnodes_PopColorStyle",
"defaults": {},
"funcname": "PopColorStyle",
"location": "imnodes:185",
"location": "imnodes:190",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_PopColorStyle",
"ret": "void",
@ -1220,7 +1220,7 @@
"cimguiname": "imnodes_PopStyleVar",
"defaults": {},
"funcname": "PopStyleVar",
"location": "imnodes:187",
"location": "imnodes:192",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_PopStyleVar",
"ret": "void",
@ -1242,7 +1242,7 @@
"cimguiname": "imnodes_PushAttributeFlag",
"defaults": {},
"funcname": "PushAttributeFlag",
"location": "imnodes:222",
"location": "imnodes:228",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_PushAttributeFlag",
"ret": "void",
@ -1268,7 +1268,7 @@
"cimguiname": "imnodes_PushColorStyle",
"defaults": {},
"funcname": "PushColorStyle",
"location": "imnodes:184",
"location": "imnodes:189",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_PushColorStyle",
"ret": "void",
@ -1294,7 +1294,7 @@
"cimguiname": "imnodes_PushStyleVar",
"defaults": {},
"funcname": "PushStyleVar",
"location": "imnodes:186",
"location": "imnodes:191",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_PushStyleVar",
"ret": "void",
@ -1316,7 +1316,7 @@
"cimguiname": "imnodes_SaveCurrentEditorStateToIniFile",
"defaults": {},
"funcname": "SaveCurrentEditorStateToIniFile",
"location": "imnodes:317",
"location": "imnodes:323",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_SaveCurrentEditorStateToIniFile",
"ret": "void",
@ -1340,7 +1340,7 @@
"data_size": "((void*)0)"
},
"funcname": "SaveCurrentEditorStateToIniString",
"location": "imnodes:311",
"location": "imnodes:317",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_SaveCurrentEditorStateToIniString",
"ret": "const char*",
@ -1366,7 +1366,7 @@
"cimguiname": "imnodes_SaveEditorStateToIniFile",
"defaults": {},
"funcname": "SaveEditorStateToIniFile",
"location": "imnodes:318",
"location": "imnodes:324",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_SaveEditorStateToIniFile",
"ret": "void",
@ -1394,7 +1394,7 @@
"data_size": "((void*)0)"
},
"funcname": "SaveEditorStateToIniString",
"location": "imnodes:312",
"location": "imnodes:318",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_SaveEditorStateToIniString",
"ret": "const char*",
@ -1402,6 +1402,28 @@
"stname": ""
}
],
"imnodes_SetImGuiContext": [
{
"args": "(ImGuiContext* ctx)",
"argsT": [
{
"name": "ctx",
"type": "ImGuiContext*"
}
],
"argsoriginal": "(ImGuiContext* ctx)",
"call_args": "(ctx)",
"cimguiname": "imnodes_SetImGuiContext",
"defaults": {},
"funcname": "SetImGuiContext",
"location": "imnodes:172",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_SetImGuiContext",
"ret": "void",
"signature": "(ImGuiContext*)",
"stname": ""
}
],
"imnodes_SetNodeDraggable": [
{
"args": "(int node_id,const bool draggable)",
@ -1420,7 +1442,7 @@
"cimguiname": "imnodes_SetNodeDraggable",
"defaults": {},
"funcname": "SetNodeDraggable",
"location": "imnodes:231",
"location": "imnodes:237",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_SetNodeDraggable",
"ret": "void",
@ -1446,7 +1468,7 @@
"cimguiname": "imnodes_SetNodeEditorSpacePos",
"defaults": {},
"funcname": "SetNodeEditorSpacePos",
"location": "imnodes:243",
"location": "imnodes:249",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_SetNodeEditorSpacePos",
"ret": "void",
@ -1472,7 +1494,7 @@
"cimguiname": "imnodes_SetNodeGridSpacePos",
"defaults": {},
"funcname": "SetNodeGridSpacePos",
"location": "imnodes:244",
"location": "imnodes:250",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_SetNodeGridSpacePos",
"ret": "void",
@ -1498,7 +1520,7 @@
"cimguiname": "imnodes_SetNodeScreenSpacePos",
"defaults": {},
"funcname": "SetNodeScreenSpacePos",
"location": "imnodes:242",
"location": "imnodes:248",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_SetNodeScreenSpacePos",
"ret": "void",
@ -1515,7 +1537,7 @@
"cimguiname": "imnodes_Shutdown",
"defaults": {},
"funcname": "Shutdown",
"location": "imnodes:167",
"location": "imnodes:168",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_Shutdown",
"ret": "void",
@ -1532,7 +1554,7 @@
"cimguiname": "imnodes_StyleColorsClassic",
"defaults": {},
"funcname": "StyleColorsClassic",
"location": "imnodes:175",
"location": "imnodes:180",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_StyleColorsClassic",
"ret": "void",
@ -1549,7 +1571,7 @@
"cimguiname": "imnodes_StyleColorsDark",
"defaults": {},
"funcname": "StyleColorsDark",
"location": "imnodes:174",
"location": "imnodes:179",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_StyleColorsDark",
"ret": "void",
@ -1566,7 +1588,7 @@
"cimguiname": "imnodes_StyleColorsLight",
"defaults": {},
"funcname": "StyleColorsLight",
"location": "imnodes:176",
"location": "imnodes:181",
"namespace": "imnodes",
"ov_cimguiname": "imnodes_StyleColorsLight",
"ret": "void",

@ -226,16 +226,17 @@
}
]
},
"enumtypes": [],
"locations": {
"AttributeFlags": "imnodes:67",
"ColorStyle": "imnodes:9",
"EmulateThreeButtonMouse": "imnodes:84",
"IO": "imnodes:82",
"LinkDetachWithModifierClick": "imnodes:94",
"PinShape": "imnodes:56",
"Style": "imnodes:111",
"StyleFlags": "imnodes:48",
"StyleVar": "imnodes:30"
"AttributeFlags": "imnodes:68",
"ColorStyle": "imnodes:10",
"EmulateThreeButtonMouse": "imnodes:85",
"IO": "imnodes:83",
"LinkDetachWithModifierClick": "imnodes:95",
"PinShape": "imnodes:57",
"Style": "imnodes:112",
"StyleFlags": "imnodes:49",
"StyleVar": "imnodes:31"
},
"structs": {
"EmulateThreeButtonMouse": [

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -143,7 +143,7 @@ namespace ImGuiNET
}
ImGui.PushItemWidth(ImGui.CalcTextSize("FF").X);
var flags = ImGuiInputTextFlags.CharsHexadecimal | ImGuiInputTextFlags.EnterReturnsTrue | ImGuiInputTextFlags.AutoSelectAll | ImGuiInputTextFlags.NoHorizontalScroll | ImGuiInputTextFlags.AlwaysInsertMode | ImGuiInputTextFlags.CallbackAlways;
var flags = ImGuiInputTextFlags.CharsHexadecimal | ImGuiInputTextFlags.EnterReturnsTrue | ImGuiInputTextFlags.AutoSelectAll | ImGuiInputTextFlags.NoHorizontalScroll | ImGuiInputTextFlags.CallbackAlways;
if (ImGui.InputText("##data", DataInput, 32, flags, callback, (IntPtr)(&cursor_pos)))
data_write = data_next = true;

@ -26,13 +26,13 @@ namespace ImGuiNET
{
ImColor __retval;
float a = 1.0f;
ImGuiNative.ImColor_HSV(&__retval, (ImColor*)(NativePtr), h, s, v, a);
ImGuiNative.ImColor_HSV(&__retval, h, s, v, a);
return __retval;
}
public ImColor HSV(float h, float s, float v, float a)
{
ImColor __retval;
ImGuiNative.ImColor_HSV(&__retval, (ImColor*)(NativePtr), h, s, v, a);
ImGuiNative.ImColor_HSV(&__retval, h, s, v, a);
return __retval;
}
public void SetHSV(float h, float s, float v)

@ -0,0 +1,26 @@
using System;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Text;
namespace ImGuiNET
{
public unsafe partial struct ImDrawCmdHeader
{
public Vector4 ClipRect;
public IntPtr TextureId;
public uint VtxOffset;
}
public unsafe partial struct ImDrawCmdHeaderPtr
{
public ImDrawCmdHeader* NativePtr { get; }
public ImDrawCmdHeaderPtr(ImDrawCmdHeader* nativePtr) => NativePtr = nativePtr;
public ImDrawCmdHeaderPtr(IntPtr nativePtr) => NativePtr = (ImDrawCmdHeader*)nativePtr;
public static implicit operator ImDrawCmdHeaderPtr(ImDrawCmdHeader* nativePtr) => new ImDrawCmdHeaderPtr(nativePtr);
public static implicit operator ImDrawCmdHeader* (ImDrawCmdHeaderPtr wrappedPtr) => wrappedPtr.NativePtr;
public static implicit operator ImDrawCmdHeaderPtr(IntPtr nativePtr) => new ImDrawCmdHeaderPtr(nativePtr);
public ref Vector4 ClipRect => ref Unsafe.AsRef<Vector4>(&NativePtr->ClipRect);
public ref IntPtr TextureId => ref Unsafe.AsRef<IntPtr>(&NativePtr->TextureId);
public ref uint VtxOffset => ref Unsafe.AsRef<uint>(&NativePtr->VtxOffset);
}
}

@ -1,17 +0,0 @@
namespace ImGuiNET
{
[System.Flags]
public enum ImDrawCornerFlags
{
None = 0,
TopLeft = 1 << 0,
TopRight = 1 << 1,
BotLeft = 1 << 2,
BotRight = 1 << 3,
Top = TopLeft | TopRight,
Bot = BotLeft | BotRight,
Left = TopLeft | BotLeft,
Right = TopRight | BotRight,
All = 0xF,
}
}

@ -8,14 +8,13 @@ namespace ImGuiNET
public unsafe partial struct ImDrawData
{
public byte Valid;
public ImDrawList** CmdLists;
public int CmdListsCount;
public int TotalIdxCount;
public int TotalVtxCount;
public ImDrawList** CmdLists;
public Vector2 DisplayPos;
public Vector2 DisplaySize;
public Vector2 FramebufferScale;
public ImGuiViewport* OwnerViewport;
}
public unsafe partial struct ImDrawDataPtr
{
@ -26,14 +25,13 @@ namespace ImGuiNET
public static implicit operator ImDrawData* (ImDrawDataPtr wrappedPtr) => wrappedPtr.NativePtr;
public static implicit operator ImDrawDataPtr(IntPtr nativePtr) => new ImDrawDataPtr(nativePtr);
public ref bool Valid => ref Unsafe.AsRef<bool>(&NativePtr->Valid);
public IntPtr CmdLists { get => (IntPtr)NativePtr->CmdLists; set => NativePtr->CmdLists = (ImDrawList**)value; }
public ref int CmdListsCount => ref Unsafe.AsRef<int>(&NativePtr->CmdListsCount);
public ref int TotalIdxCount => ref Unsafe.AsRef<int>(&NativePtr->TotalIdxCount);
public ref int TotalVtxCount => ref Unsafe.AsRef<int>(&NativePtr->TotalVtxCount);
public IntPtr CmdLists { get => (IntPtr)NativePtr->CmdLists; set => NativePtr->CmdLists = (ImDrawList**)value; }
public ref Vector2 DisplayPos => ref Unsafe.AsRef<Vector2>(&NativePtr->DisplayPos);
public ref Vector2 DisplaySize => ref Unsafe.AsRef<Vector2>(&NativePtr->DisplaySize);
public ref Vector2 FramebufferScale => ref Unsafe.AsRef<Vector2>(&NativePtr->FramebufferScale);
public ImGuiViewportPtr OwnerViewport => new ImGuiViewportPtr(NativePtr->OwnerViewport);
public void Clear()
{
ImGuiNative.ImDrawData_Clear((ImDrawData*)(NativePtr));

@ -0,0 +1,21 @@
namespace ImGuiNET
{
[System.Flags]
public enum ImDrawFlags
{
None = 0,
Closed = 1,
RoundCornersTopLeft = 16,
RoundCornersTopRight = 32,
RoundCornersBottomLeft = 64,
RoundCornersBottomRight = 128,
RoundCornersNone = 256,
RoundCornersTop = 48,
RoundCornersBottom = 192,
RoundCornersLeft = 80,
RoundCornersRight = 160,
RoundCornersAll = 240,
RoundCornersDefault = 240,
RoundCornersMask = 496,
}
}

@ -11,16 +11,17 @@ namespace ImGuiNET
public ImVector IdxBuffer;
public ImVector VtxBuffer;
public ImDrawListFlags Flags;
public uint _VtxCurrentIdx;
public IntPtr _Data;
public byte* _OwnerName;
public uint _VtxCurrentIdx;
public ImDrawVert* _VtxWritePtr;
public ushort* _IdxWritePtr;
public ImVector _ClipRectStack;
public ImVector _TextureIdStack;
public ImVector _Path;
public ImDrawCmd _CmdHeader;
public ImDrawCmdHeader _CmdHeader;
public ImDrawListSplitter _Splitter;
public float _FringeScale;
}
public unsafe partial struct ImDrawListPtr
{
@ -34,16 +35,22 @@ namespace ImGuiNET
public ImVector<ushort> IdxBuffer => new ImVector<ushort>(NativePtr->IdxBuffer);
public ImPtrVector<ImDrawVertPtr> VtxBuffer => new ImPtrVector<ImDrawVertPtr>(NativePtr->VtxBuffer, Unsafe.SizeOf<ImDrawVert>());
public ref ImDrawListFlags Flags => ref Unsafe.AsRef<ImDrawListFlags>(&NativePtr->Flags);
public ref uint _VtxCurrentIdx => ref Unsafe.AsRef<uint>(&NativePtr->_VtxCurrentIdx);
public ref IntPtr _Data => ref Unsafe.AsRef<IntPtr>(&NativePtr->_Data);
public NullTerminatedString _OwnerName => new NullTerminatedString(NativePtr->_OwnerName);
public ref uint _VtxCurrentIdx => ref Unsafe.AsRef<uint>(&NativePtr->_VtxCurrentIdx);
public ImDrawVertPtr _VtxWritePtr => new ImDrawVertPtr(NativePtr->_VtxWritePtr);
public IntPtr _IdxWritePtr { get => (IntPtr)NativePtr->_IdxWritePtr; set => NativePtr->_IdxWritePtr = (ushort*)value; }
public ImVector<Vector4> _ClipRectStack => new ImVector<Vector4>(NativePtr->_ClipRectStack);
public ImVector<IntPtr> _TextureIdStack => new ImVector<IntPtr>(NativePtr->_TextureIdStack);
public ImVector<Vector2> _Path => new ImVector<Vector2>(NativePtr->_Path);
public ref ImDrawCmd _CmdHeader => ref Unsafe.AsRef<ImDrawCmd>(&NativePtr->_CmdHeader);
public ref ImDrawCmdHeader _CmdHeader => ref Unsafe.AsRef<ImDrawCmdHeader>(&NativePtr->_CmdHeader);
public ref ImDrawListSplitter _Splitter => ref Unsafe.AsRef<ImDrawListSplitter>(&NativePtr->_Splitter);
public ref float _FringeScale => ref Unsafe.AsRef<float>(&NativePtr->_FringeScale);
public int _CalcCircleAutoSegmentCount(float radius)
{
int ret = ImGuiNative.ImDrawList__CalcCircleAutoSegmentCount((ImDrawList*)(NativePtr), radius);
return ret;
}
public void _ClearFreeMemory()
{
ImGuiNative.ImDrawList__ClearFreeMemory((ImDrawList*)(NativePtr));
@ -60,6 +67,14 @@ namespace ImGuiNET
{
ImGuiNative.ImDrawList__OnChangedVtxOffset((ImDrawList*)(NativePtr));
}
public void _PathArcToFastEx(Vector2 center, float radius, int a_min_sample, int a_max_sample, int a_step)
{
ImGuiNative.ImDrawList__PathArcToFastEx((ImDrawList*)(NativePtr), center, radius, a_min_sample, a_max_sample, a_step);
}
public void _PathArcToN(Vector2 center, float radius, float a_min, float a_max, int num_segments)
{
ImGuiNative.ImDrawList__PathArcToN((ImDrawList*)(NativePtr), center, radius, a_min, a_max, num_segments);
}
public void _PopUnusedDrawCmd()
{
ImGuiNative.ImDrawList__PopUnusedDrawCmd((ImDrawList*)(NativePtr));
@ -68,14 +83,23 @@ namespace ImGuiNET
{
ImGuiNative.ImDrawList__ResetForNewFrame((ImDrawList*)(NativePtr));
}
public void AddBezierCurve(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, uint col, float thickness)
public void AddBezierCubic(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, uint col, float thickness)
{
int num_segments = 0;
ImGuiNative.ImDrawList_AddBezierCubic((ImDrawList*)(NativePtr), p1, p2, p3, p4, col, thickness, num_segments);
}
public void AddBezierCubic(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, uint col, float thickness, int num_segments)
{
ImGuiNative.ImDrawList_AddBezierCubic((ImDrawList*)(NativePtr), p1, p2, p3, p4, col, thickness, num_segments);
}
public void AddBezierQuadratic(Vector2 p1, Vector2 p2, Vector2 p3, uint col, float thickness)
{
int num_segments = 0;
ImGuiNative.ImDrawList_AddBezierCurve((ImDrawList*)(NativePtr), p1, p2, p3, p4, col, thickness, num_segments);
ImGuiNative.ImDrawList_AddBezierQuadratic((ImDrawList*)(NativePtr), p1, p2, p3, col, thickness, num_segments);
}
public void AddBezierCurve(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, uint col, float thickness, int num_segments)
public void AddBezierQuadratic(Vector2 p1, Vector2 p2, Vector2 p3, uint col, float thickness, int num_segments)
{
ImGuiNative.ImDrawList_AddBezierCurve((ImDrawList*)(NativePtr), p1, p2, p3, p4, col, thickness, num_segments);
ImGuiNative.ImDrawList_AddBezierQuadratic((ImDrawList*)(NativePtr), p1, p2, p3, col, thickness, num_segments);
}
public void AddCallback(IntPtr callback, IntPtr callback_data)
{
@ -121,18 +145,18 @@ namespace ImGuiNET
{
Vector2 uv_min = new Vector2();
Vector2 uv_max = new Vector2(1, 1);
uint col = 0xFFFFFFFF;
uint col = 4294967295;
ImGuiNative.ImDrawList_AddImage((ImDrawList*)(NativePtr), user_texture_id, p_min, p_max, uv_min, uv_max, col);
}
public void AddImage(IntPtr user_texture_id, Vector2 p_min, Vector2 p_max, Vector2 uv_min)
{
Vector2 uv_max = new Vector2(1, 1);
uint col = 0xFFFFFFFF;
uint col = 4294967295;
ImGuiNative.ImDrawList_AddImage((ImDrawList*)(NativePtr), user_texture_id, p_min, p_max, uv_min, uv_max, col);
}
public void AddImage(IntPtr user_texture_id, Vector2 p_min, Vector2 p_max, Vector2 uv_min, Vector2 uv_max)
{
uint col = 0xFFFFFFFF;
uint col = 4294967295;
ImGuiNative.ImDrawList_AddImage((ImDrawList*)(NativePtr), user_texture_id, p_min, p_max, uv_min, uv_max, col);
}
public void AddImage(IntPtr user_texture_id, Vector2 p_min, Vector2 p_max, Vector2 uv_min, Vector2 uv_max, uint col)
@ -145,7 +169,7 @@ namespace ImGuiNET
Vector2 uv2 = new Vector2(1, 0);
Vector2 uv3 = new Vector2(1, 1);
Vector2 uv4 = new Vector2(0, 1);
uint col = 0xFFFFFFFF;
uint col = 4294967295;
ImGuiNative.ImDrawList_AddImageQuad((ImDrawList*)(NativePtr), user_texture_id, p1, p2, p3, p4, uv1, uv2, uv3, uv4, col);
}
public void AddImageQuad(IntPtr user_texture_id, Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, Vector2 uv1)
@ -153,25 +177,25 @@ namespace ImGuiNET
Vector2 uv2 = new Vector2(1, 0);
Vector2 uv3 = new Vector2(1, 1);
Vector2 uv4 = new Vector2(0, 1);
uint col = 0xFFFFFFFF;
uint col = 4294967295;
ImGuiNative.ImDrawList_AddImageQuad((ImDrawList*)(NativePtr), user_texture_id, p1, p2, p3, p4, uv1, uv2, uv3, uv4, col);
}
public void AddImageQuad(IntPtr user_texture_id, Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, Vector2 uv1, Vector2 uv2)
{
Vector2 uv3 = new Vector2(1, 1);
Vector2 uv4 = new Vector2(0, 1);
uint col = 0xFFFFFFFF;
uint col = 4294967295;
ImGuiNative.ImDrawList_AddImageQuad((ImDrawList*)(NativePtr), user_texture_id, p1, p2, p3, p4, uv1, uv2, uv3, uv4, col);
}
public void AddImageQuad(IntPtr user_texture_id, Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, Vector2 uv1, Vector2 uv2, Vector2 uv3)
{
Vector2 uv4 = new Vector2(0, 1);
uint col = 0xFFFFFFFF;
uint col = 4294967295;
ImGuiNative.ImDrawList_AddImageQuad((ImDrawList*)(NativePtr), user_texture_id, p1, p2, p3, p4, uv1, uv2, uv3, uv4, col);
}
public void AddImageQuad(IntPtr user_texture_id, Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, Vector2 uv1, Vector2 uv2, Vector2 uv3, Vector2 uv4)
{
uint col = 0xFFFFFFFF;
uint col = 4294967295;
ImGuiNative.ImDrawList_AddImageQuad((ImDrawList*)(NativePtr), user_texture_id, p1, p2, p3, p4, uv1, uv2, uv3, uv4, col);
}
public void AddImageQuad(IntPtr user_texture_id, Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, Vector2 uv1, Vector2 uv2, Vector2 uv3, Vector2 uv4, uint col)
@ -180,12 +204,12 @@ namespace ImGuiNET
}
public void AddImageRounded(IntPtr user_texture_id, Vector2 p_min, Vector2 p_max, Vector2 uv_min, Vector2 uv_max, uint col, float rounding)
{
ImDrawCornerFlags rounding_corners = ImDrawCornerFlags.All;
ImGuiNative.ImDrawList_AddImageRounded((ImDrawList*)(NativePtr), user_texture_id, p_min, p_max, uv_min, uv_max, col, rounding, rounding_corners);
ImDrawFlags flags = (ImDrawFlags)0;
ImGuiNative.ImDrawList_AddImageRounded((ImDrawList*)(NativePtr), user_texture_id, p_min, p_max, uv_min, uv_max, col, rounding, flags);
}
public void AddImageRounded(IntPtr user_texture_id, Vector2 p_min, Vector2 p_max, Vector2 uv_min, Vector2 uv_max, uint col, float rounding, ImDrawCornerFlags rounding_corners)
public void AddImageRounded(IntPtr user_texture_id, Vector2 p_min, Vector2 p_max, Vector2 uv_min, Vector2 uv_max, uint col, float rounding, ImDrawFlags flags)
{
ImGuiNative.ImDrawList_AddImageRounded((ImDrawList*)(NativePtr), user_texture_id, p_min, p_max, uv_min, uv_max, col, rounding, rounding_corners);
ImGuiNative.ImDrawList_AddImageRounded((ImDrawList*)(NativePtr), user_texture_id, p_min, p_max, uv_min, uv_max, col, rounding, flags);
}
public void AddLine(Vector2 p1, Vector2 p2, uint col)
{
@ -209,12 +233,11 @@ namespace ImGuiNET
{
ImGuiNative.ImDrawList_AddNgonFilled((ImDrawList*)(NativePtr), center, radius, col, num_segments);
}
public void AddPolyline(ref Vector2 points, int num_points, uint col, bool closed, float thickness)
public void AddPolyline(ref Vector2 points, int num_points, uint col, ImDrawFlags flags, float thickness)
{
byte native_closed = closed ? (byte)1 : (byte)0;
fixed (Vector2* native_points = &points)
{
ImGuiNative.ImDrawList_AddPolyline((ImDrawList*)(NativePtr), native_points, num_points, col, native_closed, thickness);
ImGuiNative.ImDrawList_AddPolyline((ImDrawList*)(NativePtr), native_points, num_points, col, flags, thickness);
}
}
public void AddQuad(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, uint col)
@ -233,39 +256,39 @@ namespace ImGuiNET
public void AddRect(Vector2 p_min, Vector2 p_max, uint col)
{
float rounding = 0.0f;
ImDrawCornerFlags rounding_corners = ImDrawCornerFlags.All;
ImDrawFlags flags = (ImDrawFlags)0;
float thickness = 1.0f;
ImGuiNative.ImDrawList_AddRect((ImDrawList*)(NativePtr), p_min, p_max, col, rounding, rounding_corners, thickness);
ImGuiNative.ImDrawList_AddRect((ImDrawList*)(NativePtr), p_min, p_max, col, rounding, flags, thickness);
}
public void AddRect(Vector2 p_min, Vector2 p_max, uint col, float rounding)
{
ImDrawCornerFlags rounding_corners = ImDrawCornerFlags.All;
ImDrawFlags flags = (ImDrawFlags)0;
float thickness = 1.0f;
ImGuiNative.ImDrawList_AddRect((ImDrawList*)(NativePtr), p_min, p_max, col, rounding, rounding_corners, thickness);
ImGuiNative.ImDrawList_AddRect((ImDrawList*)(NativePtr), p_min, p_max, col, rounding, flags, thickness);
}
public void AddRect(Vector2 p_min, Vector2 p_max, uint col, float rounding, ImDrawCornerFlags rounding_corners)
public void AddRect(Vector2 p_min, Vector2 p_max, uint col, float rounding, ImDrawFlags flags)
{
float thickness = 1.0f;
ImGuiNative.ImDrawList_AddRect((ImDrawList*)(NativePtr), p_min, p_max, col, rounding, rounding_corners, thickness);
ImGuiNative.ImDrawList_AddRect((ImDrawList*)(NativePtr), p_min, p_max, col, rounding, flags, thickness);
}
public void AddRect(Vector2 p_min, Vector2 p_max, uint col, float rounding, ImDrawCornerFlags rounding_corners, float thickness)
public void AddRect(Vector2 p_min, Vector2 p_max, uint col, float rounding, ImDrawFlags flags, float thickness)
{
ImGuiNative.ImDrawList_AddRect((ImDrawList*)(NativePtr), p_min, p_max, col, rounding, rounding_corners, thickness);
ImGuiNative.ImDrawList_AddRect((ImDrawList*)(NativePtr), p_min, p_max, col, rounding, flags, thickness);
}
public void AddRectFilled(Vector2 p_min, Vector2 p_max, uint col)
{
float rounding = 0.0f;
ImDrawCornerFlags rounding_corners = ImDrawCornerFlags.All;
ImGuiNative.ImDrawList_AddRectFilled((ImDrawList*)(NativePtr), p_min, p_max, col, rounding, rounding_corners);
ImDrawFlags flags = (ImDrawFlags)0;
ImGuiNative.ImDrawList_AddRectFilled((ImDrawList*)(NativePtr), p_min, p_max, col, rounding, flags);
}
public void AddRectFilled(Vector2 p_min, Vector2 p_max, uint col, float rounding)
{
ImDrawCornerFlags rounding_corners = ImDrawCornerFlags.All;
ImGuiNative.ImDrawList_AddRectFilled((ImDrawList*)(NativePtr), p_min, p_max, col, rounding, rounding_corners);
ImDrawFlags flags = (ImDrawFlags)0;
ImGuiNative.ImDrawList_AddRectFilled((ImDrawList*)(NativePtr), p_min, p_max, col, rounding, flags);
}
public void AddRectFilled(Vector2 p_min, Vector2 p_max, uint col, float rounding, ImDrawCornerFlags rounding_corners)
public void AddRectFilled(Vector2 p_min, Vector2 p_max, uint col, float rounding, ImDrawFlags flags)
{
ImGuiNative.ImDrawList_AddRectFilled((ImDrawList*)(NativePtr), p_min, p_max, col, rounding, rounding_corners);
ImGuiNative.ImDrawList_AddRectFilled((ImDrawList*)(NativePtr), p_min, p_max, col, rounding, flags);
}
public void AddRectFilledMultiColor(Vector2 p_min, Vector2 p_max, uint col_upr_left, uint col_upr_right, uint col_bot_right, uint col_bot_left)
{
@ -319,7 +342,7 @@ namespace ImGuiNET
}
public void PathArcTo(Vector2 center, float radius, float a_min, float a_max)
{
int num_segments = 10;
int num_segments = 0;
ImGuiNative.ImDrawList_PathArcTo((ImDrawList*)(NativePtr), center, radius, a_min, a_max, num_segments);
}
public void PathArcTo(Vector2 center, float radius, float a_min, float a_max, int num_segments)
@ -330,14 +353,23 @@ namespace ImGuiNET
{
ImGuiNative.ImDrawList_PathArcToFast((ImDrawList*)(NativePtr), center, radius, a_min_of_12, a_max_of_12);
}
public void PathBezierCurveTo(Vector2 p2, Vector2 p3, Vector2 p4)
public void PathBezierCubicCurveTo(Vector2 p2, Vector2 p3, Vector2 p4)
{
int num_segments = 0;
ImGuiNative.ImDrawList_PathBezierCubicCurveTo((ImDrawList*)(NativePtr), p2, p3, p4, num_segments);
}
public void PathBezierCubicCurveTo(Vector2 p2, Vector2 p3, Vector2 p4, int num_segments)
{
ImGuiNative.ImDrawList_PathBezierCubicCurveTo((ImDrawList*)(NativePtr), p2, p3, p4, num_segments);
}
public void PathBezierQuadraticCurveTo(Vector2 p2, Vector2 p3)
{
int num_segments = 0;
ImGuiNative.ImDrawList_PathBezierCurveTo((ImDrawList*)(NativePtr), p2, p3, p4, num_segments);
ImGuiNative.ImDrawList_PathBezierQuadraticCurveTo((ImDrawList*)(NativePtr), p2, p3, num_segments);
}
public void PathBezierCurveTo(Vector2 p2, Vector2 p3, Vector2 p4, int num_segments)
public void PathBezierQuadraticCurveTo(Vector2 p2, Vector2 p3, int num_segments)
{
ImGuiNative.ImDrawList_PathBezierCurveTo((ImDrawList*)(NativePtr), p2, p3, p4, num_segments);
ImGuiNative.ImDrawList_PathBezierQuadraticCurveTo((ImDrawList*)(NativePtr), p2, p3, num_segments);
}
public void PathClear()
{
@ -358,28 +390,32 @@ namespace ImGuiNET
public void PathRect(Vector2 rect_min, Vector2 rect_max)
{
float rounding = 0.0f;
ImDrawCornerFlags rounding_corners = ImDrawCornerFlags.All;
ImGuiNative.ImDrawList_PathRect((ImDrawList*)(NativePtr), rect_min, rect_max, rounding, rounding_corners);
ImDrawFlags flags = (ImDrawFlags)0;
ImGuiNative.ImDrawList_PathRect((ImDrawList*)(NativePtr), rect_min, rect_max, rounding, flags);
}
public void PathRect(Vector2 rect_min, Vector2 rect_max, float rounding)
{
ImDrawCornerFlags rounding_corners = ImDrawCornerFlags.All;
ImGuiNative.ImDrawList_PathRect((ImDrawList*)(NativePtr), rect_min, rect_max, rounding, rounding_corners);
ImDrawFlags flags = (ImDrawFlags)0;
ImGuiNative.ImDrawList_PathRect((ImDrawList*)(NativePtr), rect_min, rect_max, rounding, flags);
}
public void PathRect(Vector2 rect_min, Vector2 rect_max, float rounding, ImDrawCornerFlags rounding_corners)
public void PathRect(Vector2 rect_min, Vector2 rect_max, float rounding, ImDrawFlags flags)
{
ImGuiNative.ImDrawList_PathRect((ImDrawList*)(NativePtr), rect_min, rect_max, rounding, rounding_corners);
ImGuiNative.ImDrawList_PathRect((ImDrawList*)(NativePtr), rect_min, rect_max, rounding, flags);
}
public void PathStroke(uint col)
{
ImDrawFlags flags = (ImDrawFlags)0;
float thickness = 1.0f;
ImGuiNative.ImDrawList_PathStroke((ImDrawList*)(NativePtr), col, flags, thickness);
}
public void PathStroke(uint col, bool closed)
public void PathStroke(uint col, ImDrawFlags flags)
{
byte native_closed = closed ? (byte)1 : (byte)0;
float thickness = 1.0f;
ImGuiNative.ImDrawList_PathStroke((ImDrawList*)(NativePtr), col, native_closed, thickness);
ImGuiNative.ImDrawList_PathStroke((ImDrawList*)(NativePtr), col, flags, thickness);
}
public void PathStroke(uint col, bool closed, float thickness)
public void PathStroke(uint col, ImDrawFlags flags, float thickness)
{
byte native_closed = closed ? (byte)1 : (byte)0;
ImGuiNative.ImDrawList_PathStroke((ImDrawList*)(NativePtr), col, native_closed, thickness);
ImGuiNative.ImDrawList_PathStroke((ImDrawList*)(NativePtr), col, flags, thickness);
}
public void PopClipRect()
{

@ -4,9 +4,9 @@ namespace ImGuiNET
public enum ImDrawListFlags
{
None = 0,
AntiAliasedLines = 1 << 0,
AntiAliasedLinesUseTex = 1 << 1,
AntiAliasedFill = 1 << 2,
AllowVtxOffset = 1 << 3,
AntiAliasedLines = 1,
AntiAliasedLinesUseTex = 2,
AntiAliasedFill = 4,
AllowVtxOffset = 8,
}
}

@ -13,7 +13,6 @@ namespace ImGuiNET
public ImVector IndexLookup;
public ImVector Glyphs;
public ImFontGlyph* FallbackGlyph;
public Vector2 DisplayOffset;
public ImFontAtlas* ContainerAtlas;
public ImFontConfig* ConfigData;
public short ConfigDataCount;
@ -40,7 +39,6 @@ namespace ImGuiNET
public ImVector<ushort> IndexLookup => new ImVector<ushort>(NativePtr->IndexLookup);
public ImPtrVector<ImFontGlyphPtr> Glyphs => new ImPtrVector<ImFontGlyphPtr>(NativePtr->Glyphs, Unsafe.SizeOf<ImFontGlyph>());
public ImFontGlyphPtr FallbackGlyph => new ImFontGlyphPtr(NativePtr->FallbackGlyph);
public ref Vector2 DisplayOffset => ref Unsafe.AsRef<Vector2>(&NativePtr->DisplayOffset);
public ImFontAtlasPtr ContainerAtlas => new ImFontAtlasPtr(NativePtr->ContainerAtlas);
public ImFontConfigPtr ConfigData => new ImFontConfigPtr(NativePtr->ConfigData);
public ref short ConfigDataCount => ref Unsafe.AsRef<short>(&NativePtr->ConfigDataCount);

@ -7,11 +7,12 @@ namespace ImGuiNET
{
public unsafe partial struct ImFontAtlas
{
public byte Locked;
public ImFontAtlasFlags Flags;
public IntPtr TexID;
public int TexDesiredWidth;
public int TexGlyphPadding;
public byte Locked;
public byte TexPixelsUseColors;
public byte* TexPixelsAlpha8;
public uint* TexPixelsRGBA32;
public int TexWidth;
@ -85,6 +86,8 @@ namespace ImGuiNET
public Vector4 TexUvLines_61;
public Vector4 TexUvLines_62;
public Vector4 TexUvLines_63;
public IntPtr* FontBuilderIO;
public uint FontBuilderFlags;
public int PackIdMouseCursors;
public int PackIdLines;
}
@ -96,11 +99,12 @@ namespace ImGuiNET
public static implicit operator ImFontAtlasPtr(ImFontAtlas* nativePtr) => new ImFontAtlasPtr(nativePtr);
public static implicit operator ImFontAtlas* (ImFontAtlasPtr wrappedPtr) => wrappedPtr.NativePtr;
public static implicit operator ImFontAtlasPtr(IntPtr nativePtr) => new ImFontAtlasPtr(nativePtr);
public ref bool Locked => ref Unsafe.AsRef<bool>(&NativePtr->Locked);
public ref ImFontAtlasFlags Flags => ref Unsafe.AsRef<ImFontAtlasFlags>(&NativePtr->Flags);
public ref IntPtr TexID => ref Unsafe.AsRef<IntPtr>(&NativePtr->TexID);
public ref int TexDesiredWidth => ref Unsafe.AsRef<int>(&NativePtr->TexDesiredWidth);
public ref int TexGlyphPadding => ref Unsafe.AsRef<int>(&NativePtr->TexGlyphPadding);
public ref bool Locked => ref Unsafe.AsRef<bool>(&NativePtr->Locked);
public ref bool TexPixelsUseColors => ref Unsafe.AsRef<bool>(&NativePtr->TexPixelsUseColors);
public IntPtr TexPixelsAlpha8 { get => (IntPtr)NativePtr->TexPixelsAlpha8; set => NativePtr->TexPixelsAlpha8 = (byte*)value; }
public IntPtr TexPixelsRGBA32 { get => (IntPtr)NativePtr->TexPixelsRGBA32; set => NativePtr->TexPixelsRGBA32 = (uint*)value; }
public ref int TexWidth => ref Unsafe.AsRef<int>(&NativePtr->TexWidth);
@ -111,6 +115,8 @@ namespace ImGuiNET
public ImPtrVector<ImFontAtlasCustomRectPtr> CustomRects => new ImPtrVector<ImFontAtlasCustomRectPtr>(NativePtr->CustomRects, Unsafe.SizeOf<ImFontAtlasCustomRect>());
public ImPtrVector<ImFontConfigPtr> ConfigData => new ImPtrVector<ImFontConfigPtr>(NativePtr->ConfigData, Unsafe.SizeOf<ImFontConfig>());
public RangeAccessor<Vector4> TexUvLines => new RangeAccessor<Vector4>(&NativePtr->TexUvLines_0, 64);
public IntPtr FontBuilderIO { get => (IntPtr)NativePtr->FontBuilderIO; set => NativePtr->FontBuilderIO = (IntPtr*)value; }
public ref uint FontBuilderFlags => ref Unsafe.AsRef<uint>(&NativePtr->FontBuilderFlags);
public ref int PackIdMouseCursors => ref Unsafe.AsRef<int>(&NativePtr->PackIdMouseCursors);
public ref int PackIdLines => ref Unsafe.AsRef<int>(&NativePtr->PackIdLines);
public int AddCustomRectFontGlyph(ImFontPtr font, ushort id, int width, int height, float advance_x)

@ -4,8 +4,8 @@ namespace ImGuiNET
public enum ImFontAtlasFlags
{
None = 0,
NoPowerOfTwoHeight = 1 << 0,
NoMouseCursors = 1 << 1,
NoBakedLines = 1 << 2,
NoPowerOfTwoHeight = 1,
NoMouseCursors = 2,
NoBakedLines = 4,
}
}

@ -21,7 +21,7 @@ namespace ImGuiNET
public float GlyphMinAdvanceX;
public float GlyphMaxAdvanceX;
public byte MergeMode;
public uint RasterizerFlags;
public uint FontBuilderFlags;
public float RasterizerMultiply;
public ushort EllipsisChar;
public fixed byte Name[40];
@ -49,7 +49,7 @@ namespace ImGuiNET
public ref float GlyphMinAdvanceX => ref Unsafe.AsRef<float>(&NativePtr->GlyphMinAdvanceX);
public ref float GlyphMaxAdvanceX => ref Unsafe.AsRef<float>(&NativePtr->GlyphMaxAdvanceX);
public ref bool MergeMode => ref Unsafe.AsRef<bool>(&NativePtr->MergeMode);
public ref uint RasterizerFlags => ref Unsafe.AsRef<uint>(&NativePtr->RasterizerFlags);
public ref uint FontBuilderFlags => ref Unsafe.AsRef<uint>(&NativePtr->FontBuilderFlags);
public ref float RasterizerMultiply => ref Unsafe.AsRef<float>(&NativePtr->RasterizerMultiply);
public ref ushort EllipsisChar => ref Unsafe.AsRef<ushort>(&NativePtr->EllipsisChar);
public RangeAccessor<byte> Name => new RangeAccessor<byte>(NativePtr->Name, 40);

@ -7,8 +7,9 @@ namespace ImGuiNET
{
public unsafe partial struct ImFontGlyph
{
public uint Codepoint;
public uint Colored;
public uint Visible;
public uint Codepoint;
public float AdvanceX;
public float X0;
public float Y0;
@ -27,8 +28,9 @@ namespace ImGuiNET
public static implicit operator ImFontGlyphPtr(ImFontGlyph* nativePtr) => new ImFontGlyphPtr(nativePtr);
public static implicit operator ImFontGlyph* (ImFontGlyphPtr wrappedPtr) => wrappedPtr.NativePtr;
public static implicit operator ImFontGlyphPtr(IntPtr nativePtr) => new ImFontGlyphPtr(nativePtr);
public ref uint Codepoint => ref Unsafe.AsRef<uint>(&NativePtr->Codepoint);
public ref uint Colored => ref Unsafe.AsRef<uint>(&NativePtr->Colored);
public ref uint Visible => ref Unsafe.AsRef<uint>(&NativePtr->Visible);
public ref uint Codepoint => ref Unsafe.AsRef<uint>(&NativePtr->Codepoint);
public ref float AdvanceX => ref Unsafe.AsRef<float>(&NativePtr->AdvanceX);
public ref float X0 => ref Unsafe.AsRef<float>(&NativePtr->X0);
public ref float Y0 => ref Unsafe.AsRef<float>(&NativePtr->Y0);

File diff suppressed because it is too large Load Diff

@ -4,12 +4,9 @@ namespace ImGuiNET
public enum ImGuiBackendFlags
{
None = 0,
HasGamepad = 1 << 0,
HasMouseCursors = 1 << 1,
HasSetMousePos = 1 << 2,
RendererHasVtxOffset = 1 << 3,
PlatformHasViewports = 1 << 10,
HasMouseHoveredViewport = 1 << 11,
RendererHasViewports = 1 << 12,
HasGamepad = 1,
HasMouseCursors = 2,
HasSetMousePos = 4,
RendererHasVtxOffset = 8,
}
}

@ -4,10 +4,10 @@ namespace ImGuiNET
public enum ImGuiButtonFlags
{
None = 0,
MouseButtonLeft = 1 << 0,
MouseButtonRight = 1 << 1,
MouseButtonMiddle = 1 << 2,
MouseButtonMask = MouseButtonLeft | MouseButtonRight | MouseButtonMiddle,
MouseButtonDefault = MouseButtonLeft,
MouseButtonLeft = 1,
MouseButtonRight = 2,
MouseButtonMiddle = 4,
MouseButtonMask = 7,
MouseButtonDefault = 1,
}
}

@ -40,18 +40,21 @@ namespace ImGuiNET
TabActive = 35,
TabUnfocused = 36,
TabUnfocusedActive = 37,
DockingPreview = 38,
DockingEmptyBg = 39,
PlotLines = 40,
PlotLinesHovered = 41,
PlotHistogram = 42,
PlotHistogramHovered = 43,
TextSelectedBg = 44,
DragDropTarget = 45,
NavHighlight = 46,
NavWindowingHighlight = 47,
NavWindowingDimBg = 48,
ModalWindowDimBg = 49,
COUNT = 50,
PlotLines = 38,
PlotLinesHovered = 39,
PlotHistogram = 40,
PlotHistogramHovered = 41,
TableHeaderBg = 42,
TableBorderStrong = 43,
TableBorderLight = 44,
TableRowBg = 45,
TableRowBgAlt = 46,
TextSelectedBg = 47,
DragDropTarget = 48,
NavHighlight = 49,
NavWindowingHighlight = 50,
NavWindowingDimBg = 51,
ModalWindowDimBg = 52,
COUNT = 53,
}
}

@ -4,33 +4,33 @@ namespace ImGuiNET
public enum ImGuiColorEditFlags
{
None = 0,
NoAlpha = 1 << 1,
NoPicker = 1 << 2,
NoOptions = 1 << 3,
NoSmallPreview = 1 << 4,
NoInputs = 1 << 5,
NoTooltip = 1 << 6,
NoLabel = 1 << 7,
NoSidePreview = 1 << 8,
NoDragDrop = 1 << 9,
NoBorder = 1 << 10,
AlphaBar = 1 << 16,
AlphaPreview = 1 << 17,
AlphaPreviewHalf = 1 << 18,
HDR = 1 << 19,
DisplayRGB = 1 << 20,
DisplayHSV = 1 << 21,
DisplayHex = 1 << 22,
Uint8 = 1 << 23,
Float = 1 << 24,
PickerHueBar = 1 << 25,
PickerHueWheel = 1 << 26,
InputRGB = 1 << 27,
InputHSV = 1 << 28,
_OptionsDefault = Uint8 | DisplayRGB | InputRGB | PickerHueBar,
_DisplayMask = DisplayRGB | DisplayHSV | DisplayHex,
_DataTypeMask = Uint8 | Float,
_PickerMask = PickerHueWheel | PickerHueBar,
_InputMask = InputRGB | InputHSV,
NoAlpha = 2,
NoPicker = 4,
NoOptions = 8,
NoSmallPreview = 16,
NoInputs = 32,
NoTooltip = 64,
NoLabel = 128,
NoSidePreview = 256,
NoDragDrop = 512,
NoBorder = 1024,
AlphaBar = 65536,
AlphaPreview = 131072,
AlphaPreviewHalf = 262144,
HDR = 524288,
DisplayRGB = 1048576,
DisplayHSV = 2097152,
DisplayHex = 4194304,
Uint8 = 8388608,
Float = 16777216,
PickerHueBar = 33554432,
PickerHueWheel = 67108864,
InputRGB = 134217728,
InputHSV = 268435456,
_OptionsDefault = 177209344,
_DisplayMask = 7340032,
_DataTypeMask = 25165824,
_PickerMask = 100663296,
_InputMask = 402653184,
}
}

@ -4,13 +4,13 @@ namespace ImGuiNET
public enum ImGuiComboFlags
{
None = 0,
PopupAlignLeft = 1 << 0,
HeightSmall = 1 << 1,
HeightRegular = 1 << 2,
HeightLarge = 1 << 3,
HeightLargest = 1 << 4,
NoArrowButton = 1 << 5,
NoPreview = 1 << 6,
HeightMask = HeightSmall | HeightRegular | HeightLarge | HeightLargest,
PopupAlignLeft = 1,
HeightSmall = 2,
HeightRegular = 4,
HeightLarge = 8,
HeightLargest = 16,
NoArrowButton = 32,
NoPreview = 64,
HeightMask = 30,
}
}

@ -3,9 +3,9 @@ namespace ImGuiNET
public enum ImGuiCond
{
None = 0,
Always = 1 << 0,
Once = 1 << 1,
FirstUseEver = 1 << 2,
Appearing = 1 << 3,
Always = 1,
Once = 2,
FirstUseEver = 4,
Appearing = 8,
}
}

@ -4,17 +4,13 @@ namespace ImGuiNET
public enum ImGuiConfigFlags
{
None = 0,
NavEnableKeyboard = 1 << 0,
NavEnableGamepad = 1 << 1,
NavEnableSetMousePos = 1 << 2,
NavNoCaptureKeyboard = 1 << 3,
NoMouse = 1 << 4,
NoMouseCursorChange = 1 << 5,
DockingEnable = 1 << 6,
ViewportsEnable = 1 << 10,
DpiEnableScaleViewports = 1 << 14,
DpiEnableScaleFonts = 1 << 15,
IsSRGB = 1 << 20,
IsTouchScreen = 1 << 21,
NavEnableKeyboard = 1,
NavEnableGamepad = 2,
NavEnableSetMousePos = 4,
NavNoCaptureKeyboard = 8,
NoMouse = 16,
NoMouseCursorChange = 32,
IsSRGB = 1048576,
IsTouchScreen = 2097152,
}
}

@ -1,14 +0,0 @@
namespace ImGuiNET
{
[System.Flags]
public enum ImGuiDockNodeFlags
{
None = 0,
KeepAliveOnly = 1 << 0,
NoDockingInCentralNode = 1 << 2,
PassthruCentralNode = 1 << 3,
NoSplit = 1 << 4,
NoResize = 1 << 5,
AutoHideTabBar = 1 << 6,
}
}

@ -4,15 +4,15 @@ namespace ImGuiNET
public enum ImGuiDragDropFlags
{
None = 0,
SourceNoPreviewTooltip = 1 << 0,
SourceNoDisableHover = 1 << 1,
SourceNoHoldToOpenOthers = 1 << 2,
SourceAllowNullID = 1 << 3,
SourceExtern = 1 << 4,
SourceAutoExpirePayload = 1 << 5,
AcceptBeforeDelivery = 1 << 10,
AcceptNoDrawDefaultRect = 1 << 11,
AcceptNoPreviewTooltip = 1 << 12,
AcceptPeekOnly = AcceptBeforeDelivery | AcceptNoDrawDefaultRect,
SourceNoPreviewTooltip = 1,
SourceNoDisableHover = 2,
SourceNoHoldToOpenOthers = 4,
SourceAllowNullID = 8,
SourceExtern = 16,
SourceAutoExpirePayload = 32,
AcceptBeforeDelivery = 1024,
AcceptNoDrawDefaultRect = 2048,
AcceptNoPreviewTooltip = 4096,
AcceptPeekOnly = 3072,
}
}

@ -4,9 +4,9 @@ namespace ImGuiNET
public enum ImGuiFocusedFlags
{
None = 0,
ChildWindows = 1 << 0,
RootWindow = 1 << 1,
AnyWindow = 1 << 2,
RootAndChildWindows = RootWindow | ChildWindows,
ChildWindows = 1,
RootWindow = 2,
AnyWindow = 4,
RootAndChildWindows = 3,
}
}

@ -4,14 +4,14 @@ namespace ImGuiNET
public enum ImGuiHoveredFlags
{
None = 0,
ChildWindows = 1 << 0,
RootWindow = 1 << 1,
AnyWindow = 1 << 2,
AllowWhenBlockedByPopup = 1 << 3,
AllowWhenBlockedByActiveItem = 1 << 5,
AllowWhenOverlapped = 1 << 6,
AllowWhenDisabled = 1 << 7,
RectOnly = AllowWhenBlockedByPopup | AllowWhenBlockedByActiveItem | AllowWhenOverlapped,
RootAndChildWindows = RootWindow | ChildWindows,
ChildWindows = 1,
RootWindow = 2,
AnyWindow = 4,
AllowWhenBlockedByPopup = 8,
AllowWhenBlockedByActiveItem = 32,
AllowWhenOverlapped = 64,
AllowWhenDisabled = 128,
RectOnly = 104,
RootAndChildWindows = 3,
}
}

@ -26,20 +26,13 @@ namespace ImGuiNET
public byte FontAllowUserScaling;
public ImFont* FontDefault;
public Vector2 DisplayFramebufferScale;
public byte ConfigDockingNoSplit;
public byte ConfigDockingWithShift;
public byte ConfigDockingAlwaysTabBar;
public byte ConfigDockingTransparentPayload;
public byte ConfigViewportsNoAutoMerge;
public byte ConfigViewportsNoTaskBarIcon;
public byte ConfigViewportsNoDecoration;
public byte ConfigViewportsNoDefaultParent;
public byte MouseDrawCursor;
public byte ConfigMacOSXBehaviors;
public byte ConfigInputTextCursorBlink;
public byte ConfigDragClickToInputText;
public byte ConfigWindowsResizeFromEdges;
public byte ConfigWindowsMoveFromTitleBarOnly;
public float ConfigWindowsMemoryCompactTimer;
public float ConfigMemoryCompactTimer;
public byte* BackendPlatformName;
public byte* BackendRendererName;
public void* BackendPlatformUserData;
@ -48,12 +41,12 @@ namespace ImGuiNET
public IntPtr GetClipboardTextFn;
public IntPtr SetClipboardTextFn;
public void* ClipboardUserData;
public void* RenderDrawListsFnUnused;
public IntPtr ImeSetInputScreenPosFn;
public void* ImeWindowHandle;
public Vector2 MousePos;
public fixed byte MouseDown[5];
public float MouseWheel;
public float MouseWheelH;
public uint MouseHoveredViewport;
public byte KeyCtrl;
public byte KeyShift;
public byte KeyAlt;
@ -130,20 +123,13 @@ namespace ImGuiNET
public ref bool FontAllowUserScaling => ref Unsafe.AsRef<bool>(&NativePtr->FontAllowUserScaling);
public ImFontPtr FontDefault => new ImFontPtr(NativePtr->FontDefault);
public ref Vector2 DisplayFramebufferScale => ref Unsafe.AsRef<Vector2>(&NativePtr->DisplayFramebufferScale);
public ref bool ConfigDockingNoSplit => ref Unsafe.AsRef<bool>(&NativePtr->ConfigDockingNoSplit);
public ref bool ConfigDockingWithShift => ref Unsafe.AsRef<bool>(&NativePtr->ConfigDockingWithShift);
public ref bool ConfigDockingAlwaysTabBar => ref Unsafe.AsRef<bool>(&NativePtr->ConfigDockingAlwaysTabBar);
public ref bool ConfigDockingTransparentPayload => ref Unsafe.AsRef<bool>(&NativePtr->ConfigDockingTransparentPayload);
public ref bool ConfigViewportsNoAutoMerge => ref Unsafe.AsRef<bool>(&NativePtr->ConfigViewportsNoAutoMerge);
public ref bool ConfigViewportsNoTaskBarIcon => ref Unsafe.AsRef<bool>(&NativePtr->ConfigViewportsNoTaskBarIcon);
public ref bool ConfigViewportsNoDecoration => ref Unsafe.AsRef<bool>(&NativePtr->ConfigViewportsNoDecoration);
public ref bool ConfigViewportsNoDefaultParent => ref Unsafe.AsRef<bool>(&NativePtr->ConfigViewportsNoDefaultParent);
public ref bool MouseDrawCursor => ref Unsafe.AsRef<bool>(&NativePtr->MouseDrawCursor);
public ref bool ConfigMacOSXBehaviors => ref Unsafe.AsRef<bool>(&NativePtr->ConfigMacOSXBehaviors);
public ref bool ConfigInputTextCursorBlink => ref Unsafe.AsRef<bool>(&NativePtr->ConfigInputTextCursorBlink);
public ref bool ConfigDragClickToInputText => ref Unsafe.AsRef<bool>(&NativePtr->ConfigDragClickToInputText);
public ref bool ConfigWindowsResizeFromEdges => ref Unsafe.AsRef<bool>(&NativePtr->ConfigWindowsResizeFromEdges);
public ref bool ConfigWindowsMoveFromTitleBarOnly => ref Unsafe.AsRef<bool>(&NativePtr->ConfigWindowsMoveFromTitleBarOnly);
public ref float ConfigWindowsMemoryCompactTimer => ref Unsafe.AsRef<float>(&NativePtr->ConfigWindowsMemoryCompactTimer);
public ref float ConfigMemoryCompactTimer => ref Unsafe.AsRef<float>(&NativePtr->ConfigMemoryCompactTimer);
public NullTerminatedString BackendPlatformName => new NullTerminatedString(NativePtr->BackendPlatformName);
public NullTerminatedString BackendRendererName => new NullTerminatedString(NativePtr->BackendRendererName);
public IntPtr BackendPlatformUserData { get => (IntPtr)NativePtr->BackendPlatformUserData; set => NativePtr->BackendPlatformUserData = (void*)value; }
@ -152,12 +138,12 @@ namespace ImGuiNET
public ref IntPtr GetClipboardTextFn => ref Unsafe.AsRef<IntPtr>(&NativePtr->GetClipboardTextFn);
public ref IntPtr SetClipboardTextFn => ref Unsafe.AsRef<IntPtr>(&NativePtr->SetClipboardTextFn);
public IntPtr ClipboardUserData { get => (IntPtr)NativePtr->ClipboardUserData; set => NativePtr->ClipboardUserData = (void*)value; }
public IntPtr RenderDrawListsFnUnused { get => (IntPtr)NativePtr->RenderDrawListsFnUnused; set => NativePtr->RenderDrawListsFnUnused = (void*)value; }
public ref IntPtr ImeSetInputScreenPosFn => ref Unsafe.AsRef<IntPtr>(&NativePtr->ImeSetInputScreenPosFn);
public IntPtr ImeWindowHandle { get => (IntPtr)NativePtr->ImeWindowHandle; set => NativePtr->ImeWindowHandle = (void*)value; }
public ref Vector2 MousePos => ref Unsafe.AsRef<Vector2>(&NativePtr->MousePos);
public RangeAccessor<bool> MouseDown => new RangeAccessor<bool>(NativePtr->MouseDown, 5);
public ref float MouseWheel => ref Unsafe.AsRef<float>(&NativePtr->MouseWheel);
public ref float MouseWheelH => ref Unsafe.AsRef<float>(&NativePtr->MouseWheelH);
public ref uint MouseHoveredViewport => ref Unsafe.AsRef<uint>(&NativePtr->MouseHoveredViewport);
public ref bool KeyCtrl => ref Unsafe.AsRef<bool>(&NativePtr->KeyCtrl);
public ref bool KeyShift => ref Unsafe.AsRef<bool>(&NativePtr->KeyShift);
public ref bool KeyAlt => ref Unsafe.AsRef<bool>(&NativePtr->KeyAlt);

@ -40,6 +40,10 @@ namespace ImGuiNET
public ref int CursorPos => ref Unsafe.AsRef<int>(&NativePtr->CursorPos);
public ref int SelectionStart => ref Unsafe.AsRef<int>(&NativePtr->SelectionStart);
public ref int SelectionEnd => ref Unsafe.AsRef<int>(&NativePtr->SelectionEnd);
public void ClearSelection()
{
ImGuiNative.ImGuiInputTextCallbackData_ClearSelection((ImGuiInputTextCallbackData*)(NativePtr));
}
public void DeleteChars(int pos, int bytes_count)
{
ImGuiNative.ImGuiInputTextCallbackData_DeleteChars((ImGuiInputTextCallbackData*)(NativePtr), pos, bytes_count);
@ -80,5 +84,9 @@ namespace ImGuiNET
Util.Free(native_text);
}
}
public void SelectAll()
{
ImGuiNative.ImGuiInputTextCallbackData_SelectAll((ImGuiInputTextCallbackData*)(NativePtr));
}
}
}

@ -4,26 +4,27 @@ namespace ImGuiNET
public enum ImGuiInputTextFlags
{
None = 0,
CharsDecimal = 1 << 0,
CharsHexadecimal = 1 << 1,
CharsUppercase = 1 << 2,
CharsNoBlank = 1 << 3,
AutoSelectAll = 1 << 4,
EnterReturnsTrue = 1 << 5,
CallbackCompletion = 1 << 6,
CallbackHistory = 1 << 7,
CallbackAlways = 1 << 8,
CallbackCharFilter = 1 << 9,
AllowTabInput = 1 << 10,
CtrlEnterForNewLine = 1 << 11,
NoHorizontalScroll = 1 << 12,
AlwaysInsertMode = 1 << 13,
ReadOnly = 1 << 14,
Password = 1 << 15,
NoUndoRedo = 1 << 16,
CharsScientific = 1 << 17,
CallbackResize = 1 << 18,
Multiline = 1 << 20,
NoMarkEdited = 1 << 21,
CharsDecimal = 1,
CharsHexadecimal = 2,
CharsUppercase = 4,
CharsNoBlank = 8,
AutoSelectAll = 16,
EnterReturnsTrue = 32,
CallbackCompletion = 64,
CallbackHistory = 128,
CallbackAlways = 256,
CallbackCharFilter = 512,
AllowTabInput = 1024,
CtrlEnterForNewLine = 2048,
NoHorizontalScroll = 4096,
AlwaysOverwrite = 8192,
ReadOnly = 16384,
Password = 32768,
NoUndoRedo = 65536,
CharsScientific = 131072,
CallbackResize = 262144,
CallbackEdit = 524288,
Multiline = 1048576,
NoMarkEdited = 2097152,
}
}

@ -4,9 +4,9 @@ namespace ImGuiNET
public enum ImGuiKeyModFlags
{
None = 0,
Ctrl = 1 << 0,
Shift = 1 << 1,
Alt = 1 << 2,
Super = 1 << 3,
Ctrl = 1,
Shift = 2,
Alt = 4,
Super = 8,
}
}

@ -11,6 +11,7 @@ namespace ImGuiNET
public int DisplayEnd;
public int ItemsCount;
public int StepNo;
public int ItemsFrozen;
public float ItemsHeight;
public float StartPosY;
}
@ -26,6 +27,7 @@ namespace ImGuiNET
public ref int DisplayEnd => ref Unsafe.AsRef<int>(&NativePtr->DisplayEnd);
public ref int ItemsCount => ref Unsafe.AsRef<int>(&NativePtr->ItemsCount);
public ref int StepNo => ref Unsafe.AsRef<int>(&NativePtr->StepNo);
public ref int ItemsFrozen => ref Unsafe.AsRef<int>(&NativePtr->ItemsFrozen);
public ref float ItemsHeight => ref Unsafe.AsRef<float>(&NativePtr->ItemsHeight);
public ref float StartPosY => ref Unsafe.AsRef<float>(&NativePtr->StartPosY);
public void Begin(int items_count)

@ -29,6 +29,8 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igBeginGroup();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igBeginListBox(byte* label, Vector2 size);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igBeginMainMenuBar();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igBeginMenu(byte* label, byte enabled);
@ -49,6 +51,8 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igBeginTabItem(byte* label, byte* p_open, ImGuiTabItemFlags flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igBeginTable(byte* str_id, int column, ImGuiTableFlags flags, Vector2 outer_size, float inner_width);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igBeginTooltip();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igBullet();
@ -69,13 +73,15 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igCheckbox(byte* label, byte* v);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igCheckboxFlags(byte* label, uint* flags, uint flags_value);
public static extern byte igCheckboxFlagsIntPtr(byte* label, int* flags, int flags_value);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igCheckboxFlagsUintPtr(byte* label, uint* flags, uint flags_value);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igCloseCurrentPopup();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igCollapsingHeaderTreeNodeFlags(byte* label, ImGuiTreeNodeFlags flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igCollapsingHeaderBoolPtr(byte* label, byte* p_open, ImGuiTreeNodeFlags flags);
public static extern byte igCollapsingHeaderBoolPtr(byte* label, byte* p_visible, ImGuiTreeNodeFlags flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igColorButton(byte* desc_id, Vector4 col, ImGuiColorEditFlags flags, Vector2 size);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
@ -107,12 +113,6 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igDestroyContext(IntPtr ctx);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igDestroyPlatformWindows();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igDockSpace(uint id, Vector2 size, ImGuiDockNodeFlags flags, ImGuiWindowClass* window_class);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern uint igDockSpaceOverViewport(ImGuiViewport* viewport, ImGuiDockNodeFlags flags, ImGuiWindowClass* window_class);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igDragFloat(byte* label, float* v, float v_speed, float v_min, float v_max, byte* format, ImGuiSliderFlags flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igDragFloat2(byte* label, Vector2* v, float v_speed, float v_min, float v_max, byte* format, ImGuiSliderFlags flags);
@ -155,6 +155,8 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igEndGroup();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igEndListBox();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igEndMainMenuBar();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igEndMenu();
@ -167,16 +169,14 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igEndTabItem();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igEndTooltip();
public static extern void igEndTable();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImGuiViewport* igFindViewportByID(uint id);
public static extern void igEndTooltip();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImGuiViewport* igFindViewportByPlatformHandle(void* platform_handle);
public static extern void igGetAllocatorFunctions(IntPtr* p_alloc_func, IntPtr* p_free_func, void** p_user_data);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImDrawList* igGetBackgroundDrawListNil();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImDrawList* igGetBackgroundDrawListViewportPtr(ImGuiViewport* viewport);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte* igGetClipboardText();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern uint igGetColorU32Col(ImGuiCol idx, float alpha_mul);
@ -223,8 +223,6 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImDrawList* igGetForegroundDrawListNil();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImDrawList* igGetForegroundDrawListViewportPtr(ImGuiViewport* viewport);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern int igGetFrameCount();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern float igGetFrameHeight();
@ -259,8 +257,6 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igGetMousePosOnOpeningCurrentPopup(Vector2* pOut);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImGuiPlatformIO* igGetPlatformIO();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern float igGetScrollMaxX();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern float igGetScrollMaxY();
@ -293,10 +289,6 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern float igGetWindowContentRegionWidth();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern uint igGetWindowDockID();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern float igGetWindowDpiScale();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImDrawList* igGetWindowDrawList();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern float igGetWindowHeight();
@ -305,8 +297,6 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igGetWindowSize(Vector2* pOut);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImGuiViewport* igGetWindowViewport();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern float igGetWindowWidth();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igImage(IntPtr user_texture_id, Vector2 size, Vector2 uv0, Vector2 uv1, Vector4 tint_col, Vector4 border_col);
@ -403,8 +393,6 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igIsWindowCollapsed();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igIsWindowDocked();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igIsWindowFocused(ImGuiFocusedFlags flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igIsWindowHovered(ImGuiHoveredFlags flags);
@ -413,12 +401,6 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igListBoxStr_arr(byte* label, int* current_item, byte** items, int items_count, int height_in_items);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igListBoxFooter();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igListBoxHeaderVec2(byte* label, Vector2 size);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igListBoxHeaderInt(byte* label, int items_count, int height_in_items);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igLoadIniSettingsFromDisk(byte* ini_filename);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igLoadIniSettingsFromMemory(byte* ini_data, uint ini_size);
@ -451,7 +433,7 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igOpenPopup(byte* str_id, ImGuiPopupFlags popup_flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igOpenPopupContextItem(byte* str_id, ImGuiPopupFlags popup_flags);
public static extern void igOpenPopupOnItemClick(byte* str_id, ImGuiPopupFlags popup_flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igPlotHistogramFloatPtr(byte* label, float* values, int values_count, int values_offset, byte* overlay_text, float scale_min, float scale_max, Vector2 graph_size, int stride);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
@ -511,8 +493,6 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igRender();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igRenderPlatformWindowsDefault(void* platform_render_arg, void* renderer_render_arg);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igResetMouseDragDelta(ImGuiMouseButton button);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSameLine(float offset_from_start_x, float spacing);
@ -527,6 +507,8 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSeparator();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetAllocatorFunctions(IntPtr alloc_func, IntPtr free_func, void* user_data);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetClipboardText(byte* text);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetColorEditOptions(ImGuiColorEditFlags flags);
@ -561,14 +543,10 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetNextWindowBgAlpha(float alpha);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetNextWindowClass(ImGuiWindowClass* window_class);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetNextWindowCollapsed(byte collapsed, ImGuiCond cond);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetNextWindowContentSize(Vector2 size);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetNextWindowDockID(uint dock_id, ImGuiCond cond);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetNextWindowFocus();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetNextWindowPos(Vector2 pos, ImGuiCond cond, Vector2 pivot);
@ -577,8 +555,6 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetNextWindowSizeConstraints(Vector2 size_min, Vector2 size_max, ImGuiSizeCallback custom_callback, void* custom_callback_data);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetNextWindowViewport(uint viewport_id);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetScrollFromPosXFloat(float local_x, float center_x_ratio);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetScrollFromPosYFloat(float local_y, float center_y_ratio);
@ -661,6 +637,36 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igStyleColorsLight(ImGuiStyle* dst);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igTabItemButton(byte* label, ImGuiTabItemFlags flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern int igTableGetColumnCount();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImGuiTableColumnFlags igTableGetColumnFlags(int column_n);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern int igTableGetColumnIndex();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte* igTableGetColumnNameInt(int column_n);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern int igTableGetRowIndex();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImGuiTableSortSpecs* igTableGetSortSpecs();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igTableHeader(byte* label);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igTableHeadersRow();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igTableNextColumn();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igTableNextRow(ImGuiTableRowFlags row_flags, float min_row_height);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igTableSetBgColor(ImGuiTableBgTarget target, uint color, int column_n);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igTableSetColumnIndex(int column_n);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igTableSetupColumn(byte* label, ImGuiTableColumnFlags flags, float init_width_or_weight, uint user_id);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igTableSetupScrollFreeze(int cols, int rows);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igText(byte* fmt);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igTextColored(Vector4 col, byte* fmt);
@ -691,8 +697,6 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igUnindent(float indent_w);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igUpdatePlatformWindows();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igValueBool(byte* prefix, byte b);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igValueInt(byte* prefix, int v);
@ -709,7 +713,7 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImColor_destroy(ImColor* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImColor_HSV(ImColor* pOut, ImColor* self, float h, float s, float v, float a);
public static extern void ImColor_HSV(ImColor* pOut, float h, float s, float v, float a);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImColor* ImColor_ImColorNil();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
@ -737,6 +741,8 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawData_ScaleClipRects(ImDrawData* self, Vector2 fb_scale);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern int ImDrawList__CalcCircleAutoSegmentCount(ImDrawList* self, float radius);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawList__ClearFreeMemory(ImDrawList* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawList__OnChangedClipRect(ImDrawList* self);
@ -745,11 +751,17 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawList__OnChangedVtxOffset(ImDrawList* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawList__PathArcToFastEx(ImDrawList* self, Vector2 center, float radius, int a_min_sample, int a_max_sample, int a_step);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawList__PathArcToN(ImDrawList* self, Vector2 center, float radius, float a_min, float a_max, int num_segments);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawList__PopUnusedDrawCmd(ImDrawList* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawList__ResetForNewFrame(ImDrawList* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawList_AddBezierCurve(ImDrawList* self, Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, uint col, float thickness, int num_segments);
public static extern void ImDrawList_AddBezierCubic(ImDrawList* self, Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, uint col, float thickness, int num_segments);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawList_AddBezierQuadratic(ImDrawList* self, Vector2 p1, Vector2 p2, Vector2 p3, uint col, float thickness, int num_segments);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawList_AddCallback(ImDrawList* self, IntPtr callback, void* callback_data);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
@ -765,7 +777,7 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawList_AddImageQuad(ImDrawList* self, IntPtr user_texture_id, Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, Vector2 uv1, Vector2 uv2, Vector2 uv3, Vector2 uv4, uint col);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawList_AddImageRounded(ImDrawList* self, IntPtr user_texture_id, Vector2 p_min, Vector2 p_max, Vector2 uv_min, Vector2 uv_max, uint col, float rounding, ImDrawCornerFlags rounding_corners);
public static extern void ImDrawList_AddImageRounded(ImDrawList* self, IntPtr user_texture_id, Vector2 p_min, Vector2 p_max, Vector2 uv_min, Vector2 uv_max, uint col, float rounding, ImDrawFlags flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawList_AddLine(ImDrawList* self, Vector2 p1, Vector2 p2, uint col, float thickness);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
@ -773,15 +785,15 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawList_AddNgonFilled(ImDrawList* self, Vector2 center, float radius, uint col, int num_segments);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawList_AddPolyline(ImDrawList* self, Vector2* points, int num_points, uint col, byte closed, float thickness);
public static extern void ImDrawList_AddPolyline(ImDrawList* self, Vector2* points, int num_points, uint col, ImDrawFlags flags, float thickness);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawList_AddQuad(ImDrawList* self, Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, uint col, float thickness);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawList_AddQuadFilled(ImDrawList* self, Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, uint col);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawList_AddRect(ImDrawList* self, Vector2 p_min, Vector2 p_max, uint col, float rounding, ImDrawCornerFlags rounding_corners, float thickness);
public static extern void ImDrawList_AddRect(ImDrawList* self, Vector2 p_min, Vector2 p_max, uint col, float rounding, ImDrawFlags flags, float thickness);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawList_AddRectFilled(ImDrawList* self, Vector2 p_min, Vector2 p_max, uint col, float rounding, ImDrawCornerFlags rounding_corners);
public static extern void ImDrawList_AddRectFilled(ImDrawList* self, Vector2 p_min, Vector2 p_max, uint col, float rounding, ImDrawFlags flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawList_AddRectFilledMultiColor(ImDrawList* self, Vector2 p_min, Vector2 p_max, uint col_upr_left, uint col_upr_right, uint col_bot_right, uint col_bot_left);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
@ -813,7 +825,9 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawList_PathArcToFast(ImDrawList* self, Vector2 center, float radius, int a_min_of_12, int a_max_of_12);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawList_PathBezierCurveTo(ImDrawList* self, Vector2 p2, Vector2 p3, Vector2 p4, int num_segments);
public static extern void ImDrawList_PathBezierCubicCurveTo(ImDrawList* self, Vector2 p2, Vector2 p3, Vector2 p4, int num_segments);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawList_PathBezierQuadraticCurveTo(ImDrawList* self, Vector2 p2, Vector2 p3, int num_segments);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawList_PathClear(ImDrawList* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
@ -823,9 +837,9 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawList_PathLineToMergeDuplicate(ImDrawList* self, Vector2 pos);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawList_PathRect(ImDrawList* self, Vector2 rect_min, Vector2 rect_max, float rounding, ImDrawCornerFlags rounding_corners);
public static extern void ImDrawList_PathRect(ImDrawList* self, Vector2 rect_min, Vector2 rect_max, float rounding, ImDrawFlags flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawList_PathStroke(ImDrawList* self, uint col, byte closed, float thickness);
public static extern void ImDrawList_PathStroke(ImDrawList* self, uint col, ImDrawFlags flags, float thickness);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawList_PopClipRect(ImDrawList* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
@ -997,6 +1011,8 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImFontGlyphRangesBuilder_SetBit(ImFontGlyphRangesBuilder* self, uint n);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiInputTextCallbackData_ClearSelection(ImGuiInputTextCallbackData* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiInputTextCallbackData_DeleteChars(ImGuiInputTextCallbackData* self, int pos, int bytes_count);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiInputTextCallbackData_destroy(ImGuiInputTextCallbackData* self);
@ -1007,6 +1023,8 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiInputTextCallbackData_InsertChars(ImGuiInputTextCallbackData* self, int pos, byte* text, byte* text_end);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiInputTextCallbackData_SelectAll(ImGuiInputTextCallbackData* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiIO_AddInputCharacter(ImGuiIO* self, uint c);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiIO_AddInputCharactersUTF8(ImGuiIO* self, byte* str);
@ -1025,7 +1043,7 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiListClipper_End(ImGuiListClipper* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImGuiListClipper* ImGuiListClipper_ImGuiListClipper(int items_count, float items_height);
public static extern ImGuiListClipper* ImGuiListClipper_ImGuiListClipper();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte ImGuiListClipper_Step(ImGuiListClipper* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
@ -1045,14 +1063,6 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte ImGuiPayload_IsPreview(ImGuiPayload* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiPlatformIO_destroy(ImGuiPlatformIO* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImGuiPlatformIO* ImGuiPlatformIO_ImGuiPlatformIO();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiPlatformMonitor_destroy(ImGuiPlatformMonitor* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImGuiPlatformMonitor* ImGuiPlatformMonitor_ImGuiPlatformMonitor();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiStorage_BuildSortByKey(ImGuiStorage* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiStorage_Clear(ImGuiStorage* self);
@ -1097,6 +1107,14 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiStyle_ScaleAllSizes(ImGuiStyle* self, float scale_factor);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiTableColumnSortSpecs_destroy(ImGuiTableColumnSortSpecs* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImGuiTableColumnSortSpecs* ImGuiTableColumnSortSpecs_ImGuiTableColumnSortSpecs();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiTableSortSpecs_destroy(ImGuiTableSortSpecs* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImGuiTableSortSpecs* ImGuiTableSortSpecs_ImGuiTableSortSpecs();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiTextBuffer_append(ImGuiTextBuffer* self, byte* str, byte* str_end);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiTextBuffer_appendf(ImGuiTextBuffer* self, byte* fmt);
@ -1147,16 +1165,10 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiViewport_GetCenter(Vector2* pOut, ImGuiViewport* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiViewport_GetWorkPos(Vector2* pOut, ImGuiViewport* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiViewport_GetWorkSize(Vector2* pOut, ImGuiViewport* self);
public static extern void ImGuiViewport_GetWorkCenter(Vector2* pOut, ImGuiViewport* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImGuiViewport* ImGuiViewport_ImGuiViewport();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiWindowClass_destroy(ImGuiWindowClass* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImGuiWindowClass* ImGuiWindowClass_ImGuiWindowClass();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImVec2_destroy(Vector2* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern Vector2* ImVec2_ImVec2Nil();

@ -24,6 +24,6 @@ namespace ImGuiNET
KeyUp = 19,
KeyDown = 20,
COUNT = 21,
InternalStart = KeyMenu,
InternalStart = 16,
}
}

@ -1,78 +0,0 @@
using System;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Text;
namespace ImGuiNET
{
public unsafe partial struct ImGuiPlatformIO
{
public IntPtr Platform_CreateWindow;
public IntPtr Platform_DestroyWindow;
public IntPtr Platform_ShowWindow;
public IntPtr Platform_SetWindowPos;
public IntPtr Platform_GetWindowPos;
public IntPtr Platform_SetWindowSize;
public IntPtr Platform_GetWindowSize;
public IntPtr Platform_SetWindowFocus;
public IntPtr Platform_GetWindowFocus;
public IntPtr Platform_GetWindowMinimized;
public IntPtr Platform_SetWindowTitle;
public IntPtr Platform_SetWindowAlpha;
public IntPtr Platform_UpdateWindow;
public IntPtr Platform_RenderWindow;
public IntPtr Platform_SwapBuffers;
public IntPtr Platform_GetWindowDpiScale;
public IntPtr Platform_OnChangedViewport;
public IntPtr Platform_SetImeInputPos;
public IntPtr Platform_CreateVkSurface;
public IntPtr Renderer_CreateWindow;
public IntPtr Renderer_DestroyWindow;
public IntPtr Renderer_SetWindowSize;
public IntPtr Renderer_RenderWindow;
public IntPtr Renderer_SwapBuffers;
public ImVector Monitors;
public ImGuiViewport* MainViewport;
public ImVector Viewports;
}
public unsafe partial struct ImGuiPlatformIOPtr
{
public ImGuiPlatformIO* NativePtr { get; }
public ImGuiPlatformIOPtr(ImGuiPlatformIO* nativePtr) => NativePtr = nativePtr;
public ImGuiPlatformIOPtr(IntPtr nativePtr) => NativePtr = (ImGuiPlatformIO*)nativePtr;
public static implicit operator ImGuiPlatformIOPtr(ImGuiPlatformIO* nativePtr) => new ImGuiPlatformIOPtr(nativePtr);
public static implicit operator ImGuiPlatformIO* (ImGuiPlatformIOPtr wrappedPtr) => wrappedPtr.NativePtr;
public static implicit operator ImGuiPlatformIOPtr(IntPtr nativePtr) => new ImGuiPlatformIOPtr(nativePtr);
public ref IntPtr Platform_CreateWindow => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_CreateWindow);
public ref IntPtr Platform_DestroyWindow => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_DestroyWindow);
public ref IntPtr Platform_ShowWindow => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_ShowWindow);
public ref IntPtr Platform_SetWindowPos => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_SetWindowPos);
public ref IntPtr Platform_GetWindowPos => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_GetWindowPos);
public ref IntPtr Platform_SetWindowSize => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_SetWindowSize);
public ref IntPtr Platform_GetWindowSize => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_GetWindowSize);
public ref IntPtr Platform_SetWindowFocus => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_SetWindowFocus);
public ref IntPtr Platform_GetWindowFocus => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_GetWindowFocus);
public ref IntPtr Platform_GetWindowMinimized => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_GetWindowMinimized);
public ref IntPtr Platform_SetWindowTitle => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_SetWindowTitle);
public ref IntPtr Platform_SetWindowAlpha => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_SetWindowAlpha);
public ref IntPtr Platform_UpdateWindow => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_UpdateWindow);
public ref IntPtr Platform_RenderWindow => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_RenderWindow);
public ref IntPtr Platform_SwapBuffers => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_SwapBuffers);
public ref IntPtr Platform_GetWindowDpiScale => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_GetWindowDpiScale);
public ref IntPtr Platform_OnChangedViewport => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_OnChangedViewport);
public ref IntPtr Platform_SetImeInputPos => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_SetImeInputPos);
public ref IntPtr Platform_CreateVkSurface => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_CreateVkSurface);
public ref IntPtr Renderer_CreateWindow => ref Unsafe.AsRef<IntPtr>(&NativePtr->Renderer_CreateWindow);
public ref IntPtr Renderer_DestroyWindow => ref Unsafe.AsRef<IntPtr>(&NativePtr->Renderer_DestroyWindow);
public ref IntPtr Renderer_SetWindowSize => ref Unsafe.AsRef<IntPtr>(&NativePtr->Renderer_SetWindowSize);
public ref IntPtr Renderer_RenderWindow => ref Unsafe.AsRef<IntPtr>(&NativePtr->Renderer_RenderWindow);
public ref IntPtr Renderer_SwapBuffers => ref Unsafe.AsRef<IntPtr>(&NativePtr->Renderer_SwapBuffers);
public ImPtrVector<ImGuiPlatformMonitorPtr> Monitors => new ImPtrVector<ImGuiPlatformMonitorPtr>(NativePtr->Monitors, Unsafe.SizeOf<ImGuiPlatformMonitor>());
public ImGuiViewportPtr MainViewport => new ImGuiViewportPtr(NativePtr->MainViewport);
public ImVector<ImGuiViewportPtr> Viewports => new ImVector<ImGuiViewportPtr>(NativePtr->Viewports);
public void Destroy()
{
ImGuiNative.ImGuiPlatformIO_destroy((ImGuiPlatformIO*)(NativePtr));
}
}
}

@ -1,34 +0,0 @@
using System;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Text;
namespace ImGuiNET
{
public unsafe partial struct ImGuiPlatformMonitor
{
public Vector2 MainPos;
public Vector2 MainSize;
public Vector2 WorkPos;
public Vector2 WorkSize;
public float DpiScale;
}
public unsafe partial struct ImGuiPlatformMonitorPtr
{
public ImGuiPlatformMonitor* NativePtr { get; }
public ImGuiPlatformMonitorPtr(ImGuiPlatformMonitor* nativePtr) => NativePtr = nativePtr;
public ImGuiPlatformMonitorPtr(IntPtr nativePtr) => NativePtr = (ImGuiPlatformMonitor*)nativePtr;
public static implicit operator ImGuiPlatformMonitorPtr(ImGuiPlatformMonitor* nativePtr) => new ImGuiPlatformMonitorPtr(nativePtr);
public static implicit operator ImGuiPlatformMonitor* (ImGuiPlatformMonitorPtr wrappedPtr) => wrappedPtr.NativePtr;
public static implicit operator ImGuiPlatformMonitorPtr(IntPtr nativePtr) => new ImGuiPlatformMonitorPtr(nativePtr);
public ref Vector2 MainPos => ref Unsafe.AsRef<Vector2>(&NativePtr->MainPos);
public ref Vector2 MainSize => ref Unsafe.AsRef<Vector2>(&NativePtr->MainSize);
public ref Vector2 WorkPos => ref Unsafe.AsRef<Vector2>(&NativePtr->WorkPos);
public ref Vector2 WorkSize => ref Unsafe.AsRef<Vector2>(&NativePtr->WorkSize);
public ref float DpiScale => ref Unsafe.AsRef<float>(&NativePtr->DpiScale);
public void Destroy()
{
ImGuiNative.ImGuiPlatformMonitor_destroy((ImGuiPlatformMonitor*)(NativePtr));
}
}
}

@ -7,12 +7,12 @@ namespace ImGuiNET
MouseButtonLeft = 0,
MouseButtonRight = 1,
MouseButtonMiddle = 2,
MouseButtonMask = 0x1F,
MouseButtonMask = 31,
MouseButtonDefault = 1,
NoOpenOverExistingPopup = 1 << 5,
NoOpenOverItems = 1 << 6,
AnyPopupId = 1 << 7,
AnyPopupLevel = 1 << 8,
AnyPopup = AnyPopupId | AnyPopupLevel,
NoOpenOverExistingPopup = 32,
NoOpenOverItems = 64,
AnyPopupId = 128,
AnyPopupLevel = 256,
AnyPopup = 384,
}
}

@ -4,10 +4,10 @@ namespace ImGuiNET
public enum ImGuiSelectableFlags
{
None = 0,
DontClosePopups = 1 << 0,
SpanAllColumns = 1 << 1,
AllowDoubleClick = 1 << 2,
Disabled = 1 << 3,
AllowItemOverlap = 1 << 4,
DontClosePopups = 1,
SpanAllColumns = 2,
AllowDoubleClick = 4,
Disabled = 8,
AllowItemOverlap = 16,
}
}

@ -4,10 +4,10 @@ namespace ImGuiNET
public enum ImGuiSliderFlags
{
None = 0,
ClampOnInput = 1 << 4,
Logarithmic = 1 << 5,
NoRoundToFormat = 1 << 6,
NoInput = 1 << 7,
InvalidMask = 0x7000000F,
AlwaysClamp = 16,
Logarithmic = 32,
NoRoundToFormat = 64,
NoInput = 128,
InvalidMask = 1879048207,
}
}

@ -0,0 +1,9 @@
namespace ImGuiNET
{
public enum ImGuiSortDirection
{
None = 0,
Ascending = 1,
Descending = 2,
}
}

@ -23,6 +23,7 @@ namespace ImGuiNET
public float FrameBorderSize;
public Vector2 ItemSpacing;
public Vector2 ItemInnerSpacing;
public Vector2 CellPadding;
public Vector2 TouchExtraPadding;
public float IndentSpacing;
public float ColumnsMinSpacing;
@ -33,7 +34,7 @@ namespace ImGuiNET
public float LogSliderDeadzone;
public float TabRounding;
public float TabBorderSize;
public float TabMinWidthForUnselectedCloseButton;
public float TabMinWidthForCloseButton;
public ImGuiDir ColorButtonPosition;
public Vector2 ButtonTextAlign;
public Vector2 SelectableTextAlign;
@ -44,7 +45,7 @@ namespace ImGuiNET
public byte AntiAliasedLinesUseTex;
public byte AntiAliasedFill;
public float CurveTessellationTol;
public float CircleSegmentMaxError;
public float CircleTessellationMaxError;
public Vector4 Colors_0;
public Vector4 Colors_1;
public Vector4 Colors_2;
@ -95,6 +96,9 @@ namespace ImGuiNET
public Vector4 Colors_47;
public Vector4 Colors_48;
public Vector4 Colors_49;
public Vector4 Colors_50;
public Vector4 Colors_51;
public Vector4 Colors_52;
}
public unsafe partial struct ImGuiStylePtr
{
@ -120,6 +124,7 @@ namespace ImGuiNET
public ref float FrameBorderSize => ref Unsafe.AsRef<float>(&NativePtr->FrameBorderSize);
public ref Vector2 ItemSpacing => ref Unsafe.AsRef<Vector2>(&NativePtr->ItemSpacing);
public ref Vector2 ItemInnerSpacing => ref Unsafe.AsRef<Vector2>(&NativePtr->ItemInnerSpacing);
public ref Vector2 CellPadding => ref Unsafe.AsRef<Vector2>(&NativePtr->CellPadding);
public ref Vector2 TouchExtraPadding => ref Unsafe.AsRef<Vector2>(&NativePtr->TouchExtraPadding);
public ref float IndentSpacing => ref Unsafe.AsRef<float>(&NativePtr->IndentSpacing);
public ref float ColumnsMinSpacing => ref Unsafe.AsRef<float>(&NativePtr->ColumnsMinSpacing);
@ -130,7 +135,7 @@ namespace ImGuiNET
public ref float LogSliderDeadzone => ref Unsafe.AsRef<float>(&NativePtr->LogSliderDeadzone);
public ref float TabRounding => ref Unsafe.AsRef<float>(&NativePtr->TabRounding);
public ref float TabBorderSize => ref Unsafe.AsRef<float>(&NativePtr->TabBorderSize);
public ref float TabMinWidthForUnselectedCloseButton => ref Unsafe.AsRef<float>(&NativePtr->TabMinWidthForUnselectedCloseButton);
public ref float TabMinWidthForCloseButton => ref Unsafe.AsRef<float>(&NativePtr->TabMinWidthForCloseButton);
public ref ImGuiDir ColorButtonPosition => ref Unsafe.AsRef<ImGuiDir>(&NativePtr->ColorButtonPosition);
public ref Vector2 ButtonTextAlign => ref Unsafe.AsRef<Vector2>(&NativePtr->ButtonTextAlign);
public ref Vector2 SelectableTextAlign => ref Unsafe.AsRef<Vector2>(&NativePtr->SelectableTextAlign);
@ -141,8 +146,8 @@ namespace ImGuiNET
public ref bool AntiAliasedLinesUseTex => ref Unsafe.AsRef<bool>(&NativePtr->AntiAliasedLinesUseTex);
public ref bool AntiAliasedFill => ref Unsafe.AsRef<bool>(&NativePtr->AntiAliasedFill);
public ref float CurveTessellationTol => ref Unsafe.AsRef<float>(&NativePtr->CurveTessellationTol);
public ref float CircleSegmentMaxError => ref Unsafe.AsRef<float>(&NativePtr->CircleSegmentMaxError);
public RangeAccessor<Vector4> Colors => new RangeAccessor<Vector4>(&NativePtr->Colors_0, 50);
public ref float CircleTessellationMaxError => ref Unsafe.AsRef<float>(&NativePtr->CircleTessellationMaxError);
public RangeAccessor<Vector4> Colors => new RangeAccessor<Vector4>(&NativePtr->Colors_0, 53);
public void Destroy()
{
ImGuiNative.ImGuiStyle_destroy((ImGuiStyle*)(NativePtr));

@ -18,13 +18,14 @@ namespace ImGuiNET
ItemSpacing = 13,
ItemInnerSpacing = 14,
IndentSpacing = 15,
ScrollbarSize = 16,
ScrollbarRounding = 17,
GrabMinSize = 18,
GrabRounding = 19,
TabRounding = 20,
ButtonTextAlign = 21,
SelectableTextAlign = 22,
COUNT = 23,
CellPadding = 16,
ScrollbarSize = 17,
ScrollbarRounding = 18,
GrabMinSize = 19,
GrabRounding = 20,
TabRounding = 21,
ButtonTextAlign = 22,
SelectableTextAlign = 23,
COUNT = 24,
}
}

@ -4,15 +4,15 @@ namespace ImGuiNET
public enum ImGuiTabBarFlags
{
None = 0,
Reorderable = 1 << 0,
AutoSelectNewTabs = 1 << 1,
TabListPopupButton = 1 << 2,
NoCloseWithMiddleMouseButton = 1 << 3,
NoTabListScrollingButtons = 1 << 4,
NoTooltip = 1 << 5,
FittingPolicyResizeDown = 1 << 6,
FittingPolicyScroll = 1 << 7,
FittingPolicyMask = FittingPolicyResizeDown | FittingPolicyScroll,
FittingPolicyDefault = FittingPolicyResizeDown,
Reorderable = 1,
AutoSelectNewTabs = 2,
TabListPopupButton = 4,
NoCloseWithMiddleMouseButton = 8,
NoTabListScrollingButtons = 16,
NoTooltip = 32,
FittingPolicyResizeDown = 64,
FittingPolicyScroll = 128,
FittingPolicyMask = 192,
FittingPolicyDefault = 64,
}
}

@ -4,10 +4,13 @@ namespace ImGuiNET
public enum ImGuiTabItemFlags
{
None = 0,
UnsavedDocument = 1 << 0,
SetSelected = 1 << 1,
NoCloseWithMiddleMouseButton = 1 << 2,
NoPushId = 1 << 3,
NoTooltip = 1 << 4,
UnsavedDocument = 1,
SetSelected = 2,
NoCloseWithMiddleMouseButton = 4,
NoPushId = 8,
NoTooltip = 16,
NoReorder = 32,
Leading = 64,
Trailing = 128,
}
}

@ -0,0 +1,10 @@
namespace ImGuiNET
{
public enum ImGuiTableBgTarget
{
None = 0,
RowBg0 = 1,
RowBg1 = 2,
CellBg = 3,
}
}

@ -0,0 +1,32 @@
namespace ImGuiNET
{
[System.Flags]
public enum ImGuiTableColumnFlags
{
None = 0,
DefaultHide = 1,
DefaultSort = 2,
WidthStretch = 4,
WidthFixed = 8,
NoResize = 16,
NoReorder = 32,
NoHide = 64,
NoClip = 128,
NoSort = 256,
NoSortAscending = 512,
NoSortDescending = 1024,
NoHeaderWidth = 2048,
PreferSortAscending = 4096,
PreferSortDescending = 8192,
IndentEnable = 16384,
IndentDisable = 32768,
IsEnabled = 1048576,
IsVisible = 2097152,
IsSorted = 4194304,
IsHovered = 8388608,
WidthMask = 12,
IndentMask = 49152,
StatusMask = 15728640,
NoDirectResize = 1073741824,
}
}

@ -0,0 +1,32 @@
using System;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Text;
namespace ImGuiNET
{
public unsafe partial struct ImGuiTableColumnSortSpecs
{
public uint ColumnUserID;
public short ColumnIndex;
public short SortOrder;
public ImGuiSortDirection SortDirection;
}
public unsafe partial struct ImGuiTableColumnSortSpecsPtr
{
public ImGuiTableColumnSortSpecs* NativePtr { get; }
public ImGuiTableColumnSortSpecsPtr(ImGuiTableColumnSortSpecs* nativePtr) => NativePtr = nativePtr;
public ImGuiTableColumnSortSpecsPtr(IntPtr nativePtr) => NativePtr = (ImGuiTableColumnSortSpecs*)nativePtr;
public static implicit operator ImGuiTableColumnSortSpecsPtr(ImGuiTableColumnSortSpecs* nativePtr) => new ImGuiTableColumnSortSpecsPtr(nativePtr);
public static implicit operator ImGuiTableColumnSortSpecs* (ImGuiTableColumnSortSpecsPtr wrappedPtr) => wrappedPtr.NativePtr;
public static implicit operator ImGuiTableColumnSortSpecsPtr(IntPtr nativePtr) => new ImGuiTableColumnSortSpecsPtr(nativePtr);
public ref uint ColumnUserID => ref Unsafe.AsRef<uint>(&NativePtr->ColumnUserID);
public ref short ColumnIndex => ref Unsafe.AsRef<short>(&NativePtr->ColumnIndex);
public ref short SortOrder => ref Unsafe.AsRef<short>(&NativePtr->SortOrder);
public ref ImGuiSortDirection SortDirection => ref Unsafe.AsRef<ImGuiSortDirection>(&NativePtr->SortDirection);
public void Destroy()
{
ImGuiNative.ImGuiTableColumnSortSpecs_destroy((ImGuiTableColumnSortSpecs*)(NativePtr));
}
}
}

@ -0,0 +1,43 @@
namespace ImGuiNET
{
[System.Flags]
public enum ImGuiTableFlags
{
None = 0,
Resizable = 1,
Reorderable = 2,
Hideable = 4,
Sortable = 8,
NoSavedSettings = 16,
ContextMenuInBody = 32,
RowBg = 64,
BordersInnerH = 128,
BordersOuterH = 256,
BordersInnerV = 512,
BordersOuterV = 1024,
BordersH = 384,
BordersV = 1536,
BordersInner = 640,
BordersOuter = 1280,
Borders = 1920,
NoBordersInBody = 2048,
NoBordersInBodyUntilResize = 4096,
SizingFixedFit = 8192,
SizingFixedSame = 16384,
SizingStretchProp = 24576,
SizingStretchSame = 32768,
NoHostExtendX = 65536,
NoHostExtendY = 131072,
NoKeepColumnsVisible = 262144,
PreciseWidths = 524288,
NoClip = 1048576,
PadOuterX = 2097152,
NoPadOuterX = 4194304,
NoPadInnerX = 8388608,
ScrollX = 16777216,
ScrollY = 33554432,
SortMulti = 67108864,
SortTristate = 134217728,
SizingMask = 57344,
}
}

@ -0,0 +1,9 @@
namespace ImGuiNET
{
[System.Flags]
public enum ImGuiTableRowFlags
{
None = 0,
Headers = 1,
}
}

@ -0,0 +1,30 @@
using System;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Text;
namespace ImGuiNET
{
public unsafe partial struct ImGuiTableSortSpecs
{
public ImGuiTableColumnSortSpecs* Specs;
public int SpecsCount;
public byte SpecsDirty;
}
public unsafe partial struct ImGuiTableSortSpecsPtr
{
public ImGuiTableSortSpecs* NativePtr { get; }
public ImGuiTableSortSpecsPtr(ImGuiTableSortSpecs* nativePtr) => NativePtr = nativePtr;
public ImGuiTableSortSpecsPtr(IntPtr nativePtr) => NativePtr = (ImGuiTableSortSpecs*)nativePtr;
public static implicit operator ImGuiTableSortSpecsPtr(ImGuiTableSortSpecs* nativePtr) => new ImGuiTableSortSpecsPtr(nativePtr);
public static implicit operator ImGuiTableSortSpecs* (ImGuiTableSortSpecsPtr wrappedPtr) => wrappedPtr.NativePtr;
public static implicit operator ImGuiTableSortSpecsPtr(IntPtr nativePtr) => new ImGuiTableSortSpecsPtr(nativePtr);
public ImGuiTableColumnSortSpecsPtr Specs => new ImGuiTableColumnSortSpecsPtr(NativePtr->Specs);
public ref int SpecsCount => ref Unsafe.AsRef<int>(&NativePtr->SpecsCount);
public ref bool SpecsDirty => ref Unsafe.AsRef<bool>(&NativePtr->SpecsDirty);
public void Destroy()
{
ImGuiNative.ImGuiTableSortSpecs_destroy((ImGuiTableSortSpecs*)(NativePtr));
}
}
}

@ -4,20 +4,20 @@ namespace ImGuiNET
public enum ImGuiTreeNodeFlags
{
None = 0,
Selected = 1 << 0,
Framed = 1 << 1,
AllowItemOverlap = 1 << 2,
NoTreePushOnOpen = 1 << 3,
NoAutoOpenOnLog = 1 << 4,
DefaultOpen = 1 << 5,
OpenOnDoubleClick = 1 << 6,
OpenOnArrow = 1 << 7,
Leaf = 1 << 8,
Bullet = 1 << 9,
FramePadding = 1 << 10,
SpanAvailWidth = 1 << 11,
SpanFullWidth = 1 << 12,
NavLeftJumpsBackHere = 1 << 13,
CollapsingHeader = Framed | NoTreePushOnOpen | NoAutoOpenOnLog,
Selected = 1,
Framed = 2,
AllowItemOverlap = 4,
NoTreePushOnOpen = 8,
NoAutoOpenOnLog = 16,
DefaultOpen = 32,
OpenOnDoubleClick = 64,
OpenOnArrow = 128,
Leaf = 256,
Bullet = 512,
FramePadding = 1024,
SpanAvailWidth = 2048,
SpanFullWidth = 4096,
NavLeftJumpsBackHere = 8192,
CollapsingHeader = 26,
}
}

@ -7,22 +7,11 @@ namespace ImGuiNET
{
public unsafe partial struct ImGuiViewport
{
public uint ID;
public ImGuiViewportFlags Flags;
public Vector2 Pos;
public Vector2 Size;
public Vector2 WorkOffsetMin;
public Vector2 WorkOffsetMax;
public float DpiScale;
public ImDrawData* DrawData;
public uint ParentViewportId;
public void* RendererUserData;
public void* PlatformUserData;
public void* PlatformHandle;
public void* PlatformHandleRaw;
public byte PlatformRequestMove;
public byte PlatformRequestResize;
public byte PlatformRequestClose;
public Vector2 WorkPos;
public Vector2 WorkSize;
}
public unsafe partial struct ImGuiViewportPtr
{
@ -32,22 +21,11 @@ namespace ImGuiNET
public static implicit operator ImGuiViewportPtr(ImGuiViewport* nativePtr) => new ImGuiViewportPtr(nativePtr);
public static implicit operator ImGuiViewport* (ImGuiViewportPtr wrappedPtr) => wrappedPtr.NativePtr;
public static implicit operator ImGuiViewportPtr(IntPtr nativePtr) => new ImGuiViewportPtr(nativePtr);
public ref uint ID => ref Unsafe.AsRef<uint>(&NativePtr->ID);
public ref ImGuiViewportFlags Flags => ref Unsafe.AsRef<ImGuiViewportFlags>(&NativePtr->Flags);
public ref Vector2 Pos => ref Unsafe.AsRef<Vector2>(&NativePtr->Pos);
public ref Vector2 Size => ref Unsafe.AsRef<Vector2>(&NativePtr->Size);
public ref Vector2 WorkOffsetMin => ref Unsafe.AsRef<Vector2>(&NativePtr->WorkOffsetMin);
public ref Vector2 WorkOffsetMax => ref Unsafe.AsRef<Vector2>(&NativePtr->WorkOffsetMax);
public ref float DpiScale => ref Unsafe.AsRef<float>(&NativePtr->DpiScale);
public ImDrawDataPtr DrawData => new ImDrawDataPtr(NativePtr->DrawData);
public ref uint ParentViewportId => ref Unsafe.AsRef<uint>(&NativePtr->ParentViewportId);
public IntPtr RendererUserData { get => (IntPtr)NativePtr->RendererUserData; set => NativePtr->RendererUserData = (void*)value; }
public IntPtr PlatformUserData { get => (IntPtr)NativePtr->PlatformUserData; set => NativePtr->PlatformUserData = (void*)value; }
public IntPtr PlatformHandle { get => (IntPtr)NativePtr->PlatformHandle; set => NativePtr->PlatformHandle = (void*)value; }
public IntPtr PlatformHandleRaw { get => (IntPtr)NativePtr->PlatformHandleRaw; set => NativePtr->PlatformHandleRaw = (void*)value; }
public ref bool PlatformRequestMove => ref Unsafe.AsRef<bool>(&NativePtr->PlatformRequestMove);
public ref bool PlatformRequestResize => ref Unsafe.AsRef<bool>(&NativePtr->PlatformRequestResize);
public ref bool PlatformRequestClose => ref Unsafe.AsRef<bool>(&NativePtr->PlatformRequestClose);
public ref Vector2 WorkPos => ref Unsafe.AsRef<Vector2>(&NativePtr->WorkPos);
public ref Vector2 WorkSize => ref Unsafe.AsRef<Vector2>(&NativePtr->WorkSize);
public void Destroy()
{
ImGuiNative.ImGuiViewport_destroy((ImGuiViewport*)(NativePtr));
@ -58,16 +36,10 @@ namespace ImGuiNET
ImGuiNative.ImGuiViewport_GetCenter(&__retval, (ImGuiViewport*)(NativePtr));
return __retval;
}
public Vector2 GetWorkPos()
public Vector2 GetWorkCenter()
{
Vector2 __retval;
ImGuiNative.ImGuiViewport_GetWorkPos(&__retval, (ImGuiViewport*)(NativePtr));
return __retval;
}
public Vector2 GetWorkSize()
{
Vector2 __retval;
ImGuiNative.ImGuiViewport_GetWorkSize(&__retval, (ImGuiViewport*)(NativePtr));
ImGuiNative.ImGuiViewport_GetWorkCenter(&__retval, (ImGuiViewport*)(NativePtr));
return __retval;
}
}

@ -4,15 +4,8 @@ namespace ImGuiNET
public enum ImGuiViewportFlags
{
None = 0,
NoDecoration = 1 << 0,
NoTaskBarIcon = 1 << 1,
NoFocusOnAppearing = 1 << 2,
NoFocusOnClick = 1 << 3,
NoInputs = 1 << 4,
NoRendererClear = 1 << 5,
TopMost = 1 << 6,
Minimized = 1 << 7,
NoAutoMerge = 1 << 8,
CanHostOtherWindows = 1 << 9,
IsPlatformWindow = 1,
IsPlatformMonitor = 2,
OwnedByApp = 4,
}
}

@ -1,40 +0,0 @@
using System;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Text;
namespace ImGuiNET
{
public unsafe partial struct ImGuiWindowClass
{
public uint ClassId;
public uint ParentViewportId;
public ImGuiViewportFlags ViewportFlagsOverrideSet;
public ImGuiViewportFlags ViewportFlagsOverrideClear;
public ImGuiDockNodeFlags DockNodeFlagsOverrideSet;
public ImGuiDockNodeFlags DockNodeFlagsOverrideClear;
public byte DockingAlwaysTabBar;
public byte DockingAllowUnclassed;
}
public unsafe partial struct ImGuiWindowClassPtr
{
public ImGuiWindowClass* NativePtr { get; }
public ImGuiWindowClassPtr(ImGuiWindowClass* nativePtr) => NativePtr = nativePtr;
public ImGuiWindowClassPtr(IntPtr nativePtr) => NativePtr = (ImGuiWindowClass*)nativePtr;
public static implicit operator ImGuiWindowClassPtr(ImGuiWindowClass* nativePtr) => new ImGuiWindowClassPtr(nativePtr);
public static implicit operator ImGuiWindowClass* (ImGuiWindowClassPtr wrappedPtr) => wrappedPtr.NativePtr;
public static implicit operator ImGuiWindowClassPtr(IntPtr nativePtr) => new ImGuiWindowClassPtr(nativePtr);
public ref uint ClassId => ref Unsafe.AsRef<uint>(&NativePtr->ClassId);
public ref uint ParentViewportId => ref Unsafe.AsRef<uint>(&NativePtr->ParentViewportId);
public ref ImGuiViewportFlags ViewportFlagsOverrideSet => ref Unsafe.AsRef<ImGuiViewportFlags>(&NativePtr->ViewportFlagsOverrideSet);
public ref ImGuiViewportFlags ViewportFlagsOverrideClear => ref Unsafe.AsRef<ImGuiViewportFlags>(&NativePtr->ViewportFlagsOverrideClear);
public ref ImGuiDockNodeFlags DockNodeFlagsOverrideSet => ref Unsafe.AsRef<ImGuiDockNodeFlags>(&NativePtr->DockNodeFlagsOverrideSet);
public ref ImGuiDockNodeFlags DockNodeFlagsOverrideClear => ref Unsafe.AsRef<ImGuiDockNodeFlags>(&NativePtr->DockNodeFlagsOverrideClear);
public ref bool DockingAlwaysTabBar => ref Unsafe.AsRef<bool>(&NativePtr->DockingAlwaysTabBar);
public ref bool DockingAllowUnclassed => ref Unsafe.AsRef<bool>(&NativePtr->DockingAllowUnclassed);
public void Destroy()
{
ImGuiNative.ImGuiWindowClass_destroy((ImGuiWindowClass*)(NativePtr));
}
}
}

@ -4,36 +4,34 @@ namespace ImGuiNET
public enum ImGuiWindowFlags
{
None = 0,
NoTitleBar = 1 << 0,
NoResize = 1 << 1,
NoMove = 1 << 2,
NoScrollbar = 1 << 3,
NoScrollWithMouse = 1 << 4,
NoCollapse = 1 << 5,
AlwaysAutoResize = 1 << 6,
NoBackground = 1 << 7,
NoSavedSettings = 1 << 8,
NoMouseInputs = 1 << 9,
MenuBar = 1 << 10,
HorizontalScrollbar = 1 << 11,
NoFocusOnAppearing = 1 << 12,
NoBringToFrontOnFocus = 1 << 13,
AlwaysVerticalScrollbar = 1 << 14,
AlwaysHorizontalScrollbar = 1<< 15,
AlwaysUseWindowPadding = 1 << 16,
NoNavInputs = 1 << 18,
NoNavFocus = 1 << 19,
UnsavedDocument = 1 << 20,
NoDocking = 1 << 21,
NoNav = NoNavInputs | NoNavFocus,
NoDecoration = NoTitleBar | NoResize | NoScrollbar | NoCollapse,
NoInputs = NoMouseInputs | NoNavInputs | NoNavFocus,
NavFlattened = 1 << 23,
ChildWindow = 1 << 24,
Tooltip = 1 << 25,
Popup = 1 << 26,
Modal = 1 << 27,
ChildMenu = 1 << 28,
DockNodeHost = 1 << 29,
NoTitleBar = 1,
NoResize = 2,
NoMove = 4,
NoScrollbar = 8,
NoScrollWithMouse = 16,
NoCollapse = 32,
AlwaysAutoResize = 64,
NoBackground = 128,
NoSavedSettings = 256,
NoMouseInputs = 512,
MenuBar = 1024,
HorizontalScrollbar = 2048,
NoFocusOnAppearing = 4096,
NoBringToFrontOnFocus = 8192,
AlwaysVerticalScrollbar = 16384,
AlwaysHorizontalScrollbar = 32768,
AlwaysUseWindowPadding = 65536,
NoNavInputs = 262144,
NoNavFocus = 524288,
UnsavedDocument = 1048576,
NoNav = 786432,
NoDecoration = 43,
NoInputs = 786944,
NavFlattened = 8388608,
ChildWindow = 16777216,
Tooltip = 33554432,
Popup = 67108864,
Modal = 134217728,
ChildMenu = 268435456,
}
}

@ -0,0 +1,48 @@
using System;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Text;
namespace ImGuiNET
{
public unsafe partial struct STB_TexteditState
{
public int cursor;
public int select_start;
public int select_end;
public byte insert_mode;
public int row_count_per_page;
public byte cursor_at_end_of_line;
public byte initialized;
public byte has_preferred_x;
public byte single_line;
public byte padding1;
public byte padding2;
public byte padding3;
public float preferred_x;
public StbUndoState undostate;
}
public unsafe partial struct STB_TexteditStatePtr
{
public STB_TexteditState* NativePtr { get; }
public STB_TexteditStatePtr(STB_TexteditState* nativePtr) => NativePtr = nativePtr;
public STB_TexteditStatePtr(IntPtr nativePtr) => NativePtr = (STB_TexteditState*)nativePtr;
public static implicit operator STB_TexteditStatePtr(STB_TexteditState* nativePtr) => new STB_TexteditStatePtr(nativePtr);
public static implicit operator STB_TexteditState* (STB_TexteditStatePtr wrappedPtr) => wrappedPtr.NativePtr;
public static implicit operator STB_TexteditStatePtr(IntPtr nativePtr) => new STB_TexteditStatePtr(nativePtr);
public ref int cursor => ref Unsafe.AsRef<int>(&NativePtr->cursor);
public ref int select_start => ref Unsafe.AsRef<int>(&NativePtr->select_start);
public ref int select_end => ref Unsafe.AsRef<int>(&NativePtr->select_end);
public ref byte insert_mode => ref Unsafe.AsRef<byte>(&NativePtr->insert_mode);
public ref int row_count_per_page => ref Unsafe.AsRef<int>(&NativePtr->row_count_per_page);
public ref byte cursor_at_end_of_line => ref Unsafe.AsRef<byte>(&NativePtr->cursor_at_end_of_line);
public ref byte initialized => ref Unsafe.AsRef<byte>(&NativePtr->initialized);
public ref byte has_preferred_x => ref Unsafe.AsRef<byte>(&NativePtr->has_preferred_x);
public ref byte single_line => ref Unsafe.AsRef<byte>(&NativePtr->single_line);
public ref byte padding1 => ref Unsafe.AsRef<byte>(&NativePtr->padding1);
public ref byte padding2 => ref Unsafe.AsRef<byte>(&NativePtr->padding2);
public ref byte padding3 => ref Unsafe.AsRef<byte>(&NativePtr->padding3);
public ref float preferred_x => ref Unsafe.AsRef<float>(&NativePtr->preferred_x);
public ref StbUndoState undostate => ref Unsafe.AsRef<StbUndoState>(&NativePtr->undostate);
}
}

@ -0,0 +1,32 @@
using System;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Text;
namespace ImGuiNET
{
public unsafe partial struct StbTexteditRow
{
public float x0;
public float x1;
public float baseline_y_delta;
public float ymin;
public float ymax;
public int num_chars;
}
public unsafe partial struct StbTexteditRowPtr
{
public StbTexteditRow* NativePtr { get; }
public StbTexteditRowPtr(StbTexteditRow* nativePtr) => NativePtr = nativePtr;
public StbTexteditRowPtr(IntPtr nativePtr) => NativePtr = (StbTexteditRow*)nativePtr;
public static implicit operator StbTexteditRowPtr(StbTexteditRow* nativePtr) => new StbTexteditRowPtr(nativePtr);
public static implicit operator StbTexteditRow* (StbTexteditRowPtr wrappedPtr) => wrappedPtr.NativePtr;
public static implicit operator StbTexteditRowPtr(IntPtr nativePtr) => new StbTexteditRowPtr(nativePtr);
public ref float x0 => ref Unsafe.AsRef<float>(&NativePtr->x0);
public ref float x1 => ref Unsafe.AsRef<float>(&NativePtr->x1);
public ref float baseline_y_delta => ref Unsafe.AsRef<float>(&NativePtr->baseline_y_delta);
public ref float ymin => ref Unsafe.AsRef<float>(&NativePtr->ymin);
public ref float ymax => ref Unsafe.AsRef<float>(&NativePtr->ymax);
public ref int num_chars => ref Unsafe.AsRef<int>(&NativePtr->num_chars);
}
}

@ -0,0 +1,28 @@
using System;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Text;
namespace ImGuiNET
{
public unsafe partial struct StbUndoRecord
{
public int where;
public int insert_length;
public int delete_length;
public int char_storage;
}
public unsafe partial struct StbUndoRecordPtr
{
public StbUndoRecord* NativePtr { get; }
public StbUndoRecordPtr(StbUndoRecord* nativePtr) => NativePtr = nativePtr;
public StbUndoRecordPtr(IntPtr nativePtr) => NativePtr = (StbUndoRecord*)nativePtr;
public static implicit operator StbUndoRecordPtr(StbUndoRecord* nativePtr) => new StbUndoRecordPtr(nativePtr);
public static implicit operator StbUndoRecord* (StbUndoRecordPtr wrappedPtr) => wrappedPtr.NativePtr;
public static implicit operator StbUndoRecordPtr(IntPtr nativePtr) => new StbUndoRecordPtr(nativePtr);
public ref int where => ref Unsafe.AsRef<int>(&NativePtr->where);
public ref int insert_length => ref Unsafe.AsRef<int>(&NativePtr->insert_length);
public ref int delete_length => ref Unsafe.AsRef<int>(&NativePtr->delete_length);
public ref int char_storage => ref Unsafe.AsRef<int>(&NativePtr->char_storage);
}
}

@ -0,0 +1,130 @@
using System;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Text;
namespace ImGuiNET
{
public unsafe partial struct StbUndoState
{
public StbUndoRecord undo_rec_0;
public StbUndoRecord undo_rec_1;
public StbUndoRecord undo_rec_2;
public StbUndoRecord undo_rec_3;
public StbUndoRecord undo_rec_4;
public StbUndoRecord undo_rec_5;
public StbUndoRecord undo_rec_6;
public StbUndoRecord undo_rec_7;
public StbUndoRecord undo_rec_8;
public StbUndoRecord undo_rec_9;
public StbUndoRecord undo_rec_10;
public StbUndoRecord undo_rec_11;
public StbUndoRecord undo_rec_12;
public StbUndoRecord undo_rec_13;
public StbUndoRecord undo_rec_14;
public StbUndoRecord undo_rec_15;
public StbUndoRecord undo_rec_16;
public StbUndoRecord undo_rec_17;
public StbUndoRecord undo_rec_18;
public StbUndoRecord undo_rec_19;
public StbUndoRecord undo_rec_20;
public StbUndoRecord undo_rec_21;
public StbUndoRecord undo_rec_22;
public StbUndoRecord undo_rec_23;
public StbUndoRecord undo_rec_24;
public StbUndoRecord undo_rec_25;
public StbUndoRecord undo_rec_26;
public StbUndoRecord undo_rec_27;
public StbUndoRecord undo_rec_28;
public StbUndoRecord undo_rec_29;
public StbUndoRecord undo_rec_30;
public StbUndoRecord undo_rec_31;
public StbUndoRecord undo_rec_32;
public StbUndoRecord undo_rec_33;
public StbUndoRecord undo_rec_34;
public StbUndoRecord undo_rec_35;
public StbUndoRecord undo_rec_36;
public StbUndoRecord undo_rec_37;
public StbUndoRecord undo_rec_38;
public StbUndoRecord undo_rec_39;
public StbUndoRecord undo_rec_40;
public StbUndoRecord undo_rec_41;
public StbUndoRecord undo_rec_42;
public StbUndoRecord undo_rec_43;
public StbUndoRecord undo_rec_44;
public StbUndoRecord undo_rec_45;
public StbUndoRecord undo_rec_46;
public StbUndoRecord undo_rec_47;
public StbUndoRecord undo_rec_48;
public StbUndoRecord undo_rec_49;
public StbUndoRecord undo_rec_50;
public StbUndoRecord undo_rec_51;
public StbUndoRecord undo_rec_52;
public StbUndoRecord undo_rec_53;
public StbUndoRecord undo_rec_54;
public StbUndoRecord undo_rec_55;
public StbUndoRecord undo_rec_56;
public StbUndoRecord undo_rec_57;
public StbUndoRecord undo_rec_58;
public StbUndoRecord undo_rec_59;
public StbUndoRecord undo_rec_60;
public StbUndoRecord undo_rec_61;
public StbUndoRecord undo_rec_62;
public StbUndoRecord undo_rec_63;
public StbUndoRecord undo_rec_64;
public StbUndoRecord undo_rec_65;
public StbUndoRecord undo_rec_66;
public StbUndoRecord undo_rec_67;
public StbUndoRecord undo_rec_68;
public StbUndoRecord undo_rec_69;
public StbUndoRecord undo_rec_70;
public StbUndoRecord undo_rec_71;
public StbUndoRecord undo_rec_72;
public StbUndoRecord undo_rec_73;
public StbUndoRecord undo_rec_74;
public StbUndoRecord undo_rec_75;
public StbUndoRecord undo_rec_76;
public StbUndoRecord undo_rec_77;
public StbUndoRecord undo_rec_78;
public StbUndoRecord undo_rec_79;
public StbUndoRecord undo_rec_80;
public StbUndoRecord undo_rec_81;
public StbUndoRecord undo_rec_82;
public StbUndoRecord undo_rec_83;
public StbUndoRecord undo_rec_84;
public StbUndoRecord undo_rec_85;
public StbUndoRecord undo_rec_86;
public StbUndoRecord undo_rec_87;
public StbUndoRecord undo_rec_88;
public StbUndoRecord undo_rec_89;
public StbUndoRecord undo_rec_90;
public StbUndoRecord undo_rec_91;
public StbUndoRecord undo_rec_92;
public StbUndoRecord undo_rec_93;
public StbUndoRecord undo_rec_94;
public StbUndoRecord undo_rec_95;
public StbUndoRecord undo_rec_96;
public StbUndoRecord undo_rec_97;
public StbUndoRecord undo_rec_98;
public fixed ushort undo_char[999];
public short undo_point;
public short redo_point;
public int undo_char_point;
public int redo_char_point;
}
public unsafe partial struct StbUndoStatePtr
{
public StbUndoState* NativePtr { get; }
public StbUndoStatePtr(StbUndoState* nativePtr) => NativePtr = nativePtr;
public StbUndoStatePtr(IntPtr nativePtr) => NativePtr = (StbUndoState*)nativePtr;
public static implicit operator StbUndoStatePtr(StbUndoState* nativePtr) => new StbUndoStatePtr(nativePtr);
public static implicit operator StbUndoState* (StbUndoStatePtr wrappedPtr) => wrappedPtr.NativePtr;
public static implicit operator StbUndoStatePtr(IntPtr nativePtr) => new StbUndoStatePtr(nativePtr);
public RangeAccessor<StbUndoRecord> undo_rec => new RangeAccessor<StbUndoRecord>(&NativePtr->undo_rec_0, 99);
public RangeAccessor<ushort> undo_char => new RangeAccessor<ushort>(NativePtr->undo_char, 999);
public ref short undo_point => ref Unsafe.AsRef<short>(&NativePtr->undo_point);
public ref short redo_point => ref Unsafe.AsRef<short>(&NativePtr->redo_point);
public ref int undo_char_point => ref Unsafe.AsRef<int>(&NativePtr->undo_char_point);
public ref int redo_char_point => ref Unsafe.AsRef<int>(&NativePtr->redo_char_point);
}
}

@ -8,6 +8,11 @@ namespace ImGuizmoNET
{
public static unsafe partial class ImGuizmo
{
public static void AllowAxisFlip(bool value)
{
byte native_value = value ? (byte)1 : (byte)0;
ImGuizmoNative.ImGuizmo_AllowAxisFlip(native_value);
}
public static void BeginFrame()
{
ImGuizmoNative.ImGuizmo_BeginFrame();
@ -210,10 +215,18 @@ namespace ImGuizmoNET
ImDrawList* native_drawlist = drawlist.NativePtr;
ImGuizmoNative.ImGuizmo_SetDrawlist(native_drawlist);
}
public static void SetGizmoSizeClipSpace(float value)
{
ImGuizmoNative.ImGuizmo_SetGizmoSizeClipSpace(value);
}
public static void SetID(int id)
{
ImGuizmoNative.ImGuizmo_SetID(id);
}
public static void SetImGuiContext(IntPtr ctx)
{
ImGuizmoNative.ImGuizmo_SetImGuiContext(ctx);
}
public static void SetOrthographic(bool isOrthographic)
{
byte native_isOrthographic = isOrthographic ? (byte)1 : (byte)0;

@ -7,6 +7,8 @@ namespace ImGuizmoNET
{
public static unsafe partial class ImGuizmoNative
{
[DllImport("cimguizmo", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuizmo_AllowAxisFlip(byte value);
[DllImport("cimguizmo", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuizmo_BeginFrame();
[DllImport("cimguizmo", CallingConvention = CallingConvention.Cdecl)]
@ -30,8 +32,12 @@ namespace ImGuizmoNET
[DllImport("cimguizmo", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuizmo_SetDrawlist(ImDrawList* drawlist);
[DllImport("cimguizmo", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuizmo_SetGizmoSizeClipSpace(float value);
[DllImport("cimguizmo", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuizmo_SetID(int id);
[DllImport("cimguizmo", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuizmo_SetImGuiContext(IntPtr ctx);
[DllImport("cimguizmo", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuizmo_SetOrthographic(byte isOrthographic);
[DllImport("cimguizmo", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuizmo_SetRect(float x, float y, float width, float height);

@ -2,9 +2,19 @@ namespace ImGuizmoNET
{
public enum OPERATION
{
TRANSLATE = 0,
ROTATE = 1,
SCALE = 2,
BOUNDS = 3,
TRANSLATE_X = 1,
TRANSLATE_Y = 2,
TRANSLATE_Z = 4,
ROTATE_X = 8,
ROTATE_Y = 16,
ROTATE_Z = 32,
ROTATE_SCREEN = 64,
SCALE_X = 128,
SCALE_Y = 256,
SCALE_Z = 512,
BOUNDS = 1024,
TRANSLATE = 7,
ROTATE = 120,
SCALE = 896,
}
}

@ -4,7 +4,7 @@ namespace ImNodesNET
public enum AttributeFlags
{
_None = 0,
_EnableLinkDetachWithDragClick = 1 << 0,
_EnableLinkCreationOnSnap = 1 << 1,
_EnableLinkDetachWithDragClick = 1,
_EnableLinkCreationOnSnap = 2,
}
}

@ -528,6 +528,10 @@ namespace ImNodesNET
return Util.StringFromPtr(ret);
}
}
public static void SetImGuiContext(IntPtr ctx)
{
ImNodesNative.imnodes_SetImGuiContext(ctx);
}
public static void SetNodeDraggable(int node_id, bool draggable)
{
byte native_draggable = draggable ? (byte)1 : (byte)0;

@ -126,6 +126,8 @@ namespace ImNodesNET
[DllImport("cimnodes", CallingConvention = CallingConvention.Cdecl)]
public static extern byte* imnodes_SaveEditorStateToIniString(IntPtr editor, uint* data_size);
[DllImport("cimnodes", CallingConvention = CallingConvention.Cdecl)]
public static extern void imnodes_SetImGuiContext(IntPtr ctx);
[DllImport("cimnodes", CallingConvention = CallingConvention.Cdecl)]
public static extern void imnodes_SetNodeDraggable(int node_id, byte draggable);
[DllImport("cimnodes", CallingConvention = CallingConvention.Cdecl)]
public static extern void imnodes_SetNodeEditorSpacePos(int node_id, Vector2 editor_space_pos);

@ -4,7 +4,7 @@ namespace ImNodesNET
public enum StyleFlags
{
_None = 0,
_NodeOutline = 1 << 0,
_GridLines = 1 << 2,
_NodeOutline = 1,
_GridLines = 4,
}
}

File diff suppressed because it is too large Load Diff

@ -4,15 +4,16 @@ namespace ImPlotNET
public enum ImPlotAxisFlags
{
None = 0,
NoGridLines = 1 << 0,
NoTickMarks = 1 << 1,
NoTickLabels = 1 << 2,
LogScale = 1 << 3,
Time = 1 << 4,
Invert = 1 << 5,
LockMin = 1 << 6,
LockMax = 1 << 7,
Lock = LockMin | LockMax,
NoDecorations = NoGridLines | NoTickMarks | NoTickLabels,
NoLabel = 1,
NoGridLines = 2,
NoTickMarks = 4,
NoTickLabels = 8,
LogScale = 16,
Time = 32,
Invert = 64,
LockMin = 128,
LockMax = 256,
Lock = 384,
NoDecorations = 15,
}
}

@ -4,17 +4,19 @@ namespace ImPlotNET
public enum ImPlotFlags
{
None = 0,
NoLegend = 1 << 0,
NoMenus = 1 << 1,
NoBoxSelect = 1 << 2,
NoMousePos = 1 << 3,
NoHighlight = 1 << 4,
NoChild = 1 << 5,
YAxis2 = 1 << 6,
YAxis3 = 1 << 7,
Query = 1 << 8,
Crosshairs = 1 << 9,
AntiAliased = 1 << 10,
CanvasOnly = NoLegend | NoMenus | NoBoxSelect | NoMousePos,
NoTitle = 1,
NoLegend = 2,
NoMenus = 4,
NoBoxSelect = 8,
NoMousePos = 16,
NoHighlight = 32,
NoChild = 64,
Equal = 128,
YAxis2 = 256,
YAxis3 = 512,
Query = 1024,
Crosshairs = 2048,
AntiAliased = 4096,
CanvasOnly = 31,
}
}

@ -1,49 +0,0 @@
using System;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Text;
using ImGuiNET;
namespace ImPlotNET
{
public unsafe partial struct ImPlotInputMap
{
public ImGuiMouseButton PanButton;
public ImGuiKeyModFlags PanMod;
public ImGuiMouseButton FitButton;
public ImGuiMouseButton ContextMenuButton;
public ImGuiMouseButton BoxSelectButton;
public ImGuiKeyModFlags BoxSelectMod;
public ImGuiMouseButton BoxSelectCancelButton;
public ImGuiMouseButton QueryButton;
public ImGuiKeyModFlags QueryMod;
public ImGuiKeyModFlags QueryToggleMod;
public ImGuiKeyModFlags HorizontalMod;
public ImGuiKeyModFlags VerticalMod;
}
public unsafe partial struct ImPlotInputMapPtr
{
public ImPlotInputMap* NativePtr { get; }
public ImPlotInputMapPtr(ImPlotInputMap* nativePtr) => NativePtr = nativePtr;
public ImPlotInputMapPtr(IntPtr nativePtr) => NativePtr = (ImPlotInputMap*)nativePtr;
public static implicit operator ImPlotInputMapPtr(ImPlotInputMap* nativePtr) => new ImPlotInputMapPtr(nativePtr);
public static implicit operator ImPlotInputMap* (ImPlotInputMapPtr wrappedPtr) => wrappedPtr.NativePtr;
public static implicit operator ImPlotInputMapPtr(IntPtr nativePtr) => new ImPlotInputMapPtr(nativePtr);
public ref ImGuiMouseButton PanButton => ref Unsafe.AsRef<ImGuiMouseButton>(&NativePtr->PanButton);
public ref ImGuiKeyModFlags PanMod => ref Unsafe.AsRef<ImGuiKeyModFlags>(&NativePtr->PanMod);
public ref ImGuiMouseButton FitButton => ref Unsafe.AsRef<ImGuiMouseButton>(&NativePtr->FitButton);
public ref ImGuiMouseButton ContextMenuButton => ref Unsafe.AsRef<ImGuiMouseButton>(&NativePtr->ContextMenuButton);
public ref ImGuiMouseButton BoxSelectButton => ref Unsafe.AsRef<ImGuiMouseButton>(&NativePtr->BoxSelectButton);
public ref ImGuiKeyModFlags BoxSelectMod => ref Unsafe.AsRef<ImGuiKeyModFlags>(&NativePtr->BoxSelectMod);
public ref ImGuiMouseButton BoxSelectCancelButton => ref Unsafe.AsRef<ImGuiMouseButton>(&NativePtr->BoxSelectCancelButton);
public ref ImGuiMouseButton QueryButton => ref Unsafe.AsRef<ImGuiMouseButton>(&NativePtr->QueryButton);
public ref ImGuiKeyModFlags QueryMod => ref Unsafe.AsRef<ImGuiKeyModFlags>(&NativePtr->QueryMod);
public ref ImGuiKeyModFlags QueryToggleMod => ref Unsafe.AsRef<ImGuiKeyModFlags>(&NativePtr->QueryToggleMod);
public ref ImGuiKeyModFlags HorizontalMod => ref Unsafe.AsRef<ImGuiKeyModFlags>(&NativePtr->HorizontalMod);
public ref ImGuiKeyModFlags VerticalMod => ref Unsafe.AsRef<ImGuiKeyModFlags>(&NativePtr->VerticalMod);
public void Destroy()
{
ImPlotNative.ImPlotInputMap_destroy((ImPlotInputMap*)(NativePtr));
}
}
}

@ -3,13 +3,13 @@ namespace ImPlotNET
public enum ImPlotLocation
{
Center = 0,
North = 1 << 0,
South = 1 << 1,
West = 1 << 2,
East = 1 << 3,
NorthWest = North | West,
NorthEast = North | East,
SouthWest = South | West,
SouthEast = South | East,
North = 1,
South = 2,
West = 4,
East = 8,
NorthWest = 5,
NorthEast = 9,
SouthWest = 6,
SouthEast = 10,
}
}

@ -16,11 +16,25 @@ namespace ImPlotNET
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_AnnotateClampedVec4(double x, double y, Vector2 pix_offset, Vector4 color, byte* fmt);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern byte ImPlot_BeginLegendDragDropSource(byte* label_id, ImGuiDragDropFlags flags);
public static extern byte ImPlot_BeginDragDropSource(ImGuiKeyModFlags key_mods, ImGuiDragDropFlags flags);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern byte ImPlot_BeginDragDropSourceItem(byte* label_id, ImGuiDragDropFlags flags);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern byte ImPlot_BeginDragDropSourceX(ImGuiKeyModFlags key_mods, ImGuiDragDropFlags flags);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern byte ImPlot_BeginDragDropSourceY(ImPlotYAxis axis, ImGuiKeyModFlags key_mods, ImGuiDragDropFlags flags);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern byte ImPlot_BeginDragDropTarget();
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern byte ImPlot_BeginDragDropTargetLegend();
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern byte ImPlot_BeginDragDropTargetX();
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern byte ImPlot_BeginDragDropTargetY(ImPlotYAxis axis);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern byte ImPlot_BeginLegendPopup(byte* label_id, ImGuiMouseButton mouse_button);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern byte ImPlot_BeginPlot(byte* title_id, byte* x_label, byte* y_label, Vector2 size, ImPlotFlags flags, ImPlotAxisFlags x_flags, ImPlotAxisFlags y_flags, ImPlotAxisFlags y2_flags, ImPlotAxisFlags y3_flags);
public static extern byte ImPlot_BeginPlot(byte* title_id, byte* x_label, byte* y_label, Vector2 size, ImPlotFlags flags, ImPlotAxisFlags x_flags, ImPlotAxisFlags y_flags, ImPlotAxisFlags y2_flags, ImPlotAxisFlags y3_flags, byte* y2_label, byte* y3_label);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern IntPtr ImPlot_CreateContext();
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
@ -32,7 +46,9 @@ namespace ImPlotNET
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern byte ImPlot_DragPoint(byte* id, double* x, double* y, byte show_label, Vector4 col, float radius);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_EndLegendDragDropSource();
public static extern void ImPlot_EndDragDropSource();
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_EndDragDropTarget();
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_EndLegendPopup();
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
@ -48,8 +64,6 @@ namespace ImPlotNET
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern IntPtr ImPlot_GetCurrentContext();
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern ImPlotInputMap* ImPlot_GetInputMap();
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_GetLastItemColor(Vector4* pOut);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern byte* ImPlot_GetMarkerName(ImPlotMarker idx);
@ -82,7 +96,11 @@ namespace ImPlotNET
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern byte ImPlot_IsPlotYAxisHovered(ImPlotYAxis y_axis);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_LerpColormap(Vector4* pOut, float t);
public static extern void ImPlot_ItemIconVec4(Vector4 col);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_ItemIconU32(uint col);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_LerpColormapFloat(Vector4* pOut, float t);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_LinkNextPlotLimits(double* xmin, double* xmax, double* ymin, double* ymax, double* ymin2, double* ymax2, double* ymin3, double* ymax3);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
@ -294,6 +312,26 @@ namespace ImPlotNET
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotHeatmapU64Ptr(byte* label_id, ulong* values, int rows, int cols, double scale_min, double scale_max, byte* label_fmt, ImPlotPoint bounds_min, ImPlotPoint bounds_max);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotHLinesFloatPtr(byte* label_id, float* ys, int count, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotHLinesdoublePtr(byte* label_id, double* ys, int count, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotHLinesS8Ptr(byte* label_id, sbyte* ys, int count, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotHLinesU8Ptr(byte* label_id, byte* ys, int count, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotHLinesS16Ptr(byte* label_id, short* ys, int count, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotHLinesU16Ptr(byte* label_id, ushort* ys, int count, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotHLinesS32Ptr(byte* label_id, int* ys, int count, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotHLinesU32Ptr(byte* label_id, uint* ys, int count, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotHLinesS64Ptr(byte* label_id, long* ys, int count, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotHLinesU64Ptr(byte* label_id, ulong* ys, int count, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotImage(byte* label_id, IntPtr user_texture_id, ImPlotPoint bounds_min, ImPlotPoint bounds_max, Vector2 uv0, Vector2 uv1, Vector4 tint_col);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotLineFloatPtrInt(byte* label_id, float* values, int count, double xscale, double x0, int offset, int stride);
@ -396,45 +434,45 @@ namespace ImPlotNET
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotScatterU64PtrU64Ptr(byte* label_id, ulong* xs, ulong* ys, int count, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotShadedFloatPtrIntdoubledoubleInt(byte* label_id, float* values, int count, double y_ref, double xscale, double x0, int offset, int stride);
public static extern void ImPlot_PlotShadedFloatPtrInt(byte* label_id, float* values, int count, double y_ref, double xscale, double x0, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotShadeddoublePtrIntdoubledoubleInt(byte* label_id, double* values, int count, double y_ref, double xscale, double x0, int offset, int stride);
public static extern void ImPlot_PlotShadeddoublePtrInt(byte* label_id, double* values, int count, double y_ref, double xscale, double x0, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotShadedS8PtrIntdoubledoubleInt(byte* label_id, sbyte* values, int count, double y_ref, double xscale, double x0, int offset, int stride);
public static extern void ImPlot_PlotShadedS8PtrInt(byte* label_id, sbyte* values, int count, double y_ref, double xscale, double x0, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotShadedU8PtrIntdoubledoubleInt(byte* label_id, byte* values, int count, double y_ref, double xscale, double x0, int offset, int stride);
public static extern void ImPlot_PlotShadedU8PtrInt(byte* label_id, byte* values, int count, double y_ref, double xscale, double x0, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotShadedS16PtrIntdoubledoubleInt(byte* label_id, short* values, int count, double y_ref, double xscale, double x0, int offset, int stride);
public static extern void ImPlot_PlotShadedS16PtrInt(byte* label_id, short* values, int count, double y_ref, double xscale, double x0, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotShadedU16PtrIntdoubledoubleInt(byte* label_id, ushort* values, int count, double y_ref, double xscale, double x0, int offset, int stride);
public static extern void ImPlot_PlotShadedU16PtrInt(byte* label_id, ushort* values, int count, double y_ref, double xscale, double x0, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotShadedS32PtrIntdoubledoubleInt(byte* label_id, int* values, int count, double y_ref, double xscale, double x0, int offset, int stride);
public static extern void ImPlot_PlotShadedS32PtrInt(byte* label_id, int* values, int count, double y_ref, double xscale, double x0, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotShadedU32PtrIntdoubledoubleInt(byte* label_id, uint* values, int count, double y_ref, double xscale, double x0, int offset, int stride);
public static extern void ImPlot_PlotShadedU32PtrInt(byte* label_id, uint* values, int count, double y_ref, double xscale, double x0, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotShadedS64PtrIntdoubledoubleInt(byte* label_id, long* values, int count, double y_ref, double xscale, double x0, int offset, int stride);
public static extern void ImPlot_PlotShadedS64PtrInt(byte* label_id, long* values, int count, double y_ref, double xscale, double x0, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotShadedU64PtrIntdoubledoubleInt(byte* label_id, ulong* values, int count, double y_ref, double xscale, double x0, int offset, int stride);
public static extern void ImPlot_PlotShadedU64PtrInt(byte* label_id, ulong* values, int count, double y_ref, double xscale, double x0, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotShadedFloatPtrFloatPtrIntInt(byte* label_id, float* xs, float* ys, int count, double y_ref, int offset, int stride);
public static extern void ImPlot_PlotShadedFloatPtrFloatPtrInt(byte* label_id, float* xs, float* ys, int count, double y_ref, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotShadeddoublePtrdoublePtrIntInt(byte* label_id, double* xs, double* ys, int count, double y_ref, int offset, int stride);
public static extern void ImPlot_PlotShadeddoublePtrdoublePtrInt(byte* label_id, double* xs, double* ys, int count, double y_ref, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotShadedS8PtrS8PtrIntInt(byte* label_id, sbyte* xs, sbyte* ys, int count, double y_ref, int offset, int stride);
public static extern void ImPlot_PlotShadedS8PtrS8PtrInt(byte* label_id, sbyte* xs, sbyte* ys, int count, double y_ref, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotShadedU8PtrU8PtrIntInt(byte* label_id, byte* xs, byte* ys, int count, double y_ref, int offset, int stride);
public static extern void ImPlot_PlotShadedU8PtrU8PtrInt(byte* label_id, byte* xs, byte* ys, int count, double y_ref, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotShadedS16PtrS16PtrIntInt(byte* label_id, short* xs, short* ys, int count, double y_ref, int offset, int stride);
public static extern void ImPlot_PlotShadedS16PtrS16PtrInt(byte* label_id, short* xs, short* ys, int count, double y_ref, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotShadedU16PtrU16PtrIntInt(byte* label_id, ushort* xs, ushort* ys, int count, double y_ref, int offset, int stride);
public static extern void ImPlot_PlotShadedU16PtrU16PtrInt(byte* label_id, ushort* xs, ushort* ys, int count, double y_ref, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotShadedS32PtrS32PtrIntInt(byte* label_id, int* xs, int* ys, int count, double y_ref, int offset, int stride);
public static extern void ImPlot_PlotShadedS32PtrS32PtrInt(byte* label_id, int* xs, int* ys, int count, double y_ref, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotShadedU32PtrU32PtrIntInt(byte* label_id, uint* xs, uint* ys, int count, double y_ref, int offset, int stride);
public static extern void ImPlot_PlotShadedU32PtrU32PtrInt(byte* label_id, uint* xs, uint* ys, int count, double y_ref, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotShadedS64PtrS64PtrIntInt(byte* label_id, long* xs, long* ys, int count, double y_ref, int offset, int stride);
public static extern void ImPlot_PlotShadedS64PtrS64PtrInt(byte* label_id, long* xs, long* ys, int count, double y_ref, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotShadedU64PtrU64PtrIntInt(byte* label_id, ulong* xs, ulong* ys, int count, double y_ref, int offset, int stride);
public static extern void ImPlot_PlotShadedU64PtrU64PtrInt(byte* label_id, ulong* xs, ulong* ys, int count, double y_ref, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotShadedFloatPtrFloatPtrFloatPtr(byte* label_id, float* xs, float* ys1, float* ys2, int count, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
@ -542,6 +580,26 @@ namespace ImPlotNET
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotToPixelsdouble(Vector2* pOut, double x, double y, ImPlotYAxis y_axis);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotVLinesFloatPtr(byte* label_id, float* xs, int count, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotVLinesdoublePtr(byte* label_id, double* xs, int count, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotVLinesS8Ptr(byte* label_id, sbyte* xs, int count, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotVLinesU8Ptr(byte* label_id, byte* xs, int count, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotVLinesS16Ptr(byte* label_id, short* xs, int count, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotVLinesU16Ptr(byte* label_id, ushort* xs, int count, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotVLinesS32Ptr(byte* label_id, int* xs, int count, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotVLinesU32Ptr(byte* label_id, uint* xs, int count, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotVLinesS64Ptr(byte* label_id, long* xs, int count, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PlotVLinesU64Ptr(byte* label_id, ulong* xs, int count, int offset, int stride);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PopColormap(int count);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_PopPlotClipRect();
@ -602,7 +660,7 @@ namespace ImPlotNET
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_SetPlotYAxis(ImPlotYAxis y_axis);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_ShowColormapScale(double scale_min, double scale_max, float height);
public static extern void ImPlot_ShowColormapScale(double scale_min, double scale_max, Vector2 size);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern byte ImPlot_ShowColormapSelector(byte* label);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
@ -624,10 +682,6 @@ namespace ImPlotNET
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlot_StyleColorsLight(ImPlotStyle* dst);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImPlotInputMap_destroy(ImPlotInputMap* self);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern ImPlotInputMap* ImPlotInputMap_ImPlotInputMap();
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern byte ImPlotLimits_ContainsPlotPoInt(ImPlotLimits* self, ImPlotPoint p);
[DllImport("cimplot", CallingConvention = CallingConvention.Cdecl)]
public static extern byte ImPlotLimits_Containsdouble(ImPlotLimits* self, double x, double y);

@ -32,6 +32,7 @@ namespace ImPlotNET
public Vector2 LegendSpacing;
public Vector2 MousePosPadding;
public Vector2 AnnotationPadding;
public Vector2 FitPadding;
public Vector2 PlotDefaultSize;
public Vector2 PlotMinSize;
public Vector4 Colors_0;
@ -95,6 +96,7 @@ namespace ImPlotNET
public ref Vector2 LegendSpacing => ref Unsafe.AsRef<Vector2>(&NativePtr->LegendSpacing);
public ref Vector2 MousePosPadding => ref Unsafe.AsRef<Vector2>(&NativePtr->MousePosPadding);
public ref Vector2 AnnotationPadding => ref Unsafe.AsRef<Vector2>(&NativePtr->AnnotationPadding);
public ref Vector2 FitPadding => ref Unsafe.AsRef<Vector2>(&NativePtr->FitPadding);
public ref Vector2 PlotDefaultSize => ref Unsafe.AsRef<Vector2>(&NativePtr->PlotDefaultSize);
public ref Vector2 PlotMinSize => ref Unsafe.AsRef<Vector2>(&NativePtr->PlotMinSize);
public RangeAccessor<Vector4> Colors => new RangeAccessor<Vector4>(&NativePtr->Colors_0, 24);

@ -26,8 +26,9 @@ namespace ImPlotNET
LegendSpacing = 21,
MousePosPadding = 22,
AnnotationPadding = 23,
PlotDefaultSize = 24,
PlotMinSize = 25,
COUNT = 26,
FitPadding = 24,
PlotDefaultSize = 25,
PlotMinSize = 26,
COUNT = 27,
}
}

Loading…
Cancel
Save