Lines Matching defs:ImGuiContext
759 struct ImGuiContext struct
764 … FontAtlasOwnedByContext; // Io.Fonts-> is owned by the ImGuiContext and will be des… argument
765 ImGuiIO IO;
766 ImGuiStyle Style;
767 …Font; // (Shortcut) == FontStack.empty() ? IO.Font : FontStack.back()
768 …tBaseSize * g.CurrentWindow->FontWindowScale == window->FontSize(). Text height for current window.
769 … // (Shortcut) == IO.FontGlobalScale * Font->Scale * Font->FontSize. Base text height.
770 ImDrawListSharedData DrawListSharedData;
772 double Time;
773 int FrameCount;
774 int FrameCountEnded;
775 int FrameCountRendered;
776 …GuiWindow*> Windows; // Windows, sorted in display order, back to front
777 …ImGuiWindow*> WindowsFocusOrder; // Windows, sorted in focus order, back to front
778 ImVector<ImGuiWindow*> WindowsSortBuffer;
779 ImVector<ImGuiWindow*> CurrentWindowStack;
780 ImGuiStorage WindowsById;
781 int WindowsActiveCount;
782 ImGuiWindow* CurrentWindow; // Being drawn into
783 ImGuiWindow* HoveredWindow; // Will catch mouse inputs
784 …ow* HoveredRootWindow; // Will catch mouse inputs (for focus/move only)
785 ImGuiID HoveredId; // Hovered widget
786 bool HoveredIdAllowOverlap;
787 ImGuiID HoveredIdPreviousFrame;
788 float HoveredIdTimer; // Measure contiguous hovering time
789 …IdNotActiveTimer; // Measure contiguous hovering time where the item has not been active
790 ImGuiID ActiveId; // Active widget
791 ImGuiID ActiveIdPreviousFrame;
792 …e widget has been seen this frame (we can't use a bool as the ActiveId may change within the frame)
793 float ActiveIdTimer;
794 … ActiveIdIsJustActivated; // Set at the time of activation for one frame
795 …widget allows another widget to steal active id (generally for overlapping widgets, but not always)
796 … a press (this is to allow changing between PressOnClick and PressOnRelease without pressing twice…
797 … // Was the value associated to the widget Edited over the course of the Active state.
798 bool ActiveIdPreviousFrameIsAlive;
799 bool ActiveIdPreviousFrameHasBeenEdited;
800 …ctive widget allows using directional navigation (e.g. can activate a button and move away from it)
801 int ActiveIdBlockNavInputFlags;
802 … // Clicked offset from upper-left corner, if applicable (currently only set by ButtonBehavior)
803 ImGuiWindow* ActiveIdWindow;
804 ImGuiWindow* ActiveIdPreviousFrameWindow;
805 …ource ActiveIdSource; // Activating with mouse or nav (gamepad/keyboard)
806 … LastActiveId; // Store the last non-zero ActiveId, useful for animation.
807 … // Store the last non-zero ActiveId timer since the beginning of activation, useful for animation.
808 ImVec2 LastValidMousePos;
809 … order to preserve focus). The actually window that is moved is generally MovingWindow->RootWindow.
810 …or<ImGuiColorMod> ColorModifiers; // Stack for PushStyleColor()/PopStyleColor()
811 …Vector<ImGuiStyleMod> StyleModifiers; // Stack for PushStyleVar()/PopStyleVar()
812 ImVector<ImFont*> FontStack; // Stack for PushFont()/PopFont()
813 … ImVector<ImGuiPopupRef> OpenPopupStack; // Which popups are open (persistent)
814 …f> BeginPopupStack; // Which level of BeginPopup() we are in (reset every frame)
815 …mGuiNextWindowData NextWindowData; // Storage for SetNextWindow** functions
816 …l NextTreeNodeOpenVal; // Storage for SetNextTreeNode** functions
817 ImGuiCond NextTreeNodeOpenCond;
820 …NavWindow; // Focused window for navigation. Could be called 'FocusWindow'
821 ImGuiID NavId; // Focused item for navigation
822 …= 0) && IsNavInputPressed(ImGuiNavInput_Activate) ? NavId : 0, also set when calling ActivateItem()
823 … NavActivateDownId; // ~~ IsNavInputDown(ImGuiNavInput_Activate) ? NavId : 0
824 … NavActivatePressedId; // ~~ IsNavInputPressed(ImGuiNavInput_Activate) ? NavId : 0
825 … NavInputId; // ~~ IsNavInputPressed(ImGuiNavInput_Input) ? NavId : 0
826 ImGuiID NavJustTabbedId; // Just tabbed to this id.
827 …stMovedToId; // Just navigated to this id (result of a successfully MoveRequest).
828 …ctScopeId; // Just navigated to this select scope id (result of a successfully MoveRequest).
829 … NavNextActivateId; // Set by ActivateItem(), queued until next frame.
830 … // Keyboard or Gamepad mode? THIS WILL ONLY BE None or NavGamepad or NavKeyboard.
831 … in screen space. Based of window->DC.NavRefRectRel[], modified for directional navigation scoring.
832 int NavScoringCount; // Metrics for debugging
833 …ng Menu+FocusPrev/Next, or equivalent of CTRL-TAB) this window is temporarily displayed front-most.
834 …ecord of last valid NavWindowingTarget until DimBgRatio and NavWindowingHighlightAlpha becomes 0.0f
835 ImGuiWindow* NavWindowingList;
836 float NavWindowingTimer;
837 float NavWindowingHighlightAlpha;
838 bool NavWindowingToggleLayer;
839 …For now the system is hard-coded for 0=main contents and 1=menu/title bar, may expose layers later.
840 …IdTabCounter; // == NavWindow->DC.FocusIdxTabCounter at time of NavId processing
841 …avIdIsAlive; // Nav widget has been seen this frame ~~ NavRefRectRel is valid
842 …tion if (io.ConfigFlags & ImGuiConfigFlags_NavEnableSetMousePos) if set (NB: this not enabled by d…
843 …hide gamepad/keyboard highlight (NB: but they are still available, which is why NavDisableHighligh…
844 … user starts using gamepad/keyboard, we hide mouse hovering highlight until mouse is touched again.
845 … bool NavAnyRequest; // ~~ NavMoveRequest || NavInitRequest
846 … NavInitRequest; // Init request for appearing window to select first item
847 bool NavInitRequestFromMove;
848 ImGuiID NavInitResultId;
849 ImRect NavInitResultRectRel;
850 …scrolling, if we scroll to a point where NavId isn't visible we reset navigation from visible items
851 bool NavMoveRequest; // Move request for this frame
852 ImGuiNavMoveFlags NavMoveRequestFlags;
853 …e / ForwardQueued / ForwardActive (this is used to navigate sibling parent menus from a child menu)
854 … // Direction of the move request (left/right/up/down), direction of the previous move request
855 ImGuiDir NavMoveClipDir;
856 …MoveResult NavMoveResultLocal; // Best move request candidate within NavWindow
857 …te within NavWindow that are mostly visible (when using ImGuiNavMoveFlags_AlsoScoreVisibleSet flag)
858 …st candidate within NavWindow's flattened hierarchy (when using ImGuiWindowFlags_NavFlattened flag)
861 …wData; // Main ImDrawData instance to pass render information to the user
862 ImDrawDataBuilder DrawDataBuilder;
863 … // 0.0..1.0 animation when fading in a dimming background (for modal window and CTRL+TAB list)
864 … // Optional software render of mouse cursors, if io.MouseDrawCursor is set + a few debug overlays
865 ImGuiMouseCursor MouseCursor;
868 bool DragDropActive;
869 bool DragDropWithinSourceOrTarget;
870 ImGuiDragDropFlags DragDropSourceFlags;
871 int DragDropSourceFrameCount;
872 int DragDropMouseButton;
873 ImGuiPayload DragDropPayload;
874 ImRect DragDropTargetRect;
875 ImGuiID DragDropTargetId;
876 ImGuiDragDropFlags DragDropAcceptFlags;
877 …ace; // Target item surface (we resolve overlapping targets by prioritizing the smaller surface)
878 … DragDropAcceptIdCurr; // Target item id (set at the time of accepting the payload)
879 … item id from previous frame (we need to store this to allow for overlapping drag and drop targets)
880 … DragDropAcceptFrameCount; // Last time a target expressed a desire to accept the source
881 …ector<unsigned char> DragDropPayloadBufHeap; // We don't expose the ImVector<> directly
882 unsigned char DragDropPayloadBufLocal[8]; // Local buffer for small payloads
885 ImPool<ImGuiTabBar> TabBars;
886 ImVector<ImGuiTabBar*> CurrentTabBar;
887 ImVector<ImGuiTabBarSortItem> TabSortByWidthBuffer;
890 ImGuiInputTextState InputTextState;
891 ImFont InputTextPasswordFont;
892 … ScalarAsInputTextId; // Temporary text input when CTRL+clicking on a slider, etc.
893 …ColorEditFlags ColorEditOptions; // Store user options for color edit widgets
894 ImVec4 ColorPickerRef;
895 bool DragCurrentAccumDirty;
896 …ulator for dragging modification. Always high-precision, not rounded by end-user precision settings
897 … DragSpeedDefaultRatio; // If speed == 0.0f, uses (max-min) * DragSpeedDefaultRatio
898 …nter; // Distance between mouse and center of grab box, normalized in parent space. Use storage?
899 int TooltipOverrideCount;
900 …tor<char> PrivateClipboard; // If no custom clipboard handler is defined
904 ImGuiID MultiSelectScopeId;
907 …mImePos; // Cursor position request & last passed to the OS Input Method Editor
908 ImVec2 PlatformImeLastPos;
933 ImGuiContext(ImFontAtlas* shared_font_atlas) : OverlayDrawList(NULL) in ImGuiContext() argument