Kaynağa Gözat

Fonts: remove unnecessary ImDrawListSharedData::FontAtlas which is actually getting in the way of using multiple atlases.

ocornut 2 ay önce
ebeveyn
işleme
65e6039979
2 değiştirilmiş dosya ile 2 ekleme ve 6 silme
  1. 2 5
      imgui_draw.cpp
  2. 0 1
      imgui_internal.h

+ 2 - 5
imgui_draw.cpp

@@ -3865,16 +3865,14 @@ void ImFontAtlasBuildDiscardBakes(ImFontAtlas* atlas, int unused_frames)
 // Those functions are designed to facilitate changing the underlying structures for ImFontAtlas to store an array of ImDrawListSharedData*
 void ImFontAtlasAddDrawListSharedData(ImFontAtlas* atlas, ImDrawListSharedData* data)
 {
-    IM_ASSERT(!atlas->DrawListSharedDatas.contains(data) && data->FontAtlas == NULL);
+    IM_ASSERT(!atlas->DrawListSharedDatas.contains(data));
     atlas->DrawListSharedDatas.push_back(data);
-    data->FontAtlas = atlas;
 }
 
 void ImFontAtlasRemoveDrawListSharedData(ImFontAtlas* atlas, ImDrawListSharedData* data)
 {
-    IM_ASSERT(atlas->DrawListSharedDatas.contains(data) && data->FontAtlas == atlas);
+    IM_ASSERT(atlas->DrawListSharedDatas.contains(data));
     atlas->DrawListSharedDatas.find_erase(data);
-    data->FontAtlas = NULL;
 }
 
 // Update texture identifier in all active draw lists
@@ -3902,7 +3900,6 @@ void ImFontAtlasUpdateDrawListsSharedData(ImFontAtlas* atlas)
 {
     for (ImDrawListSharedData* shared_data : atlas->DrawListSharedDatas)
     {
-        shared_data->FontAtlas = atlas;
         shared_data->TexUvWhitePixel = atlas->TexUvWhitePixel;
         shared_data->TexUvLines = atlas->TexUvLines;
     }

+ 0 - 1
imgui_internal.h

@@ -838,7 +838,6 @@ struct IMGUI_API ImDrawListSharedData
 {
     ImVec2          TexUvWhitePixel;            // UV of white pixel in the atlas (== FontAtlas->TexUvWhitePixel)
     const ImVec4*   TexUvLines;                 // UV of anti-aliased lines in the atlas (== FontAtlas->TexUvLines)
-    ImFontAtlas*    FontAtlas;                  // Current font atlas
     ImFont*         Font;                       // Current/default font (optional, for simplified AddText overload)
     float           FontSize;                   // Current/default font size (optional, for simplified AddText overload)
     float           FontScale;                  // Current/default font scale (== FontSize / Font->FontSize)