mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 05:01:05 +01:00 
			
		
		
		
	ImDrawList: Small refactor toward removing dependency on GImGui + PushClipRectFullscreen now correctly uses data provided by imgui which can takes account of DisplaySize + Removed static variable in PathArcToFast() which caused linking issues to some.
This commit is contained in:
		| @@ -453,6 +453,21 @@ struct ImGuiColumnsSet | ||||
|     } | ||||
| }; | ||||
|  | ||||
| struct ImDrawListSharedData | ||||
| { | ||||
|     ImVec2          TexUvWhitePixel;            // UV of white pixel in the atlas | ||||
|     ImFont*         Font;                       // Current/default font (optional, for simplified AddText overload) | ||||
|     float           FontSize;                   // Current/default font size (optional, for simplified AddText overload) | ||||
|     float           CurveTessellationTol; | ||||
|     ImVec4          ClipRectFullscreen;         // Value for PushClipRectFullscreen() | ||||
|  | ||||
|     // Const data | ||||
|     // FIXME: Bake rounded corners fill/borders in atlas | ||||
|     ImVec2          CircleVtx12[12]; | ||||
|  | ||||
|     ImDrawListSharedData(); | ||||
| }; | ||||
|  | ||||
| // Main state for ImGui | ||||
| struct ImGuiContext | ||||
| { | ||||
| @@ -462,7 +477,7 @@ struct ImGuiContext | ||||
|     ImFont*                 Font;                               // (Shortcut) == FontStack.empty() ? IO.Font : FontStack.back() | ||||
|     float                   FontSize;                           // (Shortcut) == FontBaseSize * g.CurrentWindow->FontWindowScale == window->FontSize(). Text height for current window. | ||||
|     float                   FontBaseSize;                       // (Shortcut) == IO.FontGlobalScale * Font->Scale * Font->FontSize. Base text height. | ||||
|     ImVec2                  FontTexUvWhitePixel;                // (Shortcut) == Font->TexUvWhitePixel | ||||
|     ImDrawListSharedData    DrawListSharedData; | ||||
|  | ||||
|     float                   Time; | ||||
|     int                     FrameCount; | ||||
| @@ -574,12 +589,11 @@ struct ImGuiContext | ||||
|     int                     WantTextInputNextFrame; | ||||
|     char                    TempBuffer[1024*3+1];               // temporary text buffer | ||||
|  | ||||
|     ImGuiContext() | ||||
|     ImGuiContext() : OverlayDrawList(NULL) | ||||
|     { | ||||
|         Initialized = false; | ||||
|         Font = NULL; | ||||
|         FontSize = FontBaseSize = 0.0f; | ||||
|         FontTexUvWhitePixel = ImVec2(0.0f, 0.0f); | ||||
|  | ||||
|         Time = 0.0f; | ||||
|         FrameCount = 0; | ||||
| @@ -639,6 +653,7 @@ struct ImGuiContext | ||||
|         OsImePosRequest = OsImePosSet = ImVec2(-1.0f, -1.0f); | ||||
|  | ||||
|         ModalWindowDarkeningRatio = 0.0f; | ||||
|         OverlayDrawList._Data = &DrawListSharedData; | ||||
|         OverlayDrawList._OwnerName = "##Overlay"; // Give it a name for debugging | ||||
|         MouseCursor = ImGuiMouseCursor_Arrow; | ||||
|         memset(MouseCursorData, 0, sizeof(MouseCursorData)); | ||||
| @@ -805,7 +820,7 @@ struct IMGUI_API ImGuiWindow | ||||
|     int                     FocusIdxTabRequestNext;             // " | ||||
|  | ||||
| public: | ||||
|     ImGuiWindow(const char* name); | ||||
|     ImGuiWindow(ImGuiContext* context, const char* name); | ||||
|     ~ImGuiWindow(); | ||||
|  | ||||
|     ImGuiID     GetID(const char* str, const char* str_end = NULL); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user