示例#1
0
        internal int FocusIdxTabRequestNext;             // "

        internal ImGuiWindow(string name)
        {
            DC           = new ImGuiDrawContext();
            IDStack      = new ImVector <uint>();
            StateStorage = new ImGuiStorage();
            MenuColumns  = new ImGuiSimpleColumns();
            DrawList     = new ImDrawList();

            Name = name;

            ID = ImGui.Hash(0, name);
            IDStack.push_back(ID);
            MoveID = GetID("#MOVE");

            Flags                    = 0;
            PosFloat                 = Pos = new ImVec2(0.0f, 0.0f);
            Size                     = SizeFull = new ImVec2(0.0f, 0.0f);
            SizeContents             = SizeContentsExplicit = new ImVec2(0.0f, 0.0f);
            WindowPadding            = new ImVec2(0.0f, 0.0f);
            Scroll                   = new ImVec2(0.0f, 0.0f);
            ScrollTarget             = new ImVec2(float.MaxValue, float.MaxValue);
            ScrollTargetCenterRatio  = new ImVec2(0.5f, 0.5f);
            ScrollbarX               = ScrollbarY = false;
            ScrollbarSizes           = new ImVec2(0.0f, 0.0f);
            BorderSize               = 0.0f;
            Active                   = WasActive = false;
            Accessed                 = false;
            Collapsed                = false;
            SkipItems                = false;
            BeginCount               = 0;
            PopupID                  = 0;
            AutoFitFramesX           = AutoFitFramesY = -1;
            AutoFitOnlyGrows         = false;
            AutoPosLastDirection     = -1;
            HiddenFrames             = 0;
            SetWindowPosAllowFlags   = SetWindowSizeAllowFlags = SetWindowCollapsedAllowFlags = (int)(ImGuiSetCond.ImGuiSetCond_Always | ImGuiSetCond.ImGuiSetCond_Once | ImGuiSetCond.ImGuiSetCond_FirstUseEver | ImGuiSetCond.ImGuiSetCond_Appearing);
            SetWindowPosCenterWanted = false;

            LastFrameActive  = -1;
            ItemWidthDefault = 0.0f;
            FontWindowScale  = 1.0f;

            RootWindow         = null;
            RootNonPopupWindow = null;

            FocusIdxAllCounter        = FocusIdxTabCounter = -1;
            FocusIdxAllRequestCurrent = FocusIdxTabRequestCurrent = int.MaxValue;
            FocusIdxAllRequestNext    = FocusIdxTabRequestNext = int.MaxValue;
        }
示例#2
0
        internal ImGuiDrawContext()
        {
            ItemWidthStack          = new ImVector <float>();
            TextWrapPosStack        = new ImVector <float>();
            AllowKeyboardFocusStack = new ImVector <bool>();
            ButtonRepeatStack       = new ImVector <bool>();
            GroupStack   = new ImVector <ImGuiGroupData>();
            ChildWindows = new ImVector <ImGuiWindow>();
            ColumnsData  = new ImVector <ImGuiColumnData>();

            CursorPos                 = CursorPosPrevLine = CursorStartPos = CursorMaxPos = new ImVec2(0.0f, 0.0f);
            CurrentLineHeight         = PrevLineHeight = 0.0f;
            CurrentLineTextBaseOffset = PrevLineTextBaseOffset = 0.0f;
            LogLinePosY               = -1.0f;
            TreeDepth                 = 0;
            LastItemID                = 0;
            LastItemRect              = new ImRect(0.0f, 0.0f, 0.0f, 0.0f);
            LastItemHoveredAndUsable  = LastItemHoveredRect = false;
            MenuBarAppending          = false;
            MenuBarOffsetX            = 0.0f;
            StateStorage              = null;
            LayoutType                = ImGuiLayoutType.ImGuiLayoutType_Vertical;
            ItemWidth                 = 0.0f;
            ButtonRepeat              = false;
            AllowKeyboardFocus        = true;
            TextWrapPos               = -1.0f;
            ColorEditMode             = ImGuiColorEditMode.ImGuiColorEditMode_RGB;
            //memset(StackSizesBackup, 0, sizeof(StackSizesBackup));

            IndentX            = 0.0f;
            ColumnsOffsetX     = 0.0f;
            ColumnsCurrent     = 0;
            ColumnsCount       = 1;
            ColumnsMinX        = ColumnsMaxX = 0.0f;
            ColumnsStartPosY   = 0.0f;
            ColumnsCellMinY    = ColumnsCellMaxY = 0.0f;
            ColumnsShowBorders = true;
            ColumnsSetID       = 0;
        }