mirror of
https://github.com/cimgui/cimgui.git
synced 2025-08-20 07:38:30 +01:00
comments to 10 multiples in structs and typedefs to begining
This commit is contained in:
118
cimgui/cimgui.h
118
cimgui/cimgui.h
@@ -34,49 +34,75 @@ typedef unsigned long long ImU64;
|
|||||||
|
|
||||||
#ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
|
#ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
|
||||||
/////////////// BEGIN AUTOGENERATED SEGMENT
|
/////////////// BEGIN AUTOGENERATED SEGMENT
|
||||||
|
typedef struct ImFont ImFont;
|
||||||
|
typedef struct ImFontAtlas ImFontAtlas;
|
||||||
|
typedef struct CustomRect CustomRect;
|
||||||
|
typedef struct GlyphRangesBuilder GlyphRangesBuilder;
|
||||||
|
typedef struct ImFontGlyph ImFontGlyph;
|
||||||
|
typedef struct ImFontConfig ImFontConfig;
|
||||||
|
typedef struct ImDrawData ImDrawData;
|
||||||
|
typedef struct ImDrawList ImDrawList;
|
||||||
|
typedef struct ImDrawChannel ImDrawChannel;
|
||||||
|
typedef struct ImDrawVert ImDrawVert;
|
||||||
|
typedef struct ImDrawCmd ImDrawCmd;
|
||||||
|
typedef struct ImGuiListClipper ImGuiListClipper;
|
||||||
|
typedef struct ImColor ImColor;
|
||||||
|
typedef struct ImGuiPayload ImGuiPayload;
|
||||||
|
typedef struct ImGuiSizeCallbackData ImGuiSizeCallbackData;
|
||||||
|
typedef struct ImGuiTextEditCallbackData ImGuiTextEditCallbackData;
|
||||||
|
typedef struct ImGuiStorage ImGuiStorage;
|
||||||
|
typedef struct Pair Pair;
|
||||||
|
typedef struct ImGuiTextBuffer ImGuiTextBuffer;
|
||||||
|
typedef struct ImGuiTextFilter ImGuiTextFilter;
|
||||||
|
typedef struct TextRange TextRange;
|
||||||
|
typedef struct ImGuiOnceUponAFrame ImGuiOnceUponAFrame;
|
||||||
|
typedef struct ImGuiIO ImGuiIO;
|
||||||
|
typedef struct ImGuiStyle ImGuiStyle;
|
||||||
|
typedef struct ImVec4 ImVec4;
|
||||||
|
typedef struct ImVec2 ImVec2;
|
||||||
|
typedef struct ImGuiContext ImGuiContext;
|
||||||
|
typedef struct ImGuiPayload ImGuiPayload;
|
||||||
|
typedef struct ImGuiListClipper ImGuiListClipper;
|
||||||
|
typedef struct ImGuiSizeCallbackData ImGuiSizeCallbackData;
|
||||||
|
typedef struct ImGuiTextEditCallbackData ImGuiTextEditCallbackData;
|
||||||
|
typedef struct ImGuiTextBuffer ImGuiTextBuffer;
|
||||||
|
typedef struct ImGuiTextFilter ImGuiTextFilter;
|
||||||
|
typedef struct ImGuiStyle ImGuiStyle;
|
||||||
|
typedef struct ImGuiStorage ImGuiStorage;
|
||||||
|
typedef struct ImGuiOnceUponAFrame ImGuiOnceUponAFrame;
|
||||||
|
typedef struct ImGuiIO ImGuiIO;
|
||||||
|
typedef struct ImColor ImColor;
|
||||||
|
typedef struct ImFontConfig ImFontConfig;
|
||||||
|
typedef struct ImFontAtlas ImFontAtlas;
|
||||||
|
typedef struct ImFont ImFont;
|
||||||
|
typedef struct ImDrawVert ImDrawVert;
|
||||||
|
typedef struct ImDrawListSharedData ImDrawListSharedData;
|
||||||
|
typedef struct ImDrawList ImDrawList;
|
||||||
|
typedef struct ImDrawData ImDrawData;
|
||||||
|
typedef struct ImDrawCmd ImDrawCmd;
|
||||||
|
typedef struct ImDrawChannel ImDrawChannel;
|
||||||
|
|
||||||
struct ImDrawChannel; // Temporary storage for outputting drawing commands out of order, used by ImDrawList::ChannelsSplit()
|
struct ImDrawChannel; // Temporary storage for outputting drawing commands out of order, used by ImDrawList::ChannelsSplit()
|
||||||
typedef struct ImDrawChannel ImDrawChannel;
|
|
||||||
struct ImDrawCmd; // A single draw command within a parent ImDrawList (generally maps to 1 GPU draw call)
|
struct ImDrawCmd; // A single draw command within a parent ImDrawList (generally maps to 1 GPU draw call)
|
||||||
typedef struct ImDrawCmd ImDrawCmd;
|
|
||||||
struct ImDrawData; // All draw command lists required to render the frame
|
struct ImDrawData; // All draw command lists required to render the frame
|
||||||
typedef struct ImDrawData ImDrawData;
|
|
||||||
struct ImDrawList; // A single draw command list (generally one per window)
|
struct ImDrawList; // A single draw command list (generally one per window)
|
||||||
typedef struct ImDrawList ImDrawList;
|
|
||||||
struct ImDrawListSharedData; // Data shared among multiple draw lists (typically owned by parent ImGui context, but you may create one yourself)
|
struct ImDrawListSharedData; // Data shared among multiple draw lists (typically owned by parent ImGui context, but you may create one yourself)
|
||||||
typedef struct ImDrawListSharedData ImDrawListSharedData;
|
|
||||||
struct ImDrawVert; // A single vertex (20 bytes by default, override layout with IMGUI_OVERRIDE_DRAWVERT_STRUCT_LAYOUT)
|
struct ImDrawVert; // A single vertex (20 bytes by default, override layout with IMGUI_OVERRIDE_DRAWVERT_STRUCT_LAYOUT)
|
||||||
typedef struct ImDrawVert ImDrawVert;
|
|
||||||
struct ImFont; // Runtime data for a single font within a parent ImFontAtlas
|
struct ImFont; // Runtime data for a single font within a parent ImFontAtlas
|
||||||
typedef struct ImFont ImFont;
|
|
||||||
struct ImFontAtlas; // Runtime data for multiple fonts, bake multiple fonts into a single texture, TTF/OTF font loader
|
struct ImFontAtlas; // Runtime data for multiple fonts, bake multiple fonts into a single texture, TTF/OTF font loader
|
||||||
typedef struct ImFontAtlas ImFontAtlas;
|
|
||||||
struct ImFontConfig; // Configuration data when adding a font or merging fonts
|
struct ImFontConfig; // Configuration data when adding a font or merging fonts
|
||||||
typedef struct ImFontConfig ImFontConfig;
|
|
||||||
struct ImColor; // Helper functions to create a color that can be converted to either u32 or float4
|
struct ImColor; // Helper functions to create a color that can be converted to either u32 or float4
|
||||||
typedef struct ImColor ImColor;
|
|
||||||
struct ImGuiIO; // Main configuration and I/O between your application and ImGui
|
struct ImGuiIO; // Main configuration and I/O between your application and ImGui
|
||||||
typedef struct ImGuiIO ImGuiIO;
|
|
||||||
struct ImGuiOnceUponAFrame; // Simple helper for running a block of code not more than once a frame, used by IMGUI_ONCE_UPON_A_FRAME macro
|
struct ImGuiOnceUponAFrame; // Simple helper for running a block of code not more than once a frame, used by IMGUI_ONCE_UPON_A_FRAME macro
|
||||||
typedef struct ImGuiOnceUponAFrame ImGuiOnceUponAFrame;
|
|
||||||
struct ImGuiStorage; // Simple custom key value storage
|
struct ImGuiStorage; // Simple custom key value storage
|
||||||
typedef struct ImGuiStorage ImGuiStorage;
|
|
||||||
struct ImGuiStyle; // Runtime data for styling/colors
|
struct ImGuiStyle; // Runtime data for styling/colors
|
||||||
typedef struct ImGuiStyle ImGuiStyle;
|
|
||||||
struct ImGuiTextFilter; // Parse and apply text filters. In format "aaaaa[,bbbb][,ccccc]"
|
struct ImGuiTextFilter; // Parse and apply text filters. In format "aaaaa[,bbbb][,ccccc]"
|
||||||
typedef struct ImGuiTextFilter ImGuiTextFilter;
|
|
||||||
struct ImGuiTextBuffer; // Text buffer for logging/accumulating text
|
struct ImGuiTextBuffer; // Text buffer for logging/accumulating text
|
||||||
typedef struct ImGuiTextBuffer ImGuiTextBuffer;
|
|
||||||
struct ImGuiTextEditCallbackData; // Shared state of ImGui::InputText() when using custom ImGuiTextEditCallback (rare/advanced use)
|
struct ImGuiTextEditCallbackData; // Shared state of ImGui::InputText() when using custom ImGuiTextEditCallback (rare/advanced use)
|
||||||
typedef struct ImGuiTextEditCallbackData ImGuiTextEditCallbackData;
|
|
||||||
struct ImGuiSizeCallbackData; // Structure used to constraint window size in custom ways when using custom ImGuiSizeCallback (rare/advanced use)
|
struct ImGuiSizeCallbackData; // Structure used to constraint window size in custom ways when using custom ImGuiSizeCallback (rare/advanced use)
|
||||||
typedef struct ImGuiSizeCallbackData ImGuiSizeCallbackData;
|
|
||||||
struct ImGuiListClipper; // Helper to manually clip large list of items
|
struct ImGuiListClipper; // Helper to manually clip large list of items
|
||||||
typedef struct ImGuiListClipper ImGuiListClipper;
|
|
||||||
struct ImGuiPayload; // User data payload for drag and drop operations
|
struct ImGuiPayload; // User data payload for drag and drop operations
|
||||||
typedef struct ImGuiPayload ImGuiPayload;
|
|
||||||
struct ImGuiContext; // ImGui context (opaque)
|
struct ImGuiContext; // ImGui context (opaque)
|
||||||
typedef struct ImGuiContext ImGuiContext;
|
|
||||||
typedef void* ImTextureID; // User data to identify a texture (this is whatever to you want it to be! read the FAQ about ImTextureID in imgui.cpp)
|
typedef void* ImTextureID; // User data to identify a texture (this is whatever to you want it to be! read the FAQ about ImTextureID in imgui.cpp)
|
||||||
typedef unsigned int ImU32; // 32-bit unsigned integer (typically used to store packed colors)
|
typedef unsigned int ImU32; // 32-bit unsigned integer (typically used to store packed colors)
|
||||||
typedef unsigned int ImGuiID; // Unique ID used by widgets (typically hashed from a stack of string)
|
typedef unsigned int ImGuiID; // Unique ID used by widgets (typically hashed from a stack of string)
|
||||||
@@ -110,12 +136,10 @@ struct ImVec2
|
|||||||
{
|
{
|
||||||
float x, y;
|
float x, y;
|
||||||
};
|
};
|
||||||
typedef struct ImVec2 ImVec2;
|
|
||||||
struct ImVec4
|
struct ImVec4
|
||||||
{
|
{
|
||||||
float x, y, z, w;
|
float x, y, z, w;
|
||||||
};
|
};
|
||||||
typedef struct ImVec4 ImVec4;
|
|
||||||
enum ImGuiWindowFlags_
|
enum ImGuiWindowFlags_
|
||||||
{
|
{
|
||||||
ImGuiWindowFlags_NoTitleBar = 1 << 0, // Disable title-bar
|
ImGuiWindowFlags_NoTitleBar = 1 << 0, // Disable title-bar
|
||||||
@@ -156,7 +180,7 @@ enum ImGuiInputTextFlags_
|
|||||||
ImGuiInputTextFlags_CallbackCompletion = 1 << 6, // Call user function on pressing TAB (for completion handling)
|
ImGuiInputTextFlags_CallbackCompletion = 1 << 6, // Call user function on pressing TAB (for completion handling)
|
||||||
ImGuiInputTextFlags_CallbackHistory = 1 << 7, // Call user function on pressing Up/Down arrows (for history handling)
|
ImGuiInputTextFlags_CallbackHistory = 1 << 7, // Call user function on pressing Up/Down arrows (for history handling)
|
||||||
ImGuiInputTextFlags_CallbackAlways = 1 << 8, // Call user function every time. User code may query cursor position, modify text buffer.
|
ImGuiInputTextFlags_CallbackAlways = 1 << 8, // Call user function every time. User code may query cursor position, modify text buffer.
|
||||||
ImGuiInputTextFlags_CallbackCharFilter = 1 </*< 9, // Call user function to filter character. Modify data->*/EventChar to replace/filter input, or return 1 to discard character.
|
ImGuiInputTextFlags_CallbackCharFilter = 1 << 9, // Call user function to filter character. Modify data->EventChar to replace/filter input, or return 1 to discard character.
|
||||||
ImGuiInputTextFlags_AllowTabInput = 1 << 10, // Pressing TAB input a '\t' character into the text field
|
ImGuiInputTextFlags_AllowTabInput = 1 << 10, // Pressing TAB input a '\t' character into the text field
|
||||||
ImGuiInputTextFlags_CtrlEnterForNewLine = 1 << 11, // In multi-line mode, unfocus with Enter, add new line with Ctrl+Enter (default is opposite: unfocus with Ctrl+Enter, add line with Enter).
|
ImGuiInputTextFlags_CtrlEnterForNewLine = 1 << 11, // In multi-line mode, unfocus with Enter, add new line with Ctrl+Enter (default is opposite: unfocus with Ctrl+Enter, add line with Enter).
|
||||||
ImGuiInputTextFlags_NoHorizontalScroll = 1 << 12, // Disable following the cursor horizontally
|
ImGuiInputTextFlags_NoHorizontalScroll = 1 << 12, // Disable following the cursor horizontally
|
||||||
@@ -456,12 +480,11 @@ struct ImGuiStyle
|
|||||||
float CurveTessellationTol; // Tessellation tolerance when using PathBezierCurveTo() without a specific number of segments. Decrease for highly tessellated curves (higher quality, more polygons), increase to reduce quality.
|
float CurveTessellationTol; // Tessellation tolerance when using PathBezierCurveTo() without a specific number of segments. Decrease for highly tessellated curves (higher quality, more polygons), increase to reduce quality.
|
||||||
ImVec4 Colors[ImGuiCol_COUNT];
|
ImVec4 Colors[ImGuiCol_COUNT];
|
||||||
};
|
};
|
||||||
typedef struct ImGuiStyle ImGuiStyle;
|
|
||||||
struct ImGuiIO
|
struct ImGuiIO
|
||||||
{
|
{
|
||||||
ImGuiConfigFlags ConfigFlags; // = 0 // See ImGuiConfigFlags_ enum. Set by user/application. Gamepad/keyboard navigation options, etc.
|
ImGuiConfigFlags ConfigFlags; // = 0 // See ImGuiConfigFlags_ enum. Set by user/application. Gamepad/keyboard navigation options, etc.
|
||||||
ImGuiBackendFlags BackendFlags; // = 0 // Set ImGuiBackendFlags_ enum. Set by imgui_impl_xxx files or custom back-end.
|
ImGuiBackendFlags BackendFlags; // = 0 // Set ImGuiBackendFlags_ enum. Set by imgui_impl_xxx files or custom back-end.
|
||||||
ImVec2 DisplaySize; // /*<unset>*/ // Display size, in pixels. For clamping windows positions.
|
ImVec2 DisplaySize; // <unset> // Display size, in pixels. For clamping windows positions.
|
||||||
float DeltaTime; // = 1.0f/60.0f // Time elapsed since last frame, in seconds.
|
float DeltaTime; // = 1.0f/60.0f // Time elapsed since last frame, in seconds.
|
||||||
float IniSavingRate; // = 5.0f // Maximum time between saving positions/sizes to .ini file, in seconds.
|
float IniSavingRate; // = 5.0f // Maximum time between saving positions/sizes to .ini file, in seconds.
|
||||||
const char* IniFilename; // = "imgui.ini" // Path to .ini file. NULL to disable .ini saving.
|
const char* IniFilename; // = "imgui.ini" // Path to .ini file. NULL to disable .ini saving.
|
||||||
@@ -469,17 +492,17 @@ struct ImGuiIO
|
|||||||
float MouseDoubleClickTime; // = 0.30f // Time for a double-click, in seconds.
|
float MouseDoubleClickTime; // = 0.30f // Time for a double-click, in seconds.
|
||||||
float MouseDoubleClickMaxDist; // = 6.0f // Distance threshold to stay in to validate a double-click, in pixels.
|
float MouseDoubleClickMaxDist; // = 6.0f // Distance threshold to stay in to validate a double-click, in pixels.
|
||||||
float MouseDragThreshold; // = 6.0f // Distance threshold before considering we are dragging.
|
float MouseDragThreshold; // = 6.0f // Distance threshold before considering we are dragging.
|
||||||
int KeyMap[ImGuiKey_COUNT]; // /*<unset>*/ // Map of indices into the KeysDown[512] entries array which represent your "native" keyboard state.
|
int KeyMap[ImGuiKey_COUNT]; // <unset> // Map of indices into the KeysDown[512] entries array which represent your "native" keyboard state.
|
||||||
float KeyRepeatDelay; // = 0.250f // When holding a key/button, time before it starts repeating, in seconds (for buttons in Repeat mode, etc.).
|
float KeyRepeatDelay; // = 0.250f // When holding a key/button, time before it starts repeating, in seconds (for buttons in Repeat mode, etc.).
|
||||||
float KeyRepeatRate; // = 0.050f // When holding a key/button, rate at which it repeats, in seconds.
|
float KeyRepeatRate; // = 0.050f // When holding a key/button, rate at which it repeats, in seconds.
|
||||||
void* UserData; // = NULL // Store your own data for retrieval by callbacks.
|
void* UserData; // = NULL // Store your own data for retrieval by callbacks.
|
||||||
ImFontAtlas* Fonts; // /*<auto>*/ // Load and assemble one or more fonts into a single tightly packed texture. Output to Fonts array.
|
ImFontAtlas* Fonts; // <auto> // Load and assemble one or more fonts into a single tightly packed texture. Output to Fonts array.
|
||||||
float FontGlobalScale; // = 1.0f // Global scale all fonts
|
float FontGlobalScale; // = 1.0f // Global scale all fonts
|
||||||
bool FontAllowUserScaling; // = false // Allow user scaling text of individual window with CTRL+Wheel.
|
bool FontAllowUserScaling; // = false // Allow user scaling text of individual window with CTRL+Wheel.
|
||||||
ImFont* FontDefault; // = NULL // Font to use on NewFrame(). Use NULL to uses Fonts->Fonts[0].
|
ImFont* FontDefault; // = NULL // Font to use on NewFrame(). Use NULL to uses Fonts->Fonts[0].
|
||||||
ImVec2 DisplayFramebufferScale; // = (1.0f,1.0f) // For retina display or other situations where window coordinates are different from framebuffer coordinates. User storage only, presently not used by ImGui.
|
ImVec2 DisplayFramebufferScale; // = (1.0f,1.0f) // For retina display or other situations where window coordinates are different from framebuffer coordinates. User storage only, presently not used by ImGui.
|
||||||
ImVec2 DisplayVisibleMin; // /*<unset>*/ (0.0f,0.0f) // If you use DisplaySize as a virtual space larger than your screen, set DisplayVisibleMin/Max to the visible area.
|
ImVec2 DisplayVisibleMin; // <unset> (0.0f,0.0f) // If you use DisplaySize as a virtual space larger than your screen, set DisplayVisibleMin/Max to the visible area.
|
||||||
ImVec2 DisplayVisibleMax; // /*<unset>*/ (0.0f,0.0f) // If the values are the same, we defaults to Min=(0.0f) and Max=DisplaySize
|
ImVec2 DisplayVisibleMax; // <unset> (0.0f,0.0f) // If the values are the same, we defaults to Min=(0.0f) and Max=DisplaySize
|
||||||
bool OptMacOSXBehaviors; // = defined(__APPLE__) // OS X style: Text editing cursor movement using Alt instead of Ctrl, Shortcuts using Cmd/Super instead of Ctrl, Line/Text Start and End using Cmd+Arrows instead of Home/End, Double click selects by word instead of selecting whole text, Multi-selection in lists uses Cmd/Super instead of Ctrl
|
bool OptMacOSXBehaviors; // = defined(__APPLE__) // OS X style: Text editing cursor movement using Alt instead of Ctrl, Shortcuts using Cmd/Super instead of Ctrl, Line/Text Start and End using Cmd+Arrows instead of Home/End, Double click selects by word instead of selecting whole text, Multi-selection in lists uses Cmd/Super instead of Ctrl
|
||||||
bool OptCursorBlink; // = true // Enable blinking cursor, for users who consider it annoying.
|
bool OptCursorBlink; // = true // Enable blinking cursor, for users who consider it annoying.
|
||||||
const char* (*GetClipboardTextFn)(void* user_data);
|
const char* (*GetClipboardTextFn)(void* user_data);
|
||||||
@@ -526,7 +549,6 @@ struct ImGuiIO
|
|||||||
float NavInputsDownDuration[ImGuiNavInput_COUNT];
|
float NavInputsDownDuration[ImGuiNavInput_COUNT];
|
||||||
float NavInputsDownDurationPrev[ImGuiNavInput_COUNT];
|
float NavInputsDownDurationPrev[ImGuiNavInput_COUNT];
|
||||||
};
|
};
|
||||||
typedef struct ImGuiIO ImGuiIO;
|
|
||||||
struct ImVector
|
struct ImVector
|
||||||
{
|
{
|
||||||
int Size;
|
int Size;
|
||||||
@@ -538,24 +560,20 @@ struct ImGuiOnceUponAFrame
|
|||||||
{
|
{
|
||||||
int RefFrame;
|
int RefFrame;
|
||||||
};
|
};
|
||||||
typedef struct ImGuiOnceUponAFrame ImGuiOnceUponAFrame;
|
|
||||||
struct ImGuiTextFilter
|
struct ImGuiTextFilter
|
||||||
{
|
{
|
||||||
char InputBuf[256];
|
char InputBuf[256];
|
||||||
ImVector/*<TextRange>*/ Filters;
|
ImVector/*<TextRange>*/ Filters;
|
||||||
int CountGrep;
|
int CountGrep;
|
||||||
};
|
};
|
||||||
typedef struct ImGuiTextFilter ImGuiTextFilter;
|
|
||||||
struct ImGuiTextBuffer
|
struct ImGuiTextBuffer
|
||||||
{
|
{
|
||||||
ImVector/*<char>*/ Buf;
|
ImVector/*<char>*/ Buf;
|
||||||
};
|
};
|
||||||
typedef struct ImGuiTextBuffer ImGuiTextBuffer;
|
|
||||||
struct ImGuiStorage
|
struct ImGuiStorage
|
||||||
{
|
{
|
||||||
ImVector/*<Pair>*/ Data;
|
ImVector/*<Pair>*/ Data;
|
||||||
};
|
};
|
||||||
typedef struct ImGuiStorage ImGuiStorage;
|
|
||||||
struct ImGuiTextEditCallbackData
|
struct ImGuiTextEditCallbackData
|
||||||
{
|
{
|
||||||
ImGuiInputTextFlags EventFlag; // One of ImGuiInputTextFlags_Callback* // Read-only
|
ImGuiInputTextFlags EventFlag; // One of ImGuiInputTextFlags_Callback* // Read-only
|
||||||
@@ -572,7 +590,6 @@ struct ImGuiTextEditCallbackData
|
|||||||
int SelectionStart; // // Read-write (== to SelectionEnd when no selection)
|
int SelectionStart; // // Read-write (== to SelectionEnd when no selection)
|
||||||
int SelectionEnd; // // Read-write
|
int SelectionEnd; // // Read-write
|
||||||
};
|
};
|
||||||
typedef struct ImGuiTextEditCallbackData ImGuiTextEditCallbackData;
|
|
||||||
struct ImGuiSizeCallbackData
|
struct ImGuiSizeCallbackData
|
||||||
{
|
{
|
||||||
void* UserData; // Read-only. What user passed to SetNextWindowSizeConstraints()
|
void* UserData; // Read-only. What user passed to SetNextWindowSizeConstraints()
|
||||||
@@ -580,7 +597,6 @@ struct ImGuiSizeCallbackData
|
|||||||
ImVec2 CurrentSize; // Read-only. Current window size.
|
ImVec2 CurrentSize; // Read-only. Current window size.
|
||||||
ImVec2 DesiredSize; // Read-write. Desired size, based on user's mouse position. Write to this field to restrain resizing.
|
ImVec2 DesiredSize; // Read-write. Desired size, based on user's mouse position. Write to this field to restrain resizing.
|
||||||
};
|
};
|
||||||
typedef struct ImGuiSizeCallbackData ImGuiSizeCallbackData;
|
|
||||||
struct ImGuiPayload
|
struct ImGuiPayload
|
||||||
{
|
{
|
||||||
const void* Data; // Data (copied and owned by dear imgui)
|
const void* Data; // Data (copied and owned by dear imgui)
|
||||||
@@ -592,19 +608,16 @@ struct ImGuiPayload
|
|||||||
bool Preview; // Set when AcceptDragDropPayload() was called and mouse has been hovering the target item (nb: handle overlapping drag targets)
|
bool Preview; // Set when AcceptDragDropPayload() was called and mouse has been hovering the target item (nb: handle overlapping drag targets)
|
||||||
bool Delivery; // Set when AcceptDragDropPayload() was called and mouse button is released over the target item.
|
bool Delivery; // Set when AcceptDragDropPayload() was called and mouse button is released over the target item.
|
||||||
};
|
};
|
||||||
typedef struct ImGuiPayload ImGuiPayload;
|
|
||||||
struct ImColor
|
struct ImColor
|
||||||
{
|
{
|
||||||
ImVec4 Value;
|
ImVec4 Value;
|
||||||
};
|
};
|
||||||
typedef struct ImColor ImColor;
|
|
||||||
struct ImGuiListClipper
|
struct ImGuiListClipper
|
||||||
{
|
{
|
||||||
float StartPosY;
|
float StartPosY;
|
||||||
float ItemsHeight;
|
float ItemsHeight;
|
||||||
int ItemsCount, StepNo, DisplayStart, DisplayEnd;
|
int ItemsCount, StepNo, DisplayStart, DisplayEnd;
|
||||||
};
|
};
|
||||||
typedef struct ImGuiListClipper ImGuiListClipper;
|
|
||||||
typedef void (*ImDrawCallback)(const ImDrawList* parent_list, const ImDrawCmd* cmd);
|
typedef void (*ImDrawCallback)(const ImDrawList* parent_list, const ImDrawCmd* cmd);
|
||||||
struct ImDrawCmd
|
struct ImDrawCmd
|
||||||
{
|
{
|
||||||
@@ -614,7 +627,6 @@ struct ImDrawCmd
|
|||||||
ImDrawCallback UserCallback; // If != NULL, call the function instead of rendering the vertices. clip_rect and texture_id will be set normally.
|
ImDrawCallback UserCallback; // If != NULL, call the function instead of rendering the vertices. clip_rect and texture_id will be set normally.
|
||||||
void* UserCallbackData; // The draw callback code can access this.
|
void* UserCallbackData; // The draw callback code can access this.
|
||||||
};
|
};
|
||||||
typedef struct ImDrawCmd ImDrawCmd;
|
|
||||||
typedef unsigned short ImDrawIdx;
|
typedef unsigned short ImDrawIdx;
|
||||||
struct ImDrawVert
|
struct ImDrawVert
|
||||||
{
|
{
|
||||||
@@ -622,13 +634,11 @@ struct ImDrawVert
|
|||||||
ImVec2 uv;
|
ImVec2 uv;
|
||||||
ImU32 col;
|
ImU32 col;
|
||||||
};
|
};
|
||||||
typedef struct ImDrawVert ImDrawVert;
|
|
||||||
struct ImDrawChannel
|
struct ImDrawChannel
|
||||||
{
|
{
|
||||||
ImVector/*<ImDrawCmd>*/ CmdBuffer;
|
ImVector/*<ImDrawCmd>*/ CmdBuffer;
|
||||||
ImVector/*<ImDrawIdx>*/ IdxBuffer;
|
ImVector/*<ImDrawIdx>*/ IdxBuffer;
|
||||||
};
|
};
|
||||||
typedef struct ImDrawChannel ImDrawChannel;
|
|
||||||
enum ImDrawCornerFlags_
|
enum ImDrawCornerFlags_
|
||||||
{
|
{
|
||||||
ImDrawCornerFlags_TopLeft = 1 << 0, // 0x1
|
ImDrawCornerFlags_TopLeft = 1 << 0, // 0x1
|
||||||
@@ -655,8 +665,8 @@ struct ImDrawList
|
|||||||
const ImDrawListSharedData* _Data; // Pointer to shared draw data (you can use ImGui::GetDrawListSharedData() to get the one from current ImGui context)
|
const ImDrawListSharedData* _Data; // Pointer to shared draw data (you can use ImGui::GetDrawListSharedData() to get the one from current ImGui context)
|
||||||
const char* _OwnerName; // Pointer to owner window's name for debugging
|
const char* _OwnerName; // Pointer to owner window's name for debugging
|
||||||
unsigned int _VtxCurrentIdx; // [Internal] == VtxBuffer.Size
|
unsigned int _VtxCurrentIdx; // [Internal] == VtxBuffer.Size
|
||||||
ImDrawVert* _VtxWritePtr; // [Internal] point within VtxBuffer.Data after each add command (to avoid using the ImVector/*<>*/ operators too much)
|
ImDrawVert* _VtxWritePtr; // [Internal] point within VtxBuffer.Data after each add command (to avoid using the ImVector<> operators too much)
|
||||||
ImDrawIdx* _IdxWritePtr; // [Internal] point within IdxBuffer.Data after each add command (to avoid using the ImVector/*<>*/ operators too much)
|
ImDrawIdx* _IdxWritePtr; // [Internal] point within IdxBuffer.Data after each add command (to avoid using the ImVector<> operators too much)
|
||||||
ImVector/*<ImVec4>*/ _ClipRectStack; // [Internal]
|
ImVector/*<ImVec4>*/ _ClipRectStack; // [Internal]
|
||||||
ImVector/*<ImTextureID>*/ _TextureIdStack; // [Internal]
|
ImVector/*<ImTextureID>*/ _TextureIdStack; // [Internal]
|
||||||
ImVector/*<ImVec2>*/ _Path; // [Internal] current path building
|
ImVector/*<ImVec2>*/ _Path; // [Internal] current path building
|
||||||
@@ -664,7 +674,6 @@ struct ImDrawList
|
|||||||
int _ChannelsCount; // [Internal] number of active channels (1+)
|
int _ChannelsCount; // [Internal] number of active channels (1+)
|
||||||
ImVector/*<ImDrawChannel>*/ _Channels; // [Internal] draw channels for columns API (not resized down so _ChannelsCount may be smaller than _Channels.Size)
|
ImVector/*<ImDrawChannel>*/ _Channels; // [Internal] draw channels for columns API (not resized down so _ChannelsCount may be smaller than _Channels.Size)
|
||||||
};
|
};
|
||||||
typedef struct ImDrawList ImDrawList;
|
|
||||||
struct ImDrawData
|
struct ImDrawData
|
||||||
{
|
{
|
||||||
bool Valid; // Only valid after Render() is called and before the next NewFrame() is called.
|
bool Valid; // Only valid after Render() is called and before the next NewFrame() is called.
|
||||||
@@ -673,7 +682,6 @@ struct ImDrawData
|
|||||||
int TotalIdxCount; // For convenience, sum of all ImDrawList's IdxBuffer.Size
|
int TotalIdxCount; // For convenience, sum of all ImDrawList's IdxBuffer.Size
|
||||||
int TotalVtxCount; // For convenience, sum of all ImDrawList's VtxBuffer.Size
|
int TotalVtxCount; // For convenience, sum of all ImDrawList's VtxBuffer.Size
|
||||||
};
|
};
|
||||||
typedef struct ImDrawData ImDrawData;
|
|
||||||
struct ImFontConfig
|
struct ImFontConfig
|
||||||
{
|
{
|
||||||
void* FontData; // // TTF/OTF data
|
void* FontData; // // TTF/OTF data
|
||||||
@@ -693,7 +701,6 @@ struct ImFontConfig
|
|||||||
char Name[40]; // Name (strictly to ease debugging)
|
char Name[40]; // Name (strictly to ease debugging)
|
||||||
ImFont* DstFont;
|
ImFont* DstFont;
|
||||||
};
|
};
|
||||||
typedef struct ImFontConfig ImFontConfig;
|
|
||||||
struct ImFontGlyph
|
struct ImFontGlyph
|
||||||
{
|
{
|
||||||
ImWchar Codepoint; // 0x0000..0xFFFF
|
ImWchar Codepoint; // 0x0000..0xFFFF
|
||||||
@@ -701,7 +708,6 @@ struct ImFontGlyph
|
|||||||
float X0, Y0, X1, Y1; // Glyph corners
|
float X0, Y0, X1, Y1; // Glyph corners
|
||||||
float U0, V0, U1, V1; // Texture coordinates
|
float U0, V0, U1, V1; // Texture coordinates
|
||||||
};
|
};
|
||||||
typedef struct ImFontGlyph ImFontGlyph;
|
|
||||||
enum ImFontAtlasFlags_
|
enum ImFontAtlasFlags_
|
||||||
{
|
{
|
||||||
ImFontAtlasFlags_NoPowerOfTwoHeight = 1 << 0, // Don't round the height to next power of two
|
ImFontAtlasFlags_NoPowerOfTwoHeight = 1 << 0, // Don't round the height to next power of two
|
||||||
@@ -724,10 +730,9 @@ struct ImFontAtlas
|
|||||||
ImVector/*<ImFontConfig>*/ ConfigData; // Internal data
|
ImVector/*<ImFontConfig>*/ ConfigData; // Internal data
|
||||||
int CustomRectIds[1]; // Identifiers of custom texture rectangle used by ImFontAtlas/ImDrawList
|
int CustomRectIds[1]; // Identifiers of custom texture rectangle used by ImFontAtlas/ImDrawList
|
||||||
};
|
};
|
||||||
typedef struct ImFontAtlas ImFontAtlas;
|
|
||||||
struct ImFont
|
struct ImFont
|
||||||
{
|
{
|
||||||
float FontSize; // /*<user set>*/ // Height of characters, set during loading (don't change after loading)
|
float FontSize; // <user set> // Height of characters, set during loading (don't change after loading)
|
||||||
float Scale; // = 1.f // Base font scale, multiplied by the per-window font scale which you can adjust with SetFontScale()
|
float Scale; // = 1.f // Base font scale, multiplied by the per-window font scale which you can adjust with SetFontScale()
|
||||||
ImVec2 DisplayOffset; // = (0.f,0.f) // Offset font rendering by xx pixels
|
ImVec2 DisplayOffset; // = (0.f,0.f) // Offset font rendering by xx pixels
|
||||||
ImVector/*<ImFontGlyph>*/ Glyphs; // // All glyphs.
|
ImVector/*<ImFontGlyph>*/ Glyphs; // // All glyphs.
|
||||||
@@ -741,15 +746,12 @@ struct ImFont
|
|||||||
ImFontAtlas* ContainerAtlas; // // What we has been loaded into
|
ImFontAtlas* ContainerAtlas; // // What we has been loaded into
|
||||||
float Ascent, Descent; // // Ascent: distance from top to bottom of e.g. 'A' [0..FontSize]
|
float Ascent, Descent; // // Ascent: distance from top to bottom of e.g. 'A' [0..FontSize]
|
||||||
bool DirtyLookupTables;
|
bool DirtyLookupTables;
|
||||||
int MetricsTotalSurface;// // Total surface in pixels to get an idea of the font rasterization/texture cost (not exact, we approximate the cost of padding between glyphs)
|
int MetricsTotalSurface; // // Total surface in pixels to get an idea of the font rasterization/texture cost (not exact, we approximate the cost of padding between glyphs)
|
||||||
};
|
};
|
||||||
typedef struct ImFont ImFont;
|
|
||||||
struct GlyphRangesBuilder
|
struct GlyphRangesBuilder
|
||||||
{
|
{
|
||||||
ImVector/*<unsigned char>*/ UsedChars;
|
ImVector/*<unsigned char>*/ UsedChars;
|
||||||
};
|
};
|
||||||
typedef struct GlyphRangesBuilder GlyphRangesBuilder;
|
|
||||||
|
|
||||||
struct CustomRect
|
struct CustomRect
|
||||||
{
|
{
|
||||||
unsigned int ID;
|
unsigned int ID;
|
||||||
@@ -759,22 +761,16 @@ typedef struct GlyphRangesBuilder GlyphRangesBuilder;
|
|||||||
ImVec2 GlyphOffset;
|
ImVec2 GlyphOffset;
|
||||||
ImFont* Font;
|
ImFont* Font;
|
||||||
};
|
};
|
||||||
typedef struct CustomRect CustomRect;
|
|
||||||
|
|
||||||
struct TextRange
|
struct TextRange
|
||||||
{
|
{
|
||||||
const char* b;
|
const char* b;
|
||||||
const char* e;
|
const char* e;
|
||||||
};
|
};
|
||||||
typedef struct TextRange TextRange;
|
|
||||||
|
|
||||||
struct Pair
|
struct Pair
|
||||||
{
|
{
|
||||||
ImGuiID key;
|
ImGuiID key;
|
||||||
union { int val_i; float val_f; void* val_p; };
|
union { int val_i; float val_f; void* val_p; };
|
||||||
};
|
};
|
||||||
typedef struct Pair Pair;
|
|
||||||
|
|
||||||
//////////////// END AUTOGENERATED SEGMENT
|
//////////////// END AUTOGENERATED SEGMENT
|
||||||
|
|
||||||
#endif // CIMGUI_DEFINE_ENUMS_AND_STRUCTS
|
#endif // CIMGUI_DEFINE_ENUMS_AND_STRUCTS
|
||||||
|
@@ -110,7 +110,10 @@ local function clean_spaces(cad)
|
|||||||
cad = cad:gsub("%s*([%(%),=])%s*","%1") --not spaces with ( , )
|
cad = cad:gsub("%s*([%(%),=])%s*","%1") --not spaces with ( , )
|
||||||
return cad
|
return cad
|
||||||
end
|
end
|
||||||
|
local function split_comment(line)
|
||||||
|
local comment = line:match("(%s*//.*)") or ""
|
||||||
|
return line:gsub("%s*//.*",""),comment
|
||||||
|
end
|
||||||
local function get_manuals(def)
|
local function get_manuals(def)
|
||||||
return cimgui_manuals[def.ov_cimguiname] or cimgui_manuals[def.cimguiname]
|
return cimgui_manuals[def.ov_cimguiname] or cimgui_manuals[def.cimguiname]
|
||||||
end
|
end
|
||||||
@@ -143,12 +146,11 @@ local function struct_parser()
|
|||||||
|
|
||||||
--drop initial comments
|
--drop initial comments
|
||||||
if line:match(initial_comment_re) then
|
if line:match(initial_comment_re) then
|
||||||
--print("coment:",line)
|
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
local linecommented = line
|
local line,comment = split_comment(line)
|
||||||
line = line:gsub("%s*//.*","")
|
--local linecommented = line
|
||||||
|
|
||||||
--if in_function discard
|
--if in_function discard
|
||||||
if in_functionst then
|
if in_functionst then
|
||||||
@@ -174,9 +176,9 @@ local function struct_parser()
|
|||||||
elseif line:match("public:") then
|
elseif line:match("public:") then
|
||||||
--nothing
|
--nothing
|
||||||
else
|
else
|
||||||
local linea = linecommented:gsub("%S+",{class="struct",mutable=""})
|
local linea = line:gsub("%S+",{class="struct",mutable=""})
|
||||||
linea = linea:gsub("(%b<>)","/%*%1%*/") --comment template parameters
|
linea = linea:gsub("(%b<>)","/%*%1%*/") --comment template parameters
|
||||||
table.insert(structcdefs,linea)
|
table.insert(structcdefs,linea..comment)
|
||||||
--]]
|
--]]
|
||||||
end
|
end
|
||||||
return
|
return
|
||||||
@@ -442,7 +444,7 @@ local function gen_structs_and_enums(cdefs)
|
|||||||
local struct_op_close_re = "%b{}"
|
local struct_op_close_re = "%b{}"
|
||||||
local structnames = {}
|
local structnames = {}
|
||||||
local innerstructs = {}
|
local innerstructs = {}
|
||||||
|
local typedefs_table = {}
|
||||||
local outtab = {}
|
local outtab = {}
|
||||||
-- Output the file
|
-- Output the file
|
||||||
table.insert(outtab,"/////////////// BEGIN AUTOGENERATED SEGMENT\n")
|
table.insert(outtab,"/////////////// BEGIN AUTOGENERATED SEGMENT\n")
|
||||||
@@ -450,8 +452,12 @@ local function gen_structs_and_enums(cdefs)
|
|||||||
|
|
||||||
for i,line in ipairs(cdefs) do
|
for i,line in ipairs(cdefs) do
|
||||||
repeat -- simulating continue with break
|
repeat -- simulating continue with break
|
||||||
local linecom = line
|
-- separate comments from code and try to add them with same tab
|
||||||
line = line:gsub("%s*//.*","")
|
local line, comment = split_comment(line)
|
||||||
|
local linelen = #line
|
||||||
|
local desired_linelen = math.max(math.ceil(linelen/10)*10,40)
|
||||||
|
local spaces_to_add = desired_linelen - linelen
|
||||||
|
local linecom = line..string.rep(" ",spaces_to_add)..comment
|
||||||
|
|
||||||
if line:match(namespace_re) then
|
if line:match(namespace_re) then
|
||||||
in_namespace = true
|
in_namespace = true
|
||||||
@@ -497,7 +503,7 @@ typedef struct ImVector ImVector;]])
|
|||||||
table.insert(outtab,linecom.."\n")
|
table.insert(outtab,linecom.."\n")
|
||||||
local struct_closed_name = line:match(struct_closed_re)
|
local struct_closed_name = line:match(struct_closed_re)
|
||||||
if struct_closed_name then
|
if struct_closed_name then
|
||||||
table.insert(outtab,"typedef struct "..struct_closed_name.." "..struct_closed_name..";\n")
|
table.insert(typedefs_table,"typedef struct "..struct_closed_name.." "..struct_closed_name..";\n")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -511,12 +517,14 @@ typedef struct ImVector ImVector;]])
|
|||||||
st[#st + 1] = line
|
st[#st + 1] = line
|
||||||
if line:match(struct_closing_re) and not line:match(struct_op_close_re) then
|
if line:match(struct_closing_re) and not line:match(struct_op_close_re) then
|
||||||
local structname = structnames[#structnames]
|
local structname = structnames[#structnames]
|
||||||
st[#st + 1] = string.format("typedef struct %s %s;\n",structname,structname)
|
--st[#st + 1] = string.format("typedef struct %s %s;\n",structname,structname)
|
||||||
|
table.insert(typedefs_table,string.format("typedef struct %s %s;\n",structname,structname))
|
||||||
structnames[#structnames] = nil
|
structnames[#structnames] = nil
|
||||||
end
|
end
|
||||||
elseif line:match(struct_closing_re) and not line:match(struct_op_close_re) then
|
elseif line:match(struct_closing_re) and not line:match(struct_op_close_re) then
|
||||||
local structname = structnames[#structnames]
|
local structname = structnames[#structnames]
|
||||||
table.insert(outtab,"typedef struct "..structname.." "..structname..";\n")
|
--table.insert(outtab,"typedef struct "..structname.." "..structname..";\n")
|
||||||
|
table.insert(typedefs_table,"typedef struct "..structname.." "..structname..";\n")
|
||||||
structnames[#structnames] = nil
|
structnames[#structnames] = nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -529,9 +537,11 @@ typedef struct ImVector ImVector;]])
|
|||||||
table.insert(outtab,line.."\n")
|
table.insert(outtab,line.."\n")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
--table.insert(outtab,"#endif //IMGUI_STRUCTS_INCLUDED\n")
|
|
||||||
table.insert(outtab,"//////////////// END AUTOGENERATED SEGMENT \n")
|
table.insert(outtab,"//////////////// END AUTOGENERATED SEGMENT \n")
|
||||||
--hfile:close()
|
for i,l in ipairs(typedefs_table) do
|
||||||
|
table.insert(outtab,2,l)
|
||||||
|
end
|
||||||
return outtab
|
return outtab
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user