mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 21:21:06 +01:00 
			
		
		
		
	Comments + minor moving
This commit is contained in:
		| @@ -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. | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user