mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-30 20:51:06 +01:00 
			
		
		
		
	Comments
This commit is contained in:
		| @@ -14,9 +14,9 @@ Index of this file: | ||||
| // STB libraries includes | ||||
| // Context pointer | ||||
| // Generic helpers | ||||
| // Misc data structures | ||||
| // Flags, enums and data structures | ||||
| // Main imgui context | ||||
| // Tab bar, tab item | ||||
| // Tab bar, Tab item | ||||
| // Internal API | ||||
|  | ||||
| */ | ||||
| @@ -431,7 +431,7 @@ struct IMGUI_API ImChunkStream | ||||
| }; | ||||
|  | ||||
| //----------------------------------------------------------------------------- | ||||
| // Misc data structures | ||||
| // Flags, enums and data structures | ||||
| //----------------------------------------------------------------------------- | ||||
|  | ||||
| enum ImGuiButtonFlags_ | ||||
| @@ -1011,7 +1011,7 @@ struct ImGuiNextItemData | ||||
| }; | ||||
|  | ||||
| //----------------------------------------------------------------------------- | ||||
| // Tabs | ||||
| // Tab bar, Tab item | ||||
| //----------------------------------------------------------------------------- | ||||
|  | ||||
| struct ImGuiShrinkWidthItem | ||||
| @@ -1111,7 +1111,7 @@ struct ImGuiContext | ||||
|     // Gamepad/keyboard Navigation | ||||
|     ImGuiWindow*            NavWindow;                          // Focused window for navigation. Could be called 'FocusWindow' | ||||
|     ImGuiID                 NavId;                              // Focused item for navigation | ||||
|     ImGuiID                 NavFocusScopeId; | ||||
|     ImGuiID                 NavFocusScopeId;                    // Identify a selection scope (selection code often wants to "clear other items" when landing on an item of the selection set) | ||||
|     ImGuiID                 NavActivateId;                      // ~~ (g.ActiveId == 0) && IsNavInputPressed(ImGuiNavInput_Activate) ? NavId : 0, also set when calling ActivateItem() | ||||
|     ImGuiID                 NavActivateDownId;                  // ~~ IsNavInputDown(ImGuiNavInput_Activate) ? NavId : 0 | ||||
|     ImGuiID                 NavActivatePressedId;               // ~~ IsNavInputPressed(ImGuiNavInput_Activate) ? NavId : 0 | ||||
| @@ -1133,8 +1133,8 @@ struct ImGuiContext | ||||
|     bool                    NavAnyRequest;                      // ~~ NavMoveRequest || NavInitRequest | ||||
|     bool                    NavInitRequest;                     // Init request for appearing window to select first item | ||||
|     bool                    NavInitRequestFromMove; | ||||
|     ImGuiID                 NavInitResultId; | ||||
|     ImRect                  NavInitResultRectRel; | ||||
|     ImGuiID                 NavInitResultId;                    // Init request result (first item of the window, or one for which SetItemDefaultFocus() was called) | ||||
|     ImRect                  NavInitResultRectRel;               // Init request result rectangle (relative to parent window) | ||||
|     bool                    NavMoveFromClampedRefRect;          // Set by manual scrolling, if we scroll to a point where NavId isn't visible we reset navigation from visible items | ||||
|     bool                    NavMoveRequest;                     // Move request for this frame | ||||
|     ImGuiNavMoveFlags       NavMoveRequestFlags; | ||||
| @@ -1146,10 +1146,10 @@ struct ImGuiContext | ||||
|     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) | ||||
|  | ||||
|     // Navigation: Windowing (CTRL+TAB, holding Menu button + directional pads to move/resize) | ||||
|     ImGuiWindow*            NavWindowingTarget;                 // When selecting a window (holding Menu+FocusPrev/Next, or equivalent of CTRL-TAB) this window is temporarily displayed top-most. | ||||
|     ImGuiWindow*            NavWindowingTargetAnim;             // Record of last valid NavWindowingTarget until DimBgRatio and NavWindowingHighlightAlpha becomes 0.0f | ||||
|     ImGuiWindow*            NavWindowingList; | ||||
|     // Navigation: Windowing (CTRL+TAB for list, or Menu button + keys or directional pads to move/resize) | ||||
|     ImGuiWindow*            NavWindowingTarget;                 // Target window when doing CTRL+Tab (or Pad Menu + FocusPrev/Next), this window is temporarily displayed top-most! | ||||
|     ImGuiWindow*            NavWindowingTargetAnim;             // Record of last valid NavWindowingTarget until DimBgRatio and NavWindowingHighlightAlpha becomes 0.0f, so the fade-out can stay on it. | ||||
|     ImGuiWindow*            NavWindowingListWindow;             // Internal window actually listing the CTRL+Tab contents | ||||
|     float                   NavWindowingTimer; | ||||
|     float                   NavWindowingHighlightAlpha; | ||||
|     bool                    NavWindowingToggleLayer; | ||||
| @@ -1226,8 +1226,8 @@ struct ImGuiContext | ||||
|     ImChunkStream<ImGuiWindowSettings>  SettingsWindows;        // ImGuiWindow .ini settings entries | ||||
|  | ||||
|     // Capture/Logging | ||||
|     bool                    LogEnabled; | ||||
|     ImGuiLogType            LogType; | ||||
|     bool                    LogEnabled;                         // Currently capturing | ||||
|     ImGuiLogType            LogType;                            // Capture target | ||||
|     ImFileHandle            LogFile;                            // If != NULL log to stdout/ file | ||||
|     ImGuiTextBuffer         LogBuffer;                          // Accumulation buffer when log to clipboard. This is pointer so our GImGui static constructor doesn't call heap allocators. | ||||
|     float                   LogLinePosY; | ||||
| @@ -1237,7 +1237,7 @@ struct ImGuiContext | ||||
|     int                     LogDepthToExpandDefault;            // Default/stored value for LogDepthMaxExpand if not specified in the LogXXX function call. | ||||
|  | ||||
|     // Debug Tools | ||||
|     bool                    DebugItemPickerActive; | ||||
|     bool                    DebugItemPickerActive;              // Item picker is active (started with DebugStartItemPicker()) | ||||
|     ImGuiID                 DebugItemPickerBreakId;             // Will call IM_DEBUG_BREAK() when encountering this id | ||||
|  | ||||
|     // Misc | ||||
| @@ -1322,7 +1322,7 @@ struct ImGuiContext | ||||
|         NavMoveRequestKeyMods = ImGuiKeyModFlags_None; | ||||
|         NavMoveDir = NavMoveDirLast = NavMoveClipDir = ImGuiDir_None; | ||||
|  | ||||
|         NavWindowingTarget = NavWindowingTargetAnim = NavWindowingList = NULL; | ||||
|         NavWindowingTarget = NavWindowingTargetAnim = NavWindowingListWindow = NULL; | ||||
|         NavWindowingTimer = NavWindowingHighlightAlpha = 0.0f; | ||||
|         NavWindowingToggleLayer = false; | ||||
|  | ||||
| @@ -1563,8 +1563,8 @@ struct IMGUI_API ImGuiWindow | ||||
|     ImGuiID                 NavLastIds[ImGuiNavLayer_COUNT];    // Last known NavId for this window, per layer (0/1) | ||||
|     ImRect                  NavRectRel[ImGuiNavLayer_COUNT];    // Reference rectangle, in window relative space | ||||
|  | ||||
|     bool                    MemoryCompacted; | ||||
|     int                     MemoryDrawListIdxCapacity; | ||||
|     bool                    MemoryCompacted;                    // Set when window extraneous data have been garbage collected | ||||
|     int                     MemoryDrawListIdxCapacity;          // Backup of last idx/vtx count, so when waking up the window we can preallocate and avoid iterative alloc/copy | ||||
|     int                     MemoryDrawListVtxCapacity; | ||||
|  | ||||
| public: | ||||
| @@ -1736,7 +1736,7 @@ namespace ImGui | ||||
|     IMGUI_API ImVec2        ScrollToBringRectIntoView(ImGuiWindow* window, const ImRect& item_rect); | ||||
|  | ||||
|     // Basic Accessors | ||||
|     inline ImGuiID          GetItemID()     { ImGuiContext& g = *GImGui; return g.CurrentWindow->DC.LastItemId; } | ||||
|     inline ImGuiID          GetItemID()     { ImGuiContext& g = *GImGui; return g.CurrentWindow->DC.LastItemId; }   // Get ID of last item (~~ often same ImGui::GetID(label) beforehand) | ||||
|     inline ImGuiItemStatusFlags GetItemStatusFlags() { ImGuiContext& g = *GImGui; return g.CurrentWindow->DC.LastItemStatusFlags; } | ||||
|     inline ImGuiID          GetActiveID()   { ImGuiContext& g = *GImGui; return g.ActiveId; } | ||||
|     inline ImGuiID          GetFocusID()    { ImGuiContext& g = *GImGui; return g.NavId; } | ||||
| @@ -1747,7 +1747,7 @@ namespace ImGui | ||||
|     IMGUI_API void          SetHoveredID(ImGuiID id); | ||||
|     IMGUI_API void          KeepAliveID(ImGuiID id); | ||||
|     IMGUI_API void          MarkItemEdited(ImGuiID id);     // Mark data associated to given item as "edited", used by IsItemDeactivatedAfterEdit() function. | ||||
|     IMGUI_API void          PushOverrideID(ImGuiID id);     // Push given value at the top of the ID stack (whereas PushID combines old and new hashes) | ||||
|     IMGUI_API void          PushOverrideID(ImGuiID id);     // Push given value as-is at the top of the ID stack (whereas PushID combines old and new hashes) | ||||
|  | ||||
|     // Basic Helpers for widget code | ||||
|     IMGUI_API void          ItemSize(const ImVec2& size, float text_baseline_y = -1.0f); | ||||
| @@ -1762,27 +1762,27 @@ namespace ImGui | ||||
|     IMGUI_API void          PushMultiItemsWidths(int components, float width_full); | ||||
|     IMGUI_API void          PushItemFlag(ImGuiItemFlags option, bool enabled); | ||||
|     IMGUI_API void          PopItemFlag(); | ||||
|     IMGUI_API bool          IsItemToggledSelection();                           // Was the last item selection toggled? (after Selectable(), TreeNode() etc. We only returns toggle _event_ in order to handle clipping correctly) | ||||
|     IMGUI_API bool          IsItemToggledSelection();                                   // Was the last item selection toggled? (after Selectable(), TreeNode() etc. We only returns toggle _event_ in order to handle clipping correctly) | ||||
|     IMGUI_API ImVec2        GetContentRegionMaxAbs(); | ||||
|     IMGUI_API void          ShrinkWidths(ImGuiShrinkWidthItem* items, int count, float width_excess); | ||||
|  | ||||
|     // Logging/Capture | ||||
|     IMGUI_API void          LogBegin(ImGuiLogType type, int auto_open_depth);   // -> BeginCapture() when we design v2 api, for now stay under the radar by using the old name. | ||||
|     IMGUI_API void          LogToBuffer(int auto_open_depth = -1);              // Start logging/capturing to internal buffer | ||||
|     IMGUI_API void          LogBegin(ImGuiLogType type, int auto_open_depth);           // -> BeginCapture() when we design v2 api, for now stay under the radar by using the old name. | ||||
|     IMGUI_API void          LogToBuffer(int auto_open_depth = -1);                      // Start logging/capturing to internal buffer | ||||
|  | ||||
|     // Popups, Modals, Tooltips | ||||
|     IMGUI_API bool          BeginChildEx(const char* name, ImGuiID id, const ImVec2& size_arg, bool border, ImGuiWindowFlags flags); | ||||
|     IMGUI_API void          OpenPopupEx(ImGuiID id); | ||||
|     IMGUI_API void          ClosePopupToLevel(int remaining, bool restore_focus_to_window_under_popup); | ||||
|     IMGUI_API void          ClosePopupsOverWindow(ImGuiWindow* ref_window, bool restore_focus_to_window_under_popup); | ||||
|     IMGUI_API bool          IsPopupOpen(ImGuiID id); // Test for id within current popup stack level (currently begin-ed into); this doesn't scan the whole popup stack! | ||||
|     IMGUI_API bool          IsPopupOpen(ImGuiID id); // Test for id at current popup stack level (currently begin-ed into); this doesn't scan the whole popup stack! | ||||
|     IMGUI_API bool          BeginPopupEx(ImGuiID id, ImGuiWindowFlags extra_flags); | ||||
|     IMGUI_API void          BeginTooltipEx(ImGuiWindowFlags extra_flags, ImGuiTooltipFlags tooltip_flags); | ||||
|     IMGUI_API ImGuiWindow*  GetTopMostPopupModal(); | ||||
|     IMGUI_API ImVec2        FindBestWindowPosForPopup(ImGuiWindow* window); | ||||
|     IMGUI_API ImVec2        FindBestWindowPosForPopupEx(const ImVec2& ref_pos, const ImVec2& size, ImGuiDir* last_dir, const ImRect& r_outer, const ImRect& r_avoid, ImGuiPopupPositionPolicy policy = ImGuiPopupPositionPolicy_Default); | ||||
|  | ||||
|     // Navigation | ||||
|     // Gamepad/Keyboard Navigation | ||||
|     IMGUI_API void          NavInitWindow(ImGuiWindow* window, bool force_reinit); | ||||
|     IMGUI_API bool          NavMoveRequestButNoResultYet(); | ||||
|     IMGUI_API void          NavMoveRequestCancel(); | ||||
| @@ -1795,8 +1795,10 @@ namespace ImGui | ||||
|     IMGUI_API void          SetNavID(ImGuiID id, int nav_layer, ImGuiID focus_scope_id); | ||||
|     IMGUI_API void          SetNavIDWithRectRel(ImGuiID id, int nav_layer, ImGuiID focus_scope_id, const ImRect& rect_rel); | ||||
|  | ||||
|     // Focus scope (WIP) | ||||
|     IMGUI_API void          PushFocusScope(ImGuiID id);     // Note: this is storing in same stack as IDStack, so Push/Pop mismatch will be reported there. | ||||
|     // Focus Scope (WIP) | ||||
|     // This is generally used to identify a selection set (multiple of which may be in the same window), as selection | ||||
|     // patterns generally need to react (e.g. clear selection) when landing on an item of the set. | ||||
|     IMGUI_API void          PushFocusScope(ImGuiID id); | ||||
|     IMGUI_API void          PopFocusScope(); | ||||
|     inline ImGuiID          GetFocusScopeID()               { ImGuiContext& g = *GImGui; return g.NavFocusScopeId; } | ||||
|  | ||||
| @@ -1816,7 +1818,7 @@ namespace ImGui | ||||
|     IMGUI_API void          ClearDragDrop(); | ||||
|     IMGUI_API bool          IsDragDropPayloadBeingAccepted(); | ||||
|  | ||||
|     // Internal Columns API (this is not exposed because we will encourage transitioning to the Tables api) | ||||
|     // Internal Columns API (this is not exposed because we will encourage transitioning to the Tables API) | ||||
|     IMGUI_API void          BeginColumns(const char* str_id, int count, ImGuiColumnsFlags flags = 0); // setup number of columns. use an identifier to distinguish multiple column sets. close with EndColumns(). | ||||
|     IMGUI_API void          EndColumns();                                                             // close columns | ||||
|     IMGUI_API void          PushColumnClipRect(int column_index); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user