mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-11-04 07:01:04 +01:00 
			
		
		
		
	Misc tweaks - mostly toward minimizing diff in upcoming backport merge of a few viewport structures in master
This commit is contained in:
		@@ -1296,21 +1296,21 @@ struct ImGuiDockContext
 | 
			
		||||
#ifdef IMGUI_HAS_VIEWPORT
 | 
			
		||||
 | 
			
		||||
// ImGuiViewport Private/Internals fields (cardinal sin: we are using inheritance!)
 | 
			
		||||
// Note that every instance of ImGuiViewport is in fact a ImGuiViewportP.
 | 
			
		||||
// Every instance of ImGuiViewport is in fact a ImGuiViewportP.
 | 
			
		||||
struct ImGuiViewportP : public ImGuiViewport
 | 
			
		||||
{
 | 
			
		||||
    int                 Idx;
 | 
			
		||||
    int                 LastFrameActive;          // Last frame number this viewport was activated by a window
 | 
			
		||||
    int                 LastFrameDrawLists[2];    // Last frame number the background (0) and foreground (1) draw lists were used
 | 
			
		||||
    int                 LastFrontMostStampCount;  // Last stamp number from when a window hosted by this viewport was made front-most (by comparing this value between two viewport we have an implicit viewport z-order
 | 
			
		||||
    int                 LastFrameActive;        // Last frame number this viewport was activated by a window
 | 
			
		||||
    int                 LastFrontMostStampCount;// Last stamp number from when a window hosted by this viewport was made front-most (by comparing this value between two viewport we have an implicit viewport z-order
 | 
			
		||||
    ImGuiID             LastNameHash;
 | 
			
		||||
    ImVec2              LastPos;
 | 
			
		||||
    float               Alpha;                    // Window opacity (when dragging dockable windows/viewports we make them transparent)
 | 
			
		||||
    float               Alpha;                  // Window opacity (when dragging dockable windows/viewports we make them transparent)
 | 
			
		||||
    float               LastAlpha;
 | 
			
		||||
    short               PlatformMonitor;
 | 
			
		||||
    bool                PlatformWindowCreated;
 | 
			
		||||
    ImGuiWindow*        Window;                   // Set when the viewport is owned by a window (and ImGuiViewportFlags_CanHostOtherWindows is NOT set)
 | 
			
		||||
    ImDrawList*         DrawLists[2];             // Convenience background (0) and foreground (1) draw lists. We use them to draw software mouser cursor when io.MouseDrawCursor is set and to draw most debug overlays.
 | 
			
		||||
    ImGuiWindow*        Window;                 // Set when the viewport is owned by a window (and ImGuiViewportFlags_CanHostOtherWindows is NOT set)
 | 
			
		||||
    int                 DrawListsLastFrame[2];  // Last frame number the background (0) and foreground (1) draw lists were used
 | 
			
		||||
    ImDrawList*         DrawLists[2];           // Convenience background (0) and foreground (1) draw lists. We use them to draw software mouser cursor when io.MouseDrawCursor is set and to draw most debug overlays.
 | 
			
		||||
    ImDrawData          DrawDataP;
 | 
			
		||||
    ImDrawDataBuilder   DrawDataBuilder;
 | 
			
		||||
    ImVec2              LastPlatformPos;
 | 
			
		||||
@@ -1321,7 +1321,7 @@ struct ImGuiViewportP : public ImGuiViewport
 | 
			
		||||
    ImVec2              CurrWorkOffsetMin;      // Work Area: Offset being built/increased during current frame
 | 
			
		||||
    ImVec2              CurrWorkOffsetMax;      // Work Area: Offset being built/decreased during current frame
 | 
			
		||||
 | 
			
		||||
    ImGuiViewportP()                { Idx = -1; LastFrameActive = LastFrameDrawLists[0] = LastFrameDrawLists[1] = LastFrontMostStampCount = -1; LastNameHash = 0; Alpha = LastAlpha = 1.0f; PlatformMonitor = -1; PlatformWindowCreated = false; Window = NULL; DrawLists[0] = DrawLists[1] = NULL; LastPlatformPos = LastPlatformSize = LastRendererSize = ImVec2(FLT_MAX, FLT_MAX); }
 | 
			
		||||
    ImGuiViewportP()                { Idx = -1; LastFrameActive = DrawListsLastFrame[0] = DrawListsLastFrame[1] = LastFrontMostStampCount = -1; LastNameHash = 0; Alpha = LastAlpha = 1.0f; PlatformMonitor = -1; PlatformWindowCreated = false; Window = NULL; DrawLists[0] = DrawLists[1] = NULL; LastPlatformPos = LastPlatformSize = LastRendererSize = ImVec2(FLT_MAX, FLT_MAX); }
 | 
			
		||||
    ~ImGuiViewportP()               { if (DrawLists[0]) IM_DELETE(DrawLists[0]); if (DrawLists[1]) IM_DELETE(DrawLists[1]); }
 | 
			
		||||
    ImRect  GetMainRect() const     { return ImRect(Pos.x, Pos.y, Pos.x + Size.x, Pos.y + Size.y); }
 | 
			
		||||
    ImRect  GetWorkRect() const     { return ImRect(WorkPos.x, WorkPos.y, WorkPos.x + WorkSize.x, WorkPos.y + WorkSize.y); }
 | 
			
		||||
@@ -2439,9 +2439,9 @@ namespace ImGui
 | 
			
		||||
    IMGUI_API void          CallContextHooks(ImGuiContext* context, ImGuiContextHookType type);
 | 
			
		||||
 | 
			
		||||
    // Viewports
 | 
			
		||||
    IMGUI_API void         TranslateWindowsInViewport(ImGuiViewportP* viewport, const ImVec2& old_pos, const ImVec2& new_pos);
 | 
			
		||||
    IMGUI_API void         ScaleWindowsInViewport(ImGuiViewportP* viewport, float scale);
 | 
			
		||||
    IMGUI_API void         DestroyPlatformWindow(ImGuiViewportP* viewport);
 | 
			
		||||
    IMGUI_API void          TranslateWindowsInViewport(ImGuiViewportP* viewport, const ImVec2& old_pos, const ImVec2& new_pos);
 | 
			
		||||
    IMGUI_API void          ScaleWindowsInViewport(ImGuiViewportP* viewport, float scale);
 | 
			
		||||
    IMGUI_API void          DestroyPlatformWindow(ImGuiViewportP* viewport);
 | 
			
		||||
 | 
			
		||||
    // Settings
 | 
			
		||||
    IMGUI_API void                  MarkIniSettingsDirty();
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user