mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 21:21:06 +01:00 
			
		
		
		
	Internals: backport window HitTestHole code from docking branch + RenderRectFilledWithHole() helper. (#1512, #3368)
This commit is contained in:
		| @@ -1615,6 +1615,8 @@ struct IMGUI_API ImGuiWindow | ||||
|     ImRect                  WorkRect;                           // Cover the whole scrolling region, shrunk by WindowPadding*1.0f on each side. This is meant to replace ContentRegionRect over time (from 1.71+ onward). | ||||
|     ImRect                  ClipRect;                           // Current clipping/scissoring rectangle, evolve as we are using PushClipRect(), etc. == DrawList->clip_rect_stack.back(). | ||||
|     ImRect                  ContentRegionRect;                  // FIXME: This is currently confusing/misleading. It is essentially WorkRect but not handling of scrolling. We currently rely on it as right/bottom aligned sizing operation need some size to rely on. | ||||
|     ImVec2ih                HitTestHoleSize;                    // Define an optional rectangular hole where mouse will pass-through the window. | ||||
|     ImVec2ih                HitTestHoleOffset; | ||||
|  | ||||
|     int                     LastFrameActive;                    // Last frame number the window was Active. | ||||
|     float                   LastTimeActive;                     // Last timestamp the window was Active (using float as we don't need high precision there) | ||||
| @@ -1775,6 +1777,7 @@ namespace ImGui | ||||
|     IMGUI_API void          SetWindowPos(ImGuiWindow* window, const ImVec2& pos, ImGuiCond cond = 0); | ||||
|     IMGUI_API void          SetWindowSize(ImGuiWindow* window, const ImVec2& size, ImGuiCond cond = 0); | ||||
|     IMGUI_API void          SetWindowCollapsed(ImGuiWindow* window, bool collapsed, ImGuiCond cond = 0); | ||||
|     IMGUI_API void          SetWindowHitTestHole(ImGuiWindow* window, const ImVec2& pos, const ImVec2& size); | ||||
|  | ||||
|     // Windows: Display Order and Focus Order | ||||
|     IMGUI_API void          FocusWindow(ImGuiWindow* window); | ||||
| @@ -1943,6 +1946,7 @@ namespace ImGui | ||||
|     IMGUI_API void          RenderMouseCursor(ImDrawList* draw_list, ImVec2 pos, float scale, ImGuiMouseCursor mouse_cursor, ImU32 col_fill, ImU32 col_border, ImU32 col_shadow); | ||||
|     IMGUI_API void          RenderArrowPointingAt(ImDrawList* draw_list, ImVec2 pos, ImVec2 half_sz, ImGuiDir direction, ImU32 col); | ||||
|     IMGUI_API void          RenderRectFilledRangeH(ImDrawList* draw_list, const ImRect& rect, ImU32 col, float x_start_norm, float x_end_norm, float rounding); | ||||
|     IMGUI_API void          RenderRectFilledWithHole(ImDrawList* draw_list, ImRect outer, ImRect inner, ImU32 col, float rounding); | ||||
|  | ||||
| #ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS | ||||
|     // [1.71: 2019/06/07: Updating prototypes of some of the internal functions. Leaving those for reference for a short while] | ||||
|   | ||||
		Reference in New Issue
	
	Block a user