// (Integer encoded as XYYZZ for use in #if preprocessor conditionals. Work in progress versions typically starts at XYY99 then bounce up to XYY00, XYY01 etc. when release tagging happens)
// (Integer encoded as XYYZZ for use in #if preprocessor conditionals. Work in progress versions typically starts at XYY99 then bounce up to XYY00, XYY01 etc. when release tagging happens)
@ -160,7 +160,7 @@ struct ImGuiTextBuffer; // Helper to hold and append into a text buf
structImGuiTextFilter;// Helper to parse and apply text filters (e.g. "aaaaa[,bbbbb][,ccccc]")
structImGuiTextFilter;// Helper to parse and apply text filters (e.g. "aaaaa[,bbbbb][,ccccc]")
structImGuiViewport;// A Platform Window (always only one in 'master' branch), in the future may represent Platform Monitor
structImGuiViewport;// A Platform Window (always only one in 'master' branch), in the future may represent Platform Monitor
// Enums/Flags (declared as int for compatibility with old C++, to allow using as flags and to not pollute the top of this file)
// Enums/Flags (declared as int for compatibility with old C++, to allow using as flags without overhead, and to not pollute the top of this file)
// - Tip: Use your programming IDE navigation facilities on the names in the _central column_ below to find the actual flags/enum lists!
// - Tip: Use your programming IDE navigation facilities on the names in the _central column_ below to find the actual flags/enum lists!
// In Visual Studio IDE: CTRL+comma ("Edit.NavigateTo") can follow symbols in comments, whereas CTRL+F12 ("Edit.GoToImplementation") cannot.
// In Visual Studio IDE: CTRL+comma ("Edit.NavigateTo") can follow symbols in comments, whereas CTRL+F12 ("Edit.GoToImplementation") cannot.
// With Visual Assist installed: ALT+G ("VAssistX.GoToImplementation") can also follow symbols in comments.
// With Visual Assist installed: ALT+G ("VAssistX.GoToImplementation") can also follow symbols in comments.
@ -200,27 +200,22 @@ typedef int ImGuiTreeNodeFlags; // -> enum ImGuiTreeNodeFlags_ // Flags: f
typedefintImGuiViewportFlags;// -> enum ImGuiViewportFlags_ // Flags: for ImGuiViewport
typedefintImGuiViewportFlags;// -> enum ImGuiViewportFlags_ // Flags: for ImGuiViewport
typedefintImGuiWindowFlags;// -> enum ImGuiWindowFlags_ // Flags: for Begin(), BeginChild()
typedefintImGuiWindowFlags;// -> enum ImGuiWindowFlags_ // Flags: for Begin(), BeginChild()
// Other types
// ImTexture: user data for renderer backend to identify a texture [Compile-time configurable type]
#ifndef ImTextureID // ImTextureID [configurable type: override in imconfig.h with '#define ImTextureID xxx']
// - To use something else than an opaque void* pointer: override with e.g. '#define ImTextureID MyTextureType*' in your imconfig.h file.
typedefvoid*ImTextureID;// User data for rendering backend to identify a texture. This is whatever to you want it to be! read the FAQ about ImTextureID for details.
// - This can be whatever to you want it to be! read the FAQ about ImTextureID for details.
#ifndef ImTextureID
typedefvoid*ImTextureID;// Default: store a pointer or an integer fitting in a pointer (most renderer backends are ok with that)
#endif
#endif
typedefunsignedintImGuiID;// A unique ID used by widgets, typically hashed from a stack of string.
typedefint(*ImGuiInputTextCallback)(ImGuiInputTextCallbackData*data);// Callback function for ImGui::InputText()
typedefvoid(*ImGuiSizeCallback)(ImGuiSizeCallbackData*data);// Callback function for ImGui::SetNextWindowSizeConstraints()
typedefvoid*(*ImGuiMemAllocFunc)(size_tsz,void*user_data);// Function signature for ImGui::SetAllocatorFunctions()
typedefvoid(*ImGuiMemFreeFunc)(void*ptr,void*user_data);// Function signature for ImGui::SetAllocatorFunctions()
// (we generally use UTF-8 encoded string in the API. This is storage specifically for a decoded character used for keyboard input and display)
// - To use 16-bit indices + allow large meshes: backend need to set 'io.BackendFlags |= ImGuiBackendFlags_RendererHasVtxOffset' and handle ImDrawCmd::VtxOffset (recommended).
typedefunsignedshortImWchar16;// A single decoded U16 character/code point. We encode them as multi bytes UTF-8 when used in strings.
// - To use 32-bit indices: override with '#define ImDrawIdx unsigned int' in your imconfig.h file.
typedefunsignedintImWchar32;// A single decoded U32 character/code point. We encode them as multi bytes UTF-8 when used in strings.
#ifndef ImDrawIdx
#ifdef IMGUI_USE_WCHAR32 // ImWchar [configurable type: override in imconfig.h with '#define IMGUI_USE_WCHAR32' to support Unicode planes 1-16]
typedefunsignedshortImDrawIdx;// Default: 16-bit (for maximum compatibility with renderer backends)
typedefImWchar32ImWchar;
#else
typedefImWchar16ImWchar;
#endif
#endif
// Basic scalar data types
// Scalar data types
typedefunsignedintImGuiID;// A unique ID used by widgets (typically the result of hashing a stack of string)
typedefsignedcharImS8;// 8-bit signed integer
typedefsignedcharImS8;// 8-bit signed integer
typedefunsignedcharImU8;// 8-bit unsigned integer
typedefunsignedcharImU8;// 8-bit unsigned integer
typedefsignedshortImS16;// 16-bit signed integer
typedefsignedshortImS16;// 16-bit signed integer
@ -239,7 +234,24 @@ typedef signed long long ImS64; // 64-bit signed integer (post C++11)
// To allow large meshes with 16-bit indices: set 'io.BackendFlags |= ImGuiBackendFlags_RendererHasVtxOffset' and handle ImDrawCmd::VtxOffset in the renderer backend (recommended).
// To use 32-bit indices: override with '#define ImDrawIdx unsigned int' in imconfig.h.