mirror of
https://github.com/Drezil/imgui.git
synced 2024-11-25 05:06:59 +00:00
Comments + minor moving
This commit is contained in:
parent
f03c00bc89
commit
4b3c5ff5f1
@ -7,11 +7,11 @@
|
|||||||
// your game/app! Removing this file from your project is hindering access to documentation for everyone in your team,
|
// your game/app! Removing this file from your project is hindering access to documentation for everyone in your team,
|
||||||
// likely leading you to poorer usage of the library.
|
// likely leading you to poorer usage of the library.
|
||||||
// Everything in this file will be stripped out by the linker if you don't call ImGui::ShowDemoWindow().
|
// Everything in this file will be stripped out by the linker if you don't call ImGui::ShowDemoWindow().
|
||||||
// If you want to link core Dear ImGui in your shipped builds but want an easy guarantee that the demo will not be linked,
|
// If you want to link core Dear ImGui in your shipped builds but want a thorough guarantee that the demo will not be linked,
|
||||||
// you can setup your imconfig.h with #define IMGUI_DISABLE_DEMO_WINDOWS and those functions will be empty.
|
// you can setup your imconfig.h with #define IMGUI_DISABLE_DEMO_WINDOWS and those functions will be empty.
|
||||||
// In other situation, whenever you have Dear ImGui available you probably want this to be available for reference.
|
// In other situation, whenever you have Dear ImGui available you probably want this to be available for reference.
|
||||||
// Thank you,
|
// Thank you,
|
||||||
// -Your beloved friend, imgui_demo.cpp (that you won't delete)
|
// -Your beloved friend, imgui_demo.cpp (which you won't delete)
|
||||||
|
|
||||||
// Message to beginner C/C++ programmers about the meaning of the 'static' keyword:
|
// Message to beginner C/C++ programmers about the meaning of the 'static' keyword:
|
||||||
// In this demo code, we frequently we use 'static' variables inside functions. A static variable persist across calls, so it is
|
// In this demo code, we frequently we use 'static' variables inside functions. A static variable persist across calls, so it is
|
||||||
@ -21,13 +21,13 @@
|
|||||||
// reentrant or used in multiple threads. This might be a pattern you will want to use in your code, but most of the real data
|
// reentrant or used in multiple threads. This might be a pattern you will want to use in your code, but most of the real data
|
||||||
// you would be editing is likely going to be stored outside your functions.
|
// you would be editing is likely going to be stored outside your functions.
|
||||||
|
|
||||||
// The Demo code is this file is designed to be easy to copy-and-paste in into your application!
|
// The Demo code in this file is designed to be easy to copy-and-paste in into your application!
|
||||||
// Because of this:
|
// Because of this:
|
||||||
// - We never omit the ImGui:: namespace when calling functions, even though most of our code is already in the same namespace.
|
// - We never omit the ImGui:: namespace when calling functions, even though most of our code is already in the same namespace.
|
||||||
// - We try to declare static variables in the local scope, as close as possible to the code using them.
|
// - We try to declare static variables in the local scope, as close as possible to the code using them.
|
||||||
// - We never use any of the helpers/facilities used internally by dear imgui, unless it has been exposed in the public API (imgui.h).
|
// - We never use any of the helpers/facilities used internally by Dear ImGui, unless it has been exposed in the public API (imgui.h).
|
||||||
// - We never use maths operators on ImVec2/ImVec4. For other imgui sources files, they are provided by imgui_internal.h w/ IMGUI_DEFINE_MATH_OPERATORS,
|
// - We never use maths operators on ImVec2/ImVec4. For other of our sources files, they are provided by imgui_internal.h w/ IMGUI_DEFINE_MATH_OPERATORS.
|
||||||
// for your own sources file they are optional and require you either enable those, either provide your own via IM_VEC2_CLASS_EXTRA in imconfig.h.
|
// For your own sources file they are optional and require you either enable those, either provide your own via IM_VEC2_CLASS_EXTRA in imconfig.h.
|
||||||
// Because we don't want to assume anything about your support of maths operators, we don't use them in imgui_demo.cpp.
|
// Because we don't want to assume anything about your support of maths operators, we don't use them in imgui_demo.cpp.
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -97,7 +97,7 @@ Index of this file:
|
|||||||
#pragma GCC diagnostic ignored "-Wmisleading-indentation" // [__GNUC__ >= 6] warning: this 'if' clause does not guard this statement // GCC 6.0+ only. See #883 on GitHub.
|
#pragma GCC diagnostic ignored "-Wmisleading-indentation" // [__GNUC__ >= 6] warning: this 'if' clause does not guard this statement // GCC 6.0+ only. See #883 on GitHub.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Play it nice with Windows users. Notepad in 2017 still doesn't display text data with Unix-style \n.
|
// Play it nice with Windows users (Update: since 2018-05, Notepad finally appears to support Unix-style carriage returns!)
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
#define IM_NEWLINE "\r\n"
|
#define IM_NEWLINE "\r\n"
|
||||||
#else
|
#else
|
||||||
|
@ -920,7 +920,7 @@ struct ImGuiNextWindowData
|
|||||||
ImVec2 MenuBarOffsetMinVal; // *Always on* This is not exposed publicly, so we don't clear it.
|
ImVec2 MenuBarOffsetMinVal; // *Always on* This is not exposed publicly, so we don't clear it.
|
||||||
|
|
||||||
ImGuiNextWindowData() { memset(this, 0, sizeof(*this)); }
|
ImGuiNextWindowData() { memset(this, 0, sizeof(*this)); }
|
||||||
inline void ClearFlags() { Flags = ImGuiNextWindowDataFlags_None; }
|
inline void ClearFlags() { Flags = ImGuiNextWindowDataFlags_None; } // Also cleared by ItemAdd()
|
||||||
};
|
};
|
||||||
|
|
||||||
enum ImGuiNextItemDataFlags_
|
enum ImGuiNextItemDataFlags_
|
||||||
@ -1035,7 +1035,7 @@ struct ImGuiContext
|
|||||||
ImVector<ImGuiPopupData>OpenPopupStack; // Which popups are open (persistent)
|
ImVector<ImGuiPopupData>OpenPopupStack; // Which popups are open (persistent)
|
||||||
ImVector<ImGuiPopupData>BeginPopupStack; // Which level of BeginPopup() we are in (reset every frame)
|
ImVector<ImGuiPopupData>BeginPopupStack; // Which level of BeginPopup() we are in (reset every frame)
|
||||||
|
|
||||||
// Navigation data (for gamepad/keyboard)
|
// Gamepad/keyboard Navigation
|
||||||
ImGuiWindow* NavWindow; // Focused window for navigation. Could be called 'FocusWindow'
|
ImGuiWindow* NavWindow; // Focused window for navigation. Could be called 'FocusWindow'
|
||||||
ImGuiID NavId; // Focused item for navigation
|
ImGuiID NavId; // Focused item for navigation
|
||||||
ImGuiID NavActivateId; // ~~ (g.ActiveId == 0) && IsNavInputPressed(ImGuiNavInput_Activate) ? NavId : 0, also set when calling ActivateItem()
|
ImGuiID NavActivateId; // ~~ (g.ActiveId == 0) && IsNavInputPressed(ImGuiNavInput_Activate) ? NavId : 0, also set when calling ActivateItem()
|
||||||
@ -1076,7 +1076,7 @@ struct ImGuiContext
|
|||||||
ImGuiNavMoveResult NavMoveResultLocalVisibleSet; // Best move request candidate within NavWindow that are mostly visible (when using ImGuiNavMoveFlags_AlsoScoreVisibleSet flag)
|
ImGuiNavMoveResult NavMoveResultLocalVisibleSet; // Best move request candidate within NavWindow that are mostly visible (when using ImGuiNavMoveFlags_AlsoScoreVisibleSet flag)
|
||||||
ImGuiNavMoveResult NavMoveResultOther; // Best move request candidate within NavWindow's flattened hierarchy (when using ImGuiWindowFlags_NavFlattened flag)
|
ImGuiNavMoveResult NavMoveResultOther; // Best move request candidate within NavWindow's flattened hierarchy (when using ImGuiWindowFlags_NavFlattened flag)
|
||||||
|
|
||||||
// Tabbing system (older than Nav, active even if Nav is disabled. FIXME-NAV: This needs a redesign!)
|
// Legacy Tabbing system (older than Nav, active even if Nav is disabled, misnamed. FIXME-NAV: This needs a redesign!)
|
||||||
ImGuiWindow* FocusRequestCurrWindow; //
|
ImGuiWindow* FocusRequestCurrWindow; //
|
||||||
ImGuiWindow* FocusRequestNextWindow; //
|
ImGuiWindow* FocusRequestNextWindow; //
|
||||||
int FocusRequestCurrCounterAll; // Any item being requested for focus, stored as an index (we on layout to be stable between the frame pressing TAB and the next frame, semi-ouch)
|
int FocusRequestCurrCounterAll; // Any item being requested for focus, stored as an index (we on layout to be stable between the frame pressing TAB and the next frame, semi-ouch)
|
||||||
@ -1085,6 +1085,10 @@ struct ImGuiContext
|
|||||||
int FocusRequestNextCounterTab; // "
|
int FocusRequestNextCounterTab; // "
|
||||||
bool FocusTabPressed; //
|
bool FocusTabPressed; //
|
||||||
|
|
||||||
|
// Range-Select/Multi-Select
|
||||||
|
// [This is unused in this branch, but left here to facilitate merging/syncing multiple branches]
|
||||||
|
ImGuiID MultiSelectScopeId;
|
||||||
|
|
||||||
// Render
|
// Render
|
||||||
ImDrawData DrawData; // Main ImDrawData instance to pass render information to the user
|
ImDrawData DrawData; // Main ImDrawData instance to pass render information to the user
|
||||||
ImDrawDataBuilder DrawDataBuilder;
|
ImDrawDataBuilder DrawDataBuilder;
|
||||||
@ -1133,10 +1137,6 @@ struct ImGuiContext
|
|||||||
int TooltipOverrideCount;
|
int TooltipOverrideCount;
|
||||||
ImVector<char> PrivateClipboard; // If no custom clipboard handler is defined
|
ImVector<char> PrivateClipboard; // If no custom clipboard handler is defined
|
||||||
|
|
||||||
// Range-Select/Multi-Select
|
|
||||||
// [This is unused in this branch, but left here to facilitate merging/syncing multiple branches]
|
|
||||||
ImGuiID MultiSelectScopeId;
|
|
||||||
|
|
||||||
// Platform support
|
// Platform support
|
||||||
ImVec2 PlatformImePos; // Cursor position request & last passed to the OS Input Method Editor
|
ImVec2 PlatformImePos; // Cursor position request & last passed to the OS Input Method Editor
|
||||||
ImVec2 PlatformImeLastPos;
|
ImVec2 PlatformImeLastPos;
|
||||||
@ -1247,6 +1247,8 @@ struct ImGuiContext
|
|||||||
FocusRequestNextCounterAll = FocusRequestNextCounterTab = INT_MAX;
|
FocusRequestNextCounterAll = FocusRequestNextCounterTab = INT_MAX;
|
||||||
FocusTabPressed = false;
|
FocusTabPressed = false;
|
||||||
|
|
||||||
|
MultiSelectScopeId = 0;
|
||||||
|
|
||||||
DimBgRatio = 0.0f;
|
DimBgRatio = 0.0f;
|
||||||
BackgroundDrawList._OwnerName = "##Background"; // Give it a name for debugging
|
BackgroundDrawList._OwnerName = "##Background"; // Give it a name for debugging
|
||||||
ForegroundDrawList._OwnerName = "##Foreground"; // Give it a name for debugging
|
ForegroundDrawList._OwnerName = "##Foreground"; // Give it a name for debugging
|
||||||
@ -1276,8 +1278,6 @@ struct ImGuiContext
|
|||||||
ScrollbarClickDeltaToGrabCenter = 0.0f;
|
ScrollbarClickDeltaToGrabCenter = 0.0f;
|
||||||
TooltipOverrideCount = 0;
|
TooltipOverrideCount = 0;
|
||||||
|
|
||||||
MultiSelectScopeId = 0;
|
|
||||||
|
|
||||||
PlatformImePos = PlatformImeLastPos = ImVec2(FLT_MAX, FLT_MAX);
|
PlatformImePos = PlatformImeLastPos = ImVec2(FLT_MAX, FLT_MAX);
|
||||||
|
|
||||||
SettingsLoaded = false;
|
SettingsLoaded = false;
|
||||||
|
@ -16,3 +16,9 @@ misc/natvis/
|
|||||||
Natvis file to describe dear imgui types in the Visual Studio debugger.
|
Natvis file to describe dear imgui types in the Visual Studio debugger.
|
||||||
With this, types like ImVector<> will be displayed nicely in the debugger.
|
With this, types like ImVector<> will be displayed nicely in the debugger.
|
||||||
You can include this file a Visual Studio project file, or install it in Visual Studio folder.
|
You can include this file a Visual Studio project file, or install it in Visual Studio folder.
|
||||||
|
|
||||||
|
misc/single_file/
|
||||||
|
Single-file header stub.
|
||||||
|
We use this to validate compiling all *.cpp files in a same compilation unit.
|
||||||
|
Users of that technique (also called "Unity builds") can generally provide this themselves,
|
||||||
|
so we don't really recommend you use this in your projects.
|
||||||
|
Loading…
Reference in New Issue
Block a user