From f635eb28c59c9542da3aa064d93d006bf4facc5c Mon Sep 17 00:00:00 2001 From: Victor Bombi Date: Fri, 4 Sep 2020 10:43:31 +0200 Subject: [PATCH] generation with new recursive parser --- cimgui.cpp | 4 +- cimgui.h | 138 +++++++++++++++------------- generator/output/cimgui.cpp | 4 +- generator/output/cimgui.h | 138 +++++++++++++++------------- generator/output/definitions.json | 7 +- generator/output/definitions.lua | 16 ++-- generator/output/typedefs_dict.json | 4 + generator/output/typedefs_dict.lua | 4 + 8 files changed, 167 insertions(+), 148 deletions(-) diff --git a/cimgui.cpp b/cimgui.cpp index 2456cb5..0af5901 100644 --- a/cimgui.cpp +++ b/cimgui.cpp @@ -1841,9 +1841,9 @@ CIMGUI_API void ImColor_SetHSV(ImColor* self,float h,float s,float v,float a) { return self->SetHSV(h,s,v,a); } -CIMGUI_API void ImColor_HSV(ImColor *pOut,ImColor* self,float h,float s,float v,float a) +CIMGUI_API void ImColor_HSV(ImColor *pOut,float h,float s,float v,float a) { - *pOut = self->HSV(h,s,v,a); + *pOut = ImColor::HSV(h,s,v,a); } CIMGUI_API ImDrawCmd* ImDrawCmd_ImDrawCmd(void) { diff --git a/cimgui.h b/cimgui.h index aae48b5..94a0f17 100644 --- a/cimgui.h +++ b/cimgui.h @@ -42,17 +42,16 @@ typedef unsigned __int64 ImU64; #ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS -typedef struct ImGuiStoragePair ImGuiStoragePair; -typedef struct ImGuiTextRange ImGuiTextRange; typedef struct ImGuiViewportP ImGuiViewportP; typedef struct ImGuiPtrOrIndex ImGuiPtrOrIndex; typedef struct ImGuiShrinkWidthItem ImGuiShrinkWidthItem; typedef struct ImGuiDataTypeTempStorage ImGuiDataTypeTempStorage; typedef struct ImVec2ih ImVec2ih; typedef struct ImVec1 ImVec1; -typedef struct ImFontAtlasCustomRect ImFontAtlasCustomRect; -typedef struct ImVec4 ImVec4; -typedef struct ImVec2 ImVec2; +typedef struct StbTexteditRow StbTexteditRow; +typedef struct STB_TexteditState STB_TexteditState; +typedef struct StbUndoState StbUndoState; +typedef struct StbUndoRecord StbUndoRecord; typedef struct ImGuiWindowSettings ImGuiWindowSettings; typedef struct ImGuiWindowTempData ImGuiWindowTempData; typedef struct ImGuiWindow ImGuiWindow; @@ -79,6 +78,11 @@ typedef struct ImGuiColorMod ImGuiColorMod; typedef struct ImDrawDataBuilder ImDrawDataBuilder; typedef struct ImRect ImRect; typedef struct ImBitVector ImBitVector; +typedef struct ImFontAtlasCustomRect ImFontAtlasCustomRect; +typedef struct ImGuiStoragePair ImGuiStoragePair; +typedef struct ImGuiTextRange ImGuiTextRange; +typedef struct ImVec4 ImVec4; +typedef struct ImVec2 ImVec2; typedef struct ImGuiWindowClass ImGuiWindowClass; typedef struct ImGuiViewport ImGuiViewport; typedef struct ImGuiTextFilter ImGuiTextFilter; @@ -235,7 +239,7 @@ typedef struct ImVector_ImDrawVert {int Size;int Capacity;ImDrawVert* Data;} ImV typedef struct ImVector_ImGuiSettingsHandler {int Size;int Capacity;ImGuiSettingsHandler* Data;} ImVector_ImGuiSettingsHandler; typedef struct ImVector_ImGuiPlatformMonitor {int Size;int Capacity;ImGuiPlatformMonitor* Data;} ImVector_ImGuiPlatformMonitor; typedef struct ImVector_ImVec4 {int Size;int Capacity;ImVec4* Data;} ImVector_ImVec4; -typedef struct ImVector_ImGuiPopupData {int Size;int Capacity;ImGuiPopupData* Data;} ImVector_ImGuiPopupData; +typedef struct ImVector_char {int Size;int Capacity;char* Data;} ImVector_char; typedef struct ImVector_const_charPtr {int Size;int Capacity;const char** Data;} ImVector_const_charPtr; typedef struct ImVector_ImGuiID {int Size;int Capacity;ImGuiID* Data;} ImVector_ImGuiID; typedef struct ImVector_ImGuiWindowPtr {int Size;int Capacity;ImGuiWindow** Data;} ImVector_ImGuiWindowPtr; @@ -244,7 +248,7 @@ typedef struct ImVector_ImGuiViewportPtr {int Size;int Capacity;ImGuiViewport** typedef struct ImVector_ImGuiColorMod {int Size;int Capacity;ImGuiColorMod* Data;} ImVector_ImGuiColorMod; typedef struct ImVector_ImGuiDockRequest {int Size;int Capacity;ImGuiDockRequest* Data;} ImVector_ImGuiDockRequest; typedef struct ImVector_ImFontGlyph {int Size;int Capacity;ImFontGlyph* Data;} ImVector_ImFontGlyph; -typedef struct ImVector_unsigned_char {int Size;int Capacity;unsigned char* Data;} ImVector_unsigned_char; +typedef struct ImVector_ImGuiTextRange {int Size;int Capacity;ImGuiTextRange* Data;} ImVector_ImGuiTextRange; typedef struct ImVector_ImGuiStoragePair {int Size;int Capacity;ImGuiStoragePair* Data;} ImVector_ImGuiStoragePair; typedef struct ImVector_ImGuiStyleMod {int Size;int Capacity;ImGuiStyleMod* Data;} ImVector_ImGuiStyleMod; typedef struct ImVector_ImGuiViewportPPtr {int Size;int Capacity;ImGuiViewportP** Data;} ImVector_ImGuiViewportPPtr; @@ -257,54 +261,19 @@ typedef struct ImVector_ImGuiColumns {int Size;int Capacity;ImGuiColumns* Data;} typedef struct ImVector_ImFontAtlasCustomRect {int Size;int Capacity;ImFontAtlasCustomRect* Data;} ImVector_ImFontAtlasCustomRect; typedef struct ImVector_ImGuiDockNodeSettings {int Size;int Capacity;ImGuiDockNodeSettings* Data;} ImVector_ImGuiDockNodeSettings; typedef struct ImVector_ImGuiGroupData {int Size;int Capacity;ImGuiGroupData* Data;} ImVector_ImGuiGroupData; -typedef struct ImVector_ImTextureID {int Size;int Capacity;ImTextureID* Data;} ImVector_ImTextureID; typedef struct ImVector_ImGuiShrinkWidthItem {int Size;int Capacity;ImGuiShrinkWidthItem* Data;} ImVector_ImGuiShrinkWidthItem; -typedef struct ImVector_ImFontConfig {int Size;int Capacity;ImFontConfig* Data;} ImVector_ImFontConfig; typedef struct ImVector_ImVec2 {int Size;int Capacity;ImVec2* Data;} ImVector_ImVec2; -typedef struct ImVector_char {int Size;int Capacity;char* Data;} ImVector_char; -typedef struct ImVector_ImDrawCmd {int Size;int Capacity;ImDrawCmd* Data;} ImVector_ImDrawCmd; +typedef struct ImVector_ImGuiPopupData {int Size;int Capacity;ImGuiPopupData* Data;} ImVector_ImGuiPopupData; typedef struct ImVector_ImFontPtr {int Size;int Capacity;ImFont** Data;} ImVector_ImFontPtr; +typedef struct ImVector_ImFontConfig {int Size;int Capacity;ImFontConfig* Data;} ImVector_ImFontConfig; +typedef struct ImVector_ImDrawCmd {int Size;int Capacity;ImDrawCmd* Data;} ImVector_ImDrawCmd; typedef struct ImVector_ImGuiPtrOrIndex {int Size;int Capacity;ImGuiPtrOrIndex* Data;} ImVector_ImGuiPtrOrIndex; +typedef struct ImVector_ImTextureID {int Size;int Capacity;ImTextureID* Data;} ImVector_ImTextureID; typedef struct ImVector_ImDrawIdx {int Size;int Capacity;ImDrawIdx* Data;} ImVector_ImDrawIdx; -typedef struct ImVector_ImGuiTextRange {int Size;int Capacity;ImGuiTextRange* Data;} ImVector_ImGuiTextRange; +typedef struct ImVector_unsigned_char {int Size;int Capacity;unsigned char* Data;} ImVector_unsigned_char; typedef struct ImVector_ImGuiWindowSettings {int Size;int Capacity;ImGuiWindowSettings* Data;} ImVector_ImGuiWindowSettings; typedef struct ImChunkStream_ImGuiWindowSettings {ImVector_ImGuiWindowSettings Buf;} ImChunkStream_ImGuiWindowSettings; -typedef struct -{ - int where; - int insert_length; - int delete_length; - int char_storage; -} StbUndoRecord; -typedef struct -{ - StbUndoRecord undo_rec [99]; - ImWchar undo_char[999]; - short undo_point, redo_point; - int undo_char_point, redo_char_point; -} StbUndoState; -typedef struct -{ - int cursor; - int select_start; - int select_end; - unsigned char insert_mode; - unsigned char cursor_at_end_of_line; - unsigned char initialized; - unsigned char has_preferred_x; - unsigned char single_line; - unsigned char padding1, padding2, padding3; - float preferred_x; - StbUndoState undostate; -} STB_TexteditState; -typedef struct -{ - float x0,x1; - float baseline_y_delta; - float ymin,ymax; - int num_chars; -} StbTexteditRow; struct ImVec2 { float x, y; @@ -924,6 +893,11 @@ struct ImGuiTextFilter ImVector_ImGuiTextRange Filters; int CountGrep; }; +struct ImGuiTextRange +{ + const char* b; + const char* e; +}; struct ImGuiTextBuffer { ImVector_char Buf; @@ -934,6 +908,11 @@ struct ImGuiStorage }; typedef struct ImVector_ImGuiTabBar {int Size;int Capacity;ImGuiTabBar* Data;} ImVector_ImGuiTabBar; typedef struct ImPool_ImGuiTabBar {ImVector_ImGuiTabBar Buf;ImGuiStorage Map;ImPoolIdx FreeIdx;} ImPool_ImGuiTabBar; +struct ImGuiStoragePair +{ + ImGuiID key; + union { int val_i; float val_f; void* val_p; }; +}; struct ImGuiListClipper { int DisplayStart, DisplayEnd; @@ -1178,6 +1157,41 @@ struct ImGuiViewport bool PlatformRequestResize; bool PlatformRequestClose; }; +struct StbUndoRecord +{ + int where; + int insert_length; + int delete_length; + int char_storage; +}; +struct StbUndoState +{ + StbUndoRecord undo_rec [99]; + ImWchar undo_char[999]; + short undo_point, redo_point; + int undo_char_point, redo_char_point; +}; +struct STB_TexteditState +{ + int cursor; + int select_start; + int select_end; + unsigned char insert_mode; + unsigned char cursor_at_end_of_line; + unsigned char initialized; + unsigned char has_preferred_x; + unsigned char single_line; + unsigned char padding1, padding2, padding3; + float preferred_x; + StbUndoState undostate; +}; +struct StbTexteditRow +{ + float x0,x1; + float baseline_y_delta; + float ymin,ymax; + int num_chars; +}; struct ImVec1 { float x; @@ -2057,16 +2071,6 @@ struct ImGuiTabBar ImVec2 FramePadding; ImGuiTextBuffer TabsNames; }; -struct ImGuiTextRange -{ - const char* b; - const char* e; -}; -struct ImGuiStoragePair -{ - ImGuiID key; - union { int val_i; float val_f; void* val_p; }; -}; #else struct GLFWwindow; struct SDL_Window; @@ -2075,14 +2079,18 @@ typedef union SDL_Event SDL_Event; #ifndef CIMGUI_DEFINE_ENUMS_AND_STRUCTS typedef ImGuiStorage::ImGuiStoragePair ImGuiStoragePair; +typedef ImStb::StbUndoState StbUndoState; +typedef ImStb::StbUndoRecord StbUndoRecord; typedef ImGuiTextFilter::ImGuiTextRange ImGuiTextRange; +typedef ImStb::STB_TexteditState STB_TexteditState; +typedef ImStb::StbTexteditRow StbTexteditRow; typedef ImVector ImVector_float; typedef ImVector ImVector_ImWchar; typedef ImVector ImVector_ImDrawVert; typedef ImVector ImVector_ImGuiSettingsHandler; typedef ImVector ImVector_ImGuiPlatformMonitor; typedef ImVector ImVector_ImVec4; -typedef ImVector ImVector_ImGuiPopupData; +typedef ImVector ImVector_char; typedef ImVector ImVector_const_charPtr; typedef ImVector ImVector_ImGuiID; typedef ImVector ImVector_ImGuiWindowPtr; @@ -2091,7 +2099,7 @@ typedef ImVector ImVector_ImGuiViewportPtr; typedef ImVector ImVector_ImGuiColorMod; typedef ImVector ImVector_ImGuiDockRequest; typedef ImVector ImVector_ImFontGlyph; -typedef ImVector ImVector_unsigned_char; +typedef ImVector ImVector_ImGuiTextRange; typedef ImVector ImVector_ImGuiStoragePair; typedef ImVector ImVector_ImGuiStyleMod; typedef ImVector ImVector_ImGuiViewportPPtr; @@ -2104,16 +2112,16 @@ typedef ImVector ImVector_ImGuiColumns; typedef ImVector ImVector_ImFontAtlasCustomRect; typedef ImVector ImVector_ImGuiDockNodeSettings; typedef ImVector ImVector_ImGuiGroupData; -typedef ImVector ImVector_ImTextureID; typedef ImVector ImVector_ImGuiShrinkWidthItem; -typedef ImVector ImVector_ImFontConfig; typedef ImVector ImVector_ImVec2; -typedef ImVector ImVector_char; -typedef ImVector ImVector_ImDrawCmd; +typedef ImVector ImVector_ImGuiPopupData; typedef ImVector ImVector_ImFontPtr; +typedef ImVector ImVector_ImFontConfig; +typedef ImVector ImVector_ImDrawCmd; typedef ImVector ImVector_ImGuiPtrOrIndex; +typedef ImVector ImVector_ImTextureID; typedef ImVector ImVector_ImDrawIdx; -typedef ImVector ImVector_ImGuiTextRange; +typedef ImVector ImVector_unsigned_char; typedef ImChunkStream ImChunkStream_ImGuiWindowSettings; typedef ImPool ImPool_ImGuiTabBar; #endif //CIMGUI_DEFINE_ENUMS_AND_STRUCTS @@ -2566,7 +2574,7 @@ CIMGUI_API ImColor* ImColor_ImColorU32(ImU32 rgba); CIMGUI_API ImColor* ImColor_ImColorFloat(float r,float g,float b,float a); CIMGUI_API ImColor* ImColor_ImColorVec4(const ImVec4 col); CIMGUI_API void ImColor_SetHSV(ImColor* self,float h,float s,float v,float a); -CIMGUI_API void ImColor_HSV(ImColor *pOut,ImColor* self,float h,float s,float v,float a); +CIMGUI_API void ImColor_HSV(ImColor *pOut,float h,float s,float v,float a); CIMGUI_API ImDrawCmd* ImDrawCmd_ImDrawCmd(void); CIMGUI_API void ImDrawCmd_destroy(ImDrawCmd* self); CIMGUI_API ImDrawListSplitter* ImDrawListSplitter_ImDrawListSplitter(void); diff --git a/generator/output/cimgui.cpp b/generator/output/cimgui.cpp index 2456cb5..0af5901 100644 --- a/generator/output/cimgui.cpp +++ b/generator/output/cimgui.cpp @@ -1841,9 +1841,9 @@ CIMGUI_API void ImColor_SetHSV(ImColor* self,float h,float s,float v,float a) { return self->SetHSV(h,s,v,a); } -CIMGUI_API void ImColor_HSV(ImColor *pOut,ImColor* self,float h,float s,float v,float a) +CIMGUI_API void ImColor_HSV(ImColor *pOut,float h,float s,float v,float a) { - *pOut = self->HSV(h,s,v,a); + *pOut = ImColor::HSV(h,s,v,a); } CIMGUI_API ImDrawCmd* ImDrawCmd_ImDrawCmd(void) { diff --git a/generator/output/cimgui.h b/generator/output/cimgui.h index aae48b5..94a0f17 100644 --- a/generator/output/cimgui.h +++ b/generator/output/cimgui.h @@ -42,17 +42,16 @@ typedef unsigned __int64 ImU64; #ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS -typedef struct ImGuiStoragePair ImGuiStoragePair; -typedef struct ImGuiTextRange ImGuiTextRange; typedef struct ImGuiViewportP ImGuiViewportP; typedef struct ImGuiPtrOrIndex ImGuiPtrOrIndex; typedef struct ImGuiShrinkWidthItem ImGuiShrinkWidthItem; typedef struct ImGuiDataTypeTempStorage ImGuiDataTypeTempStorage; typedef struct ImVec2ih ImVec2ih; typedef struct ImVec1 ImVec1; -typedef struct ImFontAtlasCustomRect ImFontAtlasCustomRect; -typedef struct ImVec4 ImVec4; -typedef struct ImVec2 ImVec2; +typedef struct StbTexteditRow StbTexteditRow; +typedef struct STB_TexteditState STB_TexteditState; +typedef struct StbUndoState StbUndoState; +typedef struct StbUndoRecord StbUndoRecord; typedef struct ImGuiWindowSettings ImGuiWindowSettings; typedef struct ImGuiWindowTempData ImGuiWindowTempData; typedef struct ImGuiWindow ImGuiWindow; @@ -79,6 +78,11 @@ typedef struct ImGuiColorMod ImGuiColorMod; typedef struct ImDrawDataBuilder ImDrawDataBuilder; typedef struct ImRect ImRect; typedef struct ImBitVector ImBitVector; +typedef struct ImFontAtlasCustomRect ImFontAtlasCustomRect; +typedef struct ImGuiStoragePair ImGuiStoragePair; +typedef struct ImGuiTextRange ImGuiTextRange; +typedef struct ImVec4 ImVec4; +typedef struct ImVec2 ImVec2; typedef struct ImGuiWindowClass ImGuiWindowClass; typedef struct ImGuiViewport ImGuiViewport; typedef struct ImGuiTextFilter ImGuiTextFilter; @@ -235,7 +239,7 @@ typedef struct ImVector_ImDrawVert {int Size;int Capacity;ImDrawVert* Data;} ImV typedef struct ImVector_ImGuiSettingsHandler {int Size;int Capacity;ImGuiSettingsHandler* Data;} ImVector_ImGuiSettingsHandler; typedef struct ImVector_ImGuiPlatformMonitor {int Size;int Capacity;ImGuiPlatformMonitor* Data;} ImVector_ImGuiPlatformMonitor; typedef struct ImVector_ImVec4 {int Size;int Capacity;ImVec4* Data;} ImVector_ImVec4; -typedef struct ImVector_ImGuiPopupData {int Size;int Capacity;ImGuiPopupData* Data;} ImVector_ImGuiPopupData; +typedef struct ImVector_char {int Size;int Capacity;char* Data;} ImVector_char; typedef struct ImVector_const_charPtr {int Size;int Capacity;const char** Data;} ImVector_const_charPtr; typedef struct ImVector_ImGuiID {int Size;int Capacity;ImGuiID* Data;} ImVector_ImGuiID; typedef struct ImVector_ImGuiWindowPtr {int Size;int Capacity;ImGuiWindow** Data;} ImVector_ImGuiWindowPtr; @@ -244,7 +248,7 @@ typedef struct ImVector_ImGuiViewportPtr {int Size;int Capacity;ImGuiViewport** typedef struct ImVector_ImGuiColorMod {int Size;int Capacity;ImGuiColorMod* Data;} ImVector_ImGuiColorMod; typedef struct ImVector_ImGuiDockRequest {int Size;int Capacity;ImGuiDockRequest* Data;} ImVector_ImGuiDockRequest; typedef struct ImVector_ImFontGlyph {int Size;int Capacity;ImFontGlyph* Data;} ImVector_ImFontGlyph; -typedef struct ImVector_unsigned_char {int Size;int Capacity;unsigned char* Data;} ImVector_unsigned_char; +typedef struct ImVector_ImGuiTextRange {int Size;int Capacity;ImGuiTextRange* Data;} ImVector_ImGuiTextRange; typedef struct ImVector_ImGuiStoragePair {int Size;int Capacity;ImGuiStoragePair* Data;} ImVector_ImGuiStoragePair; typedef struct ImVector_ImGuiStyleMod {int Size;int Capacity;ImGuiStyleMod* Data;} ImVector_ImGuiStyleMod; typedef struct ImVector_ImGuiViewportPPtr {int Size;int Capacity;ImGuiViewportP** Data;} ImVector_ImGuiViewportPPtr; @@ -257,54 +261,19 @@ typedef struct ImVector_ImGuiColumns {int Size;int Capacity;ImGuiColumns* Data;} typedef struct ImVector_ImFontAtlasCustomRect {int Size;int Capacity;ImFontAtlasCustomRect* Data;} ImVector_ImFontAtlasCustomRect; typedef struct ImVector_ImGuiDockNodeSettings {int Size;int Capacity;ImGuiDockNodeSettings* Data;} ImVector_ImGuiDockNodeSettings; typedef struct ImVector_ImGuiGroupData {int Size;int Capacity;ImGuiGroupData* Data;} ImVector_ImGuiGroupData; -typedef struct ImVector_ImTextureID {int Size;int Capacity;ImTextureID* Data;} ImVector_ImTextureID; typedef struct ImVector_ImGuiShrinkWidthItem {int Size;int Capacity;ImGuiShrinkWidthItem* Data;} ImVector_ImGuiShrinkWidthItem; -typedef struct ImVector_ImFontConfig {int Size;int Capacity;ImFontConfig* Data;} ImVector_ImFontConfig; typedef struct ImVector_ImVec2 {int Size;int Capacity;ImVec2* Data;} ImVector_ImVec2; -typedef struct ImVector_char {int Size;int Capacity;char* Data;} ImVector_char; -typedef struct ImVector_ImDrawCmd {int Size;int Capacity;ImDrawCmd* Data;} ImVector_ImDrawCmd; +typedef struct ImVector_ImGuiPopupData {int Size;int Capacity;ImGuiPopupData* Data;} ImVector_ImGuiPopupData; typedef struct ImVector_ImFontPtr {int Size;int Capacity;ImFont** Data;} ImVector_ImFontPtr; +typedef struct ImVector_ImFontConfig {int Size;int Capacity;ImFontConfig* Data;} ImVector_ImFontConfig; +typedef struct ImVector_ImDrawCmd {int Size;int Capacity;ImDrawCmd* Data;} ImVector_ImDrawCmd; typedef struct ImVector_ImGuiPtrOrIndex {int Size;int Capacity;ImGuiPtrOrIndex* Data;} ImVector_ImGuiPtrOrIndex; +typedef struct ImVector_ImTextureID {int Size;int Capacity;ImTextureID* Data;} ImVector_ImTextureID; typedef struct ImVector_ImDrawIdx {int Size;int Capacity;ImDrawIdx* Data;} ImVector_ImDrawIdx; -typedef struct ImVector_ImGuiTextRange {int Size;int Capacity;ImGuiTextRange* Data;} ImVector_ImGuiTextRange; +typedef struct ImVector_unsigned_char {int Size;int Capacity;unsigned char* Data;} ImVector_unsigned_char; typedef struct ImVector_ImGuiWindowSettings {int Size;int Capacity;ImGuiWindowSettings* Data;} ImVector_ImGuiWindowSettings; typedef struct ImChunkStream_ImGuiWindowSettings {ImVector_ImGuiWindowSettings Buf;} ImChunkStream_ImGuiWindowSettings; -typedef struct -{ - int where; - int insert_length; - int delete_length; - int char_storage; -} StbUndoRecord; -typedef struct -{ - StbUndoRecord undo_rec [99]; - ImWchar undo_char[999]; - short undo_point, redo_point; - int undo_char_point, redo_char_point; -} StbUndoState; -typedef struct -{ - int cursor; - int select_start; - int select_end; - unsigned char insert_mode; - unsigned char cursor_at_end_of_line; - unsigned char initialized; - unsigned char has_preferred_x; - unsigned char single_line; - unsigned char padding1, padding2, padding3; - float preferred_x; - StbUndoState undostate; -} STB_TexteditState; -typedef struct -{ - float x0,x1; - float baseline_y_delta; - float ymin,ymax; - int num_chars; -} StbTexteditRow; struct ImVec2 { float x, y; @@ -924,6 +893,11 @@ struct ImGuiTextFilter ImVector_ImGuiTextRange Filters; int CountGrep; }; +struct ImGuiTextRange +{ + const char* b; + const char* e; +}; struct ImGuiTextBuffer { ImVector_char Buf; @@ -934,6 +908,11 @@ struct ImGuiStorage }; typedef struct ImVector_ImGuiTabBar {int Size;int Capacity;ImGuiTabBar* Data;} ImVector_ImGuiTabBar; typedef struct ImPool_ImGuiTabBar {ImVector_ImGuiTabBar Buf;ImGuiStorage Map;ImPoolIdx FreeIdx;} ImPool_ImGuiTabBar; +struct ImGuiStoragePair +{ + ImGuiID key; + union { int val_i; float val_f; void* val_p; }; +}; struct ImGuiListClipper { int DisplayStart, DisplayEnd; @@ -1178,6 +1157,41 @@ struct ImGuiViewport bool PlatformRequestResize; bool PlatformRequestClose; }; +struct StbUndoRecord +{ + int where; + int insert_length; + int delete_length; + int char_storage; +}; +struct StbUndoState +{ + StbUndoRecord undo_rec [99]; + ImWchar undo_char[999]; + short undo_point, redo_point; + int undo_char_point, redo_char_point; +}; +struct STB_TexteditState +{ + int cursor; + int select_start; + int select_end; + unsigned char insert_mode; + unsigned char cursor_at_end_of_line; + unsigned char initialized; + unsigned char has_preferred_x; + unsigned char single_line; + unsigned char padding1, padding2, padding3; + float preferred_x; + StbUndoState undostate; +}; +struct StbTexteditRow +{ + float x0,x1; + float baseline_y_delta; + float ymin,ymax; + int num_chars; +}; struct ImVec1 { float x; @@ -2057,16 +2071,6 @@ struct ImGuiTabBar ImVec2 FramePadding; ImGuiTextBuffer TabsNames; }; -struct ImGuiTextRange -{ - const char* b; - const char* e; -}; -struct ImGuiStoragePair -{ - ImGuiID key; - union { int val_i; float val_f; void* val_p; }; -}; #else struct GLFWwindow; struct SDL_Window; @@ -2075,14 +2079,18 @@ typedef union SDL_Event SDL_Event; #ifndef CIMGUI_DEFINE_ENUMS_AND_STRUCTS typedef ImGuiStorage::ImGuiStoragePair ImGuiStoragePair; +typedef ImStb::StbUndoState StbUndoState; +typedef ImStb::StbUndoRecord StbUndoRecord; typedef ImGuiTextFilter::ImGuiTextRange ImGuiTextRange; +typedef ImStb::STB_TexteditState STB_TexteditState; +typedef ImStb::StbTexteditRow StbTexteditRow; typedef ImVector ImVector_float; typedef ImVector ImVector_ImWchar; typedef ImVector ImVector_ImDrawVert; typedef ImVector ImVector_ImGuiSettingsHandler; typedef ImVector ImVector_ImGuiPlatformMonitor; typedef ImVector ImVector_ImVec4; -typedef ImVector ImVector_ImGuiPopupData; +typedef ImVector ImVector_char; typedef ImVector ImVector_const_charPtr; typedef ImVector ImVector_ImGuiID; typedef ImVector ImVector_ImGuiWindowPtr; @@ -2091,7 +2099,7 @@ typedef ImVector ImVector_ImGuiViewportPtr; typedef ImVector ImVector_ImGuiColorMod; typedef ImVector ImVector_ImGuiDockRequest; typedef ImVector ImVector_ImFontGlyph; -typedef ImVector ImVector_unsigned_char; +typedef ImVector ImVector_ImGuiTextRange; typedef ImVector ImVector_ImGuiStoragePair; typedef ImVector ImVector_ImGuiStyleMod; typedef ImVector ImVector_ImGuiViewportPPtr; @@ -2104,16 +2112,16 @@ typedef ImVector ImVector_ImGuiColumns; typedef ImVector ImVector_ImFontAtlasCustomRect; typedef ImVector ImVector_ImGuiDockNodeSettings; typedef ImVector ImVector_ImGuiGroupData; -typedef ImVector ImVector_ImTextureID; typedef ImVector ImVector_ImGuiShrinkWidthItem; -typedef ImVector ImVector_ImFontConfig; typedef ImVector ImVector_ImVec2; -typedef ImVector ImVector_char; -typedef ImVector ImVector_ImDrawCmd; +typedef ImVector ImVector_ImGuiPopupData; typedef ImVector ImVector_ImFontPtr; +typedef ImVector ImVector_ImFontConfig; +typedef ImVector ImVector_ImDrawCmd; typedef ImVector ImVector_ImGuiPtrOrIndex; +typedef ImVector ImVector_ImTextureID; typedef ImVector ImVector_ImDrawIdx; -typedef ImVector ImVector_ImGuiTextRange; +typedef ImVector ImVector_unsigned_char; typedef ImChunkStream ImChunkStream_ImGuiWindowSettings; typedef ImPool ImPool_ImGuiTabBar; #endif //CIMGUI_DEFINE_ENUMS_AND_STRUCTS @@ -2566,7 +2574,7 @@ CIMGUI_API ImColor* ImColor_ImColorU32(ImU32 rgba); CIMGUI_API ImColor* ImColor_ImColorFloat(float r,float g,float b,float a); CIMGUI_API ImColor* ImColor_ImColorVec4(const ImVec4 col); CIMGUI_API void ImColor_SetHSV(ImColor* self,float h,float s,float v,float a); -CIMGUI_API void ImColor_HSV(ImColor *pOut,ImColor* self,float h,float s,float v,float a); +CIMGUI_API void ImColor_HSV(ImColor *pOut,float h,float s,float v,float a); CIMGUI_API ImDrawCmd* ImDrawCmd_ImDrawCmd(void); CIMGUI_API void ImDrawCmd_destroy(ImDrawCmd* self); CIMGUI_API ImDrawListSplitter* ImDrawListSplitter_ImDrawListSplitter(void); diff --git a/generator/output/definitions.json b/generator/output/definitions.json index f20a44b..4200e2c 100644 --- a/generator/output/definitions.json +++ b/generator/output/definitions.json @@ -362,16 +362,12 @@ ], "ImColor_HSV": [ { - "args": "(ImColor *pOut,ImColor* self,float h,float s,float v,float a)", + "args": "(ImColor *pOut,float h,float s,float v,float a)", "argsT": [ { "name": "pOut", "type": "ImColor*" }, - { - "name": "self", - "type": "ImColor*" - }, { "name": "h", "type": "float" @@ -396,6 +392,7 @@ "a": "1.0f" }, "funcname": "HSV", + "is_static_function": true, "location": "imgui", "nonUDT": 1, "ov_cimguiname": "ImColor_HSV", diff --git a/generator/output/definitions.lua b/generator/output/definitions.lua index a71debb..b3f4ac7 100644 --- a/generator/output/definitions.lua +++ b/generator/output/definitions.lua @@ -308,32 +308,30 @@ defs["ImChunkStream_size"][1]["templated"] = true defs["ImChunkStream_size"]["()const"] = defs["ImChunkStream_size"][1] defs["ImColor_HSV"] = {} defs["ImColor_HSV"][1] = {} -defs["ImColor_HSV"][1]["args"] = "(ImColor *pOut,ImColor* self,float h,float s,float v,float a)" +defs["ImColor_HSV"][1]["args"] = "(ImColor *pOut,float h,float s,float v,float a)" defs["ImColor_HSV"][1]["argsT"] = {} defs["ImColor_HSV"][1]["argsT"][1] = {} defs["ImColor_HSV"][1]["argsT"][1]["name"] = "pOut" defs["ImColor_HSV"][1]["argsT"][1]["type"] = "ImColor*" defs["ImColor_HSV"][1]["argsT"][2] = {} -defs["ImColor_HSV"][1]["argsT"][2]["name"] = "self" -defs["ImColor_HSV"][1]["argsT"][2]["type"] = "ImColor*" +defs["ImColor_HSV"][1]["argsT"][2]["name"] = "h" +defs["ImColor_HSV"][1]["argsT"][2]["type"] = "float" defs["ImColor_HSV"][1]["argsT"][3] = {} -defs["ImColor_HSV"][1]["argsT"][3]["name"] = "h" +defs["ImColor_HSV"][1]["argsT"][3]["name"] = "s" defs["ImColor_HSV"][1]["argsT"][3]["type"] = "float" defs["ImColor_HSV"][1]["argsT"][4] = {} -defs["ImColor_HSV"][1]["argsT"][4]["name"] = "s" +defs["ImColor_HSV"][1]["argsT"][4]["name"] = "v" defs["ImColor_HSV"][1]["argsT"][4]["type"] = "float" defs["ImColor_HSV"][1]["argsT"][5] = {} -defs["ImColor_HSV"][1]["argsT"][5]["name"] = "v" +defs["ImColor_HSV"][1]["argsT"][5]["name"] = "a" defs["ImColor_HSV"][1]["argsT"][5]["type"] = "float" -defs["ImColor_HSV"][1]["argsT"][6] = {} -defs["ImColor_HSV"][1]["argsT"][6]["name"] = "a" -defs["ImColor_HSV"][1]["argsT"][6]["type"] = "float" defs["ImColor_HSV"][1]["argsoriginal"] = "(float h,float s,float v,float a=1.0f)" defs["ImColor_HSV"][1]["call_args"] = "(h,s,v,a)" defs["ImColor_HSV"][1]["cimguiname"] = "ImColor_HSV" defs["ImColor_HSV"][1]["defaults"] = {} defs["ImColor_HSV"][1]["defaults"]["a"] = "1.0f" defs["ImColor_HSV"][1]["funcname"] = "HSV" +defs["ImColor_HSV"][1]["is_static_function"] = true defs["ImColor_HSV"][1]["location"] = "imgui" defs["ImColor_HSV"][1]["nonUDT"] = 1 defs["ImColor_HSV"][1]["ov_cimguiname"] = "ImColor_HSV" diff --git a/generator/output/typedefs_dict.json b/generator/output/typedefs_dict.json index 24cba45..9e7eeeb 100644 --- a/generator/output/typedefs_dict.json +++ b/generator/output/typedefs_dict.json @@ -127,6 +127,10 @@ "ImWchar": "ImWchar16", "ImWchar16": "unsigned short", "ImWchar32": "unsigned int", + "STB_TexteditState": "struct STB_TexteditState", + "StbTexteditRow": "struct StbTexteditRow", + "StbUndoRecord": "struct StbUndoRecord", + "StbUndoState": "struct StbUndoState", "const_iterator": "const value_type*", "iterator": "value_type*", "value_type": "T" diff --git a/generator/output/typedefs_dict.lua b/generator/output/typedefs_dict.lua index 3abcc60..74cb647 100644 --- a/generator/output/typedefs_dict.lua +++ b/generator/output/typedefs_dict.lua @@ -127,6 +127,10 @@ defs["ImVec4"] = "struct ImVec4" defs["ImWchar"] = "ImWchar16" defs["ImWchar16"] = "unsigned short" defs["ImWchar32"] = "unsigned int" +defs["STB_TexteditState"] = "struct STB_TexteditState" +defs["StbTexteditRow"] = "struct StbTexteditRow" +defs["StbUndoRecord"] = "struct StbUndoRecord" +defs["StbUndoState"] = "struct StbUndoState" defs["const_iterator"] = "const value_type*" defs["iterator"] = "value_type*" defs["value_type"] = "T"