mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-11-03 22:51:06 +01:00 
			
		
		
		
	Merge branch 'master' into docking
# Conflicts: # imgui.cpp # imgui.h
This commit is contained in:
		
							
								
								
									
										102
									
								
								imgui.h
									
									
									
									
									
								
							
							
						
						
									
										102
									
								
								imgui.h
									
									
									
									
									
								
							@@ -133,32 +133,31 @@ typedef void* ImTextureID;          // User data to identify a texture (this is
 | 
			
		||||
typedef unsigned int ImGuiID;       // Unique ID used by widgets (typically hashed from a stack of string)
 | 
			
		||||
typedef unsigned short ImWchar;     // A single U16 character for keyboard input/display. We encode them as multi bytes UTF-8 when used in strings.
 | 
			
		||||
typedef int ImGuiCol;               // -> enum ImGuiCol_             // Enum: A color identifier for styling
 | 
			
		||||
typedef int ImGuiCond;              // -> enum ImGuiCond_            // Enum: A condition for Set*()
 | 
			
		||||
typedef int ImGuiCond;              // -> enum ImGuiCond_            // Enum: A condition for many Set*() functions
 | 
			
		||||
typedef int ImGuiDataType;          // -> enum ImGuiDataType_        // Enum: A primary data type
 | 
			
		||||
typedef int ImGuiDir;               // -> enum ImGuiDir_             // Enum: A cardinal direction
 | 
			
		||||
typedef int ImGuiKey;               // -> enum ImGuiKey_             // Enum: A key identifier (ImGui-side enum)
 | 
			
		||||
typedef int ImGuiNavInput;          // -> enum ImGuiNavInput_        // Enum: An input identifier for navigation
 | 
			
		||||
typedef int ImGuiMouseCursor;       // -> enum ImGuiMouseCursor_     // Enum: A mouse cursor identifier
 | 
			
		||||
typedef int ImGuiStyleVar;          // -> enum ImGuiStyleVar_        // Enum: A variable identifier for styling
 | 
			
		||||
typedef int ImDrawCornerFlags;      // -> enum ImDrawCornerFlags_    // Flags: for ImDrawList::AddRect*() etc.
 | 
			
		||||
typedef int ImDrawCornerFlags;      // -> enum ImDrawCornerFlags_    // Flags: for ImDrawList::AddRect(), AddRectFilled() etc.
 | 
			
		||||
typedef int ImDrawListFlags;        // -> enum ImDrawListFlags_      // Flags: for ImDrawList
 | 
			
		||||
typedef int ImFontAtlasFlags;       // -> enum ImFontAtlasFlags_     // Flags: for ImFontAtlas
 | 
			
		||||
typedef int ImGuiBackendFlags;      // -> enum ImGuiBackendFlags_    // Flags: for io.BackendFlags
 | 
			
		||||
typedef int ImGuiColorEditFlags;    // -> enum ImGuiColorEditFlags_  // Flags: for ColorEdit*(), ColorPicker*()
 | 
			
		||||
typedef int ImGuiColumnsFlags;      // -> enum ImGuiColumnsFlags_    // Flags: for Columns(), BeginColumns()
 | 
			
		||||
typedef int ImGuiColorEditFlags;    // -> enum ImGuiColorEditFlags_  // Flags: for ColorEdit4(), ColorPicker4() etc.
 | 
			
		||||
typedef int ImGuiConfigFlags;       // -> enum ImGuiConfigFlags_     // Flags: for io.ConfigFlags
 | 
			
		||||
typedef int ImGuiComboFlags;        // -> enum ImGuiComboFlags_      // Flags: for BeginCombo()
 | 
			
		||||
typedef int ImGuiDockNodeFlags;     // -> enum ImGuiDockNodeFlags_   // Flags: for DockSpace()                   
 | 
			
		||||
typedef int ImGuiDragDropFlags;     // -> enum ImGuiDragDropFlags_   // Flags: for *DragDrop*()
 | 
			
		||||
typedef int ImGuiDragDropFlags;     // -> enum ImGuiDragDropFlags_   // Flags: for BeginDragDropSource(), AcceptDragDropPayload()
 | 
			
		||||
typedef int ImGuiFocusedFlags;      // -> enum ImGuiFocusedFlags_    // Flags: for IsWindowFocused()
 | 
			
		||||
typedef int ImGuiHoveredFlags;      // -> enum ImGuiHoveredFlags_    // Flags: for IsItemHovered(), IsWindowHovered() etc.
 | 
			
		||||
typedef int ImGuiInputTextFlags;    // -> enum ImGuiInputTextFlags_  // Flags: for InputText*()
 | 
			
		||||
typedef int ImGuiInputTextFlags;    // -> enum ImGuiInputTextFlags_  // Flags: for InputText(), InputTextMultiline()
 | 
			
		||||
typedef int ImGuiSelectableFlags;   // -> enum ImGuiSelectableFlags_ // Flags: for Selectable()
 | 
			
		||||
typedef int ImGuiTabBarFlags;       // -> enum ImGuiTabBarFlags_     // Flags: for BeginTabBar()
 | 
			
		||||
typedef int ImGuiTabItemFlags;      // -> enum ImGuiTabItemFlags_    // Flags: for BeginTabItem()
 | 
			
		||||
typedef int ImGuiTreeNodeFlags;     // -> enum ImGuiTreeNodeFlags_   // Flags: for TreeNode*(),CollapsingHeader()
 | 
			
		||||
typedef int ImGuiTreeNodeFlags;     // -> enum ImGuiTreeNodeFlags_   // Flags: for TreeNode(), TreeNodeEx(), CollapsingHeader()
 | 
			
		||||
typedef int ImGuiViewportFlags;     // -> enum ImGuiViewportFlags_   // Flags: for ImGuiViewport
 | 
			
		||||
typedef int ImGuiWindowFlags;       // -> enum ImGuiWindowFlags_     // Flags: for Begin*()
 | 
			
		||||
typedef int ImGuiWindowFlags;       // -> enum ImGuiWindowFlags_     // Flags: for Begin(), BeginChild()
 | 
			
		||||
typedef int (*ImGuiInputTextCallback)(ImGuiInputTextCallbackData *data);
 | 
			
		||||
typedef void (*ImGuiSizeCallback)(ImGuiSizeCallbackData* data);
 | 
			
		||||
 | 
			
		||||
@@ -509,7 +508,6 @@ namespace ImGui
 | 
			
		||||
    IMGUI_API void          TreePush(const char* str_id);                                       // ~ Indent()+PushId(). Already called by TreeNode() when returning true, but you can call TreePush/TreePop yourself if desired.
 | 
			
		||||
    IMGUI_API void          TreePush(const void* ptr_id = NULL);                                // "
 | 
			
		||||
    IMGUI_API void          TreePop();                                                          // ~ Unindent()+PopId()
 | 
			
		||||
    IMGUI_API void          TreeAdvanceToLabelPos();                                            // advance cursor x position by GetTreeNodeToLabelSpacing()
 | 
			
		||||
    IMGUI_API float         GetTreeNodeToLabelSpacing();                                        // horizontal distance preceding label when using TreeNode*() or Bullet() == (g.FontSize + style.FramePadding.x*2) for a regular unframed TreeNode
 | 
			
		||||
    IMGUI_API bool          CollapsingHeader(const char* label, ImGuiTreeNodeFlags flags = 0);  // if returning 'true' the header is open. doesn't indent nor push on ID stack. user doesn't have to call TreePop().
 | 
			
		||||
    IMGUI_API bool          CollapsingHeader(const char* label, bool* p_open, ImGuiTreeNodeFlags flags = 0); // when 'p_open' isn't NULL, display an additional small close button on upper right of the header
 | 
			
		||||
@@ -926,7 +924,7 @@ enum ImGuiHoveredFlags_
 | 
			
		||||
    ImGuiHoveredFlags_AllowWhenBlockedByPopup       = 1 << 3,   // Return true even if a popup window is normally blocking access to this item/window
 | 
			
		||||
    //ImGuiHoveredFlags_AllowWhenBlockedByModal     = 1 << 4,   // Return true even if a modal popup window is normally blocking access to this item/window. FIXME-TODO: Unavailable yet.
 | 
			
		||||
    ImGuiHoveredFlags_AllowWhenBlockedByActiveItem  = 1 << 5,   // Return true even if an active item is blocking access to this item/window. Useful for Drag and Drop patterns.
 | 
			
		||||
    ImGuiHoveredFlags_AllowWhenOverlapped           = 1 << 6,   // Return true even if the position is overlapped by another window
 | 
			
		||||
    ImGuiHoveredFlags_AllowWhenOverlapped           = 1 << 6,   // Return true even if the position is obstructed or overlapped by another window
 | 
			
		||||
    ImGuiHoveredFlags_AllowWhenDisabled             = 1 << 7,   // Return true even if the item is disabled
 | 
			
		||||
    ImGuiHoveredFlags_RectOnly                      = ImGuiHoveredFlags_AllowWhenBlockedByPopup | ImGuiHoveredFlags_AllowWhenBlockedByActiveItem | ImGuiHoveredFlags_AllowWhenOverlapped,
 | 
			
		||||
    ImGuiHoveredFlags_RootAndChildWindows           = ImGuiHoveredFlags_RootWindow | ImGuiHoveredFlags_ChildWindows
 | 
			
		||||
@@ -957,7 +955,7 @@ enum ImGuiDragDropFlags_
 | 
			
		||||
// A primary data type
 | 
			
		||||
enum ImGuiDataType_
 | 
			
		||||
{
 | 
			
		||||
    ImGuiDataType_S8,       // char
 | 
			
		||||
    ImGuiDataType_S8,       // signed char / char (with sensible compilers)
 | 
			
		||||
    ImGuiDataType_U8,       // unsigned char
 | 
			
		||||
    ImGuiDataType_S16,      // short
 | 
			
		||||
    ImGuiDataType_U16,      // unsigned short
 | 
			
		||||
@@ -1111,7 +1109,7 @@ enum ImGuiCol_
 | 
			
		||||
    ImGuiCol_Button,
 | 
			
		||||
    ImGuiCol_ButtonHovered,
 | 
			
		||||
    ImGuiCol_ButtonActive,
 | 
			
		||||
    ImGuiCol_Header,
 | 
			
		||||
    ImGuiCol_Header,                // Header* colors are used for CollapsingHeader, TreeNode, Selectable, MenuItem
 | 
			
		||||
    ImGuiCol_HeaderHovered,
 | 
			
		||||
    ImGuiCol_HeaderActive,
 | 
			
		||||
    ImGuiCol_Separator,
 | 
			
		||||
@@ -1375,6 +1373,7 @@ struct ImGuiStyle
 | 
			
		||||
    float       GrabRounding;               // Radius of grabs corners rounding. Set to 0.0f to have rectangular slider grabs.
 | 
			
		||||
    float       TabRounding;                // Radius of upper corners of a tab. Set to 0.0f to have rectangular tabs.
 | 
			
		||||
    float       TabBorderSize;              // Thickness of border around tabs.
 | 
			
		||||
    ImGuiDir    ColorButtonPosition;        // Side of the color button in the ColorEdit4 widget (left/right). Defaults to ImGuiDir_Right.
 | 
			
		||||
    ImVec2      ButtonTextAlign;            // Alignment of button text when button is larger than text. Defaults to (0.5f, 0.5f) (centered).
 | 
			
		||||
    ImVec2      SelectableTextAlign;        // Alignment of selectable text when selectable is larger than text. Defaults to (0.0f, 0.0f) (top-left aligned).
 | 
			
		||||
    ImVec2      DisplayWindowPadding;       // Window position are clamped to be visible within the display area or monitors by at least this amount. Only applies to regular windows.
 | 
			
		||||
@@ -1416,7 +1415,7 @@ struct ImGuiIO
 | 
			
		||||
    float       KeyRepeatRate;                  // = 0.050f         // When holding a key/button, rate at which it repeats, in seconds.
 | 
			
		||||
    void*       UserData;                       // = NULL           // Store your own data for retrieval by callbacks.
 | 
			
		||||
 | 
			
		||||
    ImFontAtlas*Fonts;                          // <auto>           // Load, rasterize and pack one or more fonts into a single texture.
 | 
			
		||||
    ImFontAtlas*Fonts;                          // <auto>           // Font atlas: load, rasterize and pack one or more fonts into a single texture.
 | 
			
		||||
    float       FontGlobalScale;                // = 1.0f           // Global scale all fonts
 | 
			
		||||
    bool        FontAllowUserScaling;           // = false          // Allow user scaling text of individual window with CTRL+Wheel.
 | 
			
		||||
    ImFont*     FontDefault;                    // = NULL           // Font to use on NewFrame(). Use NULL to uses Fonts->Fonts[0].
 | 
			
		||||
@@ -1625,8 +1624,10 @@ struct ImGuiWindowClass
 | 
			
		||||
#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
 | 
			
		||||
namespace ImGui
 | 
			
		||||
{
 | 
			
		||||
    // OBSOLETED in 1.72 (from July 2019)
 | 
			
		||||
    static inline void  TreeAdvanceToLabelPos()               { SetCursorPosX(GetCursorPosX() + GetTreeNodeToLabelSpacing()); }
 | 
			
		||||
    // OBSOLETED in 1.71 (from June 2019)
 | 
			
		||||
    static inline void SetNextTreeNodeOpen(bool open, ImGuiCond cond = 0)   { SetNextItemOpen(open, cond); }
 | 
			
		||||
    static inline void  SetNextTreeNodeOpen(bool open, ImGuiCond cond = 0) { SetNextItemOpen(open, cond); }
 | 
			
		||||
    // OBSOLETED in 1.70 (from May 2019)
 | 
			
		||||
    static inline float GetContentRegionAvailWidth()          { return GetContentRegionAvail().x; }
 | 
			
		||||
    // OBSOLETED in 1.69 (from Mar 2019)
 | 
			
		||||
@@ -1684,21 +1685,19 @@ struct ImGuiTextFilter
 | 
			
		||||
    bool                IsActive() const { return !Filters.empty(); }
 | 
			
		||||
 | 
			
		||||
    // [Internal]
 | 
			
		||||
    struct TextRange
 | 
			
		||||
    struct ImGuiTextRange
 | 
			
		||||
    {
 | 
			
		||||
        const char* b;
 | 
			
		||||
        const char* e;
 | 
			
		||||
        const char*     b;
 | 
			
		||||
        const char*     e;
 | 
			
		||||
 | 
			
		||||
        TextRange() { b = e = NULL; }
 | 
			
		||||
        TextRange(const char* _b, const char* _e) { b = _b; e = _e; }
 | 
			
		||||
        const char*     begin() const   { return b; }
 | 
			
		||||
        const char*     end () const    { return e; }
 | 
			
		||||
        bool            empty() const   { return b == e; }
 | 
			
		||||
        IMGUI_API void  split(char separator, ImVector<TextRange>* out) const;
 | 
			
		||||
        ImGuiTextRange()                                { b = e = NULL; }
 | 
			
		||||
        ImGuiTextRange(const char* _b, const char* _e)  { b = _b; e = _e; }
 | 
			
		||||
        bool            empty() const                   { return b == e; }
 | 
			
		||||
        IMGUI_API void  split(char separator, ImVector<ImGuiTextRange>* out) const;
 | 
			
		||||
    };
 | 
			
		||||
    char                InputBuf[256];
 | 
			
		||||
    ImVector<TextRange> Filters;
 | 
			
		||||
    int                 CountGrep;
 | 
			
		||||
    char                    InputBuf[256];
 | 
			
		||||
    ImVector<ImGuiTextRange>Filters;
 | 
			
		||||
    int                     CountGrep;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Helper: Growable text buffer for logging/accumulating text
 | 
			
		||||
@@ -1732,15 +1731,17 @@ struct ImGuiTextBuffer
 | 
			
		||||
// Types are NOT stored, so it is up to you to make sure your Key don't collide with different types.
 | 
			
		||||
struct ImGuiStorage
 | 
			
		||||
{
 | 
			
		||||
    struct Pair
 | 
			
		||||
    // [Internal]
 | 
			
		||||
    struct ImGuiStoragePair
 | 
			
		||||
    {
 | 
			
		||||
        ImGuiID key;
 | 
			
		||||
        union { int val_i; float val_f; void* val_p; };
 | 
			
		||||
        Pair(ImGuiID _key, int _val_i)   { key = _key; val_i = _val_i; }
 | 
			
		||||
        Pair(ImGuiID _key, float _val_f) { key = _key; val_f = _val_f; }
 | 
			
		||||
        Pair(ImGuiID _key, void* _val_p) { key = _key; val_p = _val_p; }
 | 
			
		||||
        ImGuiStoragePair(ImGuiID _key, int _val_i)      { key = _key; val_i = _val_i; }
 | 
			
		||||
        ImGuiStoragePair(ImGuiID _key, float _val_f)    { key = _key; val_f = _val_f; }
 | 
			
		||||
        ImGuiStoragePair(ImGuiID _key, void* _val_p)    { key = _key; val_p = _val_p; }
 | 
			
		||||
    };
 | 
			
		||||
    ImVector<Pair>      Data;
 | 
			
		||||
 | 
			
		||||
    ImVector<ImGuiStoragePair>      Data;
 | 
			
		||||
 | 
			
		||||
    // - Get***() functions find pair, never add/allocate. Pairs are sorted so a query is O(log N)
 | 
			
		||||
    // - Set***() functions find pair, insertion on demand if missing.
 | 
			
		||||
@@ -2121,6 +2122,19 @@ struct ImFontGlyphRangesBuilder
 | 
			
		||||
    IMGUI_API void  BuildRanges(ImVector<ImWchar>* out_ranges);                 // Output new ranges
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// See ImFontAtlas::AddCustomRectXXX functions.
 | 
			
		||||
struct ImFontAtlasCustomRect
 | 
			
		||||
{
 | 
			
		||||
    unsigned int    ID;             // Input    // User ID. Use <0x10000 to map into a font glyph, >=0x10000 for other/internal/custom texture data.
 | 
			
		||||
    unsigned short  Width, Height;  // Input    // Desired rectangle dimension
 | 
			
		||||
    unsigned short  X, Y;           // Output   // Packed position in Atlas
 | 
			
		||||
    float           GlyphAdvanceX;  // Input    // For custom font glyphs only (ID<0x10000): glyph xadvance
 | 
			
		||||
    ImVec2          GlyphOffset;    // Input    // For custom font glyphs only (ID<0x10000): glyph display offset
 | 
			
		||||
    ImFont*         Font;           // Input    // For custom font glyphs only (ID<0x10000): target font
 | 
			
		||||
    ImFontAtlasCustomRect()         { ID = 0xFFFFFFFF; Width = Height = 0; X = Y = 0xFFFF; GlyphAdvanceX = 0.0f; GlyphOffset = ImVec2(0,0); Font = NULL; }
 | 
			
		||||
    bool IsPacked() const           { return X != 0xFFFF; }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum ImFontAtlasFlags_
 | 
			
		||||
{
 | 
			
		||||
    ImFontAtlasFlags_None               = 0,
 | 
			
		||||
@@ -2185,7 +2199,7 @@ struct ImFontAtlas
 | 
			
		||||
    IMGUI_API const ImWchar*    GetGlyphRangesChineseSimplifiedCommon();// Default + Half-Width + Japanese Hiragana/Katakana + set of 2500 CJK Unified Ideographs for common simplified Chinese
 | 
			
		||||
    IMGUI_API const ImWchar*    GetGlyphRangesCyrillic();               // Default + about 400 Cyrillic characters
 | 
			
		||||
    IMGUI_API const ImWchar*    GetGlyphRangesThai();                   // Default + Thai characters
 | 
			
		||||
    IMGUI_API const ImWchar*    GetGlyphRangesVietnamese();             // Default + Vietname characters
 | 
			
		||||
    IMGUI_API const ImWchar*    GetGlyphRangesVietnamese();             // Default + Vietnamese characters
 | 
			
		||||
 | 
			
		||||
    //-------------------------------------------
 | 
			
		||||
    // [BETA] Custom Rectangles/Glyphs API
 | 
			
		||||
@@ -2196,24 +2210,13 @@ struct ImFontAtlas
 | 
			
		||||
    // You can also request your rectangles to be mapped as font glyph (given a font + Unicode point), 
 | 
			
		||||
    // so you can render e.g. custom colorful icons and use them as regular glyphs.
 | 
			
		||||
    // Read misc/fonts/README.txt for more details about using colorful icons.
 | 
			
		||||
    struct CustomRect
 | 
			
		||||
    {
 | 
			
		||||
        unsigned int    ID;             // Input    // User ID. Use <0x10000 to map into a font glyph, >=0x10000 for other/internal/custom texture data.
 | 
			
		||||
        unsigned short  Width, Height;  // Input    // Desired rectangle dimension
 | 
			
		||||
        unsigned short  X, Y;           // Output   // Packed position in Atlas
 | 
			
		||||
        float           GlyphAdvanceX;  // Input    // For custom font glyphs only (ID<0x10000): glyph xadvance
 | 
			
		||||
        ImVec2          GlyphOffset;    // Input    // For custom font glyphs only (ID<0x10000): glyph display offset
 | 
			
		||||
        ImFont*         Font;           // Input    // For custom font glyphs only (ID<0x10000): target font
 | 
			
		||||
        CustomRect()            { ID = 0xFFFFFFFF; Width = Height = 0; X = Y = 0xFFFF; GlyphAdvanceX = 0.0f; GlyphOffset = ImVec2(0,0); Font = NULL; }
 | 
			
		||||
        bool IsPacked() const   { return X != 0xFFFF; }
 | 
			
		||||
    };
 | 
			
		||||
    IMGUI_API int       AddCustomRectRegular(unsigned int id, int width, int height);                                                                   // Id needs to be >= 0x10000. Id >= 0x80000000 are reserved for ImGui and ImDrawList
 | 
			
		||||
    IMGUI_API int       AddCustomRectFontGlyph(ImFont* font, ImWchar id, int width, int height, float advance_x, const ImVec2& offset = ImVec2(0,0));   // Id needs to be < 0x10000 to register a rectangle to map into a specific font.
 | 
			
		||||
    const CustomRect*   GetCustomRectByIndex(int index) const { if (index < 0) return NULL; return &CustomRects[index]; }
 | 
			
		||||
    IMGUI_API int               AddCustomRectRegular(unsigned int id, int width, int height);                                                                   // Id needs to be >= 0x10000. Id >= 0x80000000 are reserved for ImGui and ImDrawList
 | 
			
		||||
    IMGUI_API int               AddCustomRectFontGlyph(ImFont* font, ImWchar id, int width, int height, float advance_x, const ImVec2& offset = ImVec2(0,0));   // Id needs to be < 0x10000 to register a rectangle to map into a specific font.
 | 
			
		||||
    const ImFontAtlasCustomRect*GetCustomRectByIndex(int index) const { if (index < 0) return NULL; return &CustomRects[index]; }
 | 
			
		||||
 | 
			
		||||
    // [Internal]
 | 
			
		||||
    IMGUI_API void      CalcCustomRectUV(const CustomRect* rect, ImVec2* out_uv_min, ImVec2* out_uv_max);
 | 
			
		||||
    IMGUI_API bool      GetMouseCursorTexData(ImGuiMouseCursor cursor, ImVec2* out_offset, ImVec2* out_size, ImVec2 out_uv_border[2], ImVec2 out_uv_fill[2]);
 | 
			
		||||
    IMGUI_API void              CalcCustomRectUV(const ImFontAtlasCustomRect* rect, ImVec2* out_uv_min, ImVec2* out_uv_max);
 | 
			
		||||
    IMGUI_API bool              GetMouseCursorTexData(ImGuiMouseCursor cursor, ImVec2* out_offset, ImVec2* out_size, ImVec2 out_uv_border[2], ImVec2 out_uv_fill[2]);
 | 
			
		||||
 | 
			
		||||
    //-------------------------------------------
 | 
			
		||||
    // Members
 | 
			
		||||
@@ -2234,11 +2237,12 @@ struct ImFontAtlas
 | 
			
		||||
    ImVec2                      TexUvScale;         // = (1.0f/TexWidth, 1.0f/TexHeight)
 | 
			
		||||
    ImVec2                      TexUvWhitePixel;    // Texture coordinates to a white pixel
 | 
			
		||||
    ImVector<ImFont*>           Fonts;              // Hold all the fonts returned by AddFont*. Fonts[0] is the default font upon calling ImGui::NewFrame(), use ImGui::PushFont()/PopFont() to change the current font.
 | 
			
		||||
    ImVector<CustomRect>        CustomRects;        // Rectangles for packing custom texture data into the atlas.
 | 
			
		||||
    ImVector<ImFontAtlasCustomRect> CustomRects;    // Rectangles for packing custom texture data into the atlas.
 | 
			
		||||
    ImVector<ImFontConfig>      ConfigData;         // Internal data
 | 
			
		||||
    int                         CustomRectIds[1];   // Identifiers of custom texture rectangle used by ImFontAtlas/ImDrawList
 | 
			
		||||
 | 
			
		||||
#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
 | 
			
		||||
    typedef ImFontAtlasCustomRect    CustomRect;         // OBSOLETED in 1.72+
 | 
			
		||||
    typedef ImFontGlyphRangesBuilder GlyphRangesBuilder; // OBSOLETED in 1.67+
 | 
			
		||||
#endif
 | 
			
		||||
};
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user