mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-11-04 07:01:04 +01:00 
			
		
		
		
	Merge branch 'master' into docking
# Conflicts: # imgui.cpp # imgui.h
This commit is contained in:
		@@ -160,7 +160,7 @@ IMGUI_API int           ImTextCountUtf8BytesFromStr(const ImWchar* in_text, cons
 | 
			
		||||
 | 
			
		||||
// Helpers: Misc
 | 
			
		||||
IMGUI_API ImU32         ImHashData(const void* data, size_t data_size, ImU32 seed = 0);
 | 
			
		||||
IMGUI_API ImU32         ImHashStr(const char* data, size_t data_size, ImU32 seed = 0);
 | 
			
		||||
IMGUI_API ImU32         ImHashStr(const char* data, size_t data_size = 0, ImU32 seed = 0);
 | 
			
		||||
IMGUI_API void*         ImFileLoadToMemory(const char* filename, const char* file_open_mode, size_t* out_file_size = NULL, int padding_bytes = 0);
 | 
			
		||||
IMGUI_API FILE*         ImFileOpen(const char* filename, const char* file_open_mode);
 | 
			
		||||
static inline bool      ImCharIsBlankA(char c)          { return c == ' ' || c == '\t'; }
 | 
			
		||||
@@ -650,7 +650,7 @@ struct ImGuiWindowSettings
 | 
			
		||||
struct ImGuiSettingsHandler
 | 
			
		||||
{
 | 
			
		||||
    const char* TypeName;       // Short description stored in .ini file. Disallowed characters: '[' ']'
 | 
			
		||||
    ImGuiID     TypeHash;       // == ImHashStr(TypeName, 0, 0)
 | 
			
		||||
    ImGuiID     TypeHash;       // == ImHashStr(TypeName)
 | 
			
		||||
    void*       (*ReadOpenFn)(ImGuiContext* ctx, ImGuiSettingsHandler* handler, const char* name);              // Read: Called when entering into a new ini entry e.g. "[Window][Name]"
 | 
			
		||||
    void        (*ReadLineFn)(ImGuiContext* ctx, ImGuiSettingsHandler* handler, void* entry, const char* line); // Read: Called for every line of text within an ini entry
 | 
			
		||||
    void        (*WriteAllFn)(ImGuiContext* ctx, ImGuiSettingsHandler* handler, ImGuiTextBuffer* out_buf);      // Write: Output every entries into 'out_buf'
 | 
			
		||||
@@ -678,7 +678,7 @@ struct ImGuiColumnData
 | 
			
		||||
    ImGuiColumnsFlags   Flags;              // Not exposed
 | 
			
		||||
    ImRect              ClipRect;
 | 
			
		||||
 | 
			
		||||
    ImGuiColumnData()   { OffsetNorm = OffsetNormBeforeResize = 0.0f; Flags = 0; }
 | 
			
		||||
    ImGuiColumnData()   { OffsetNorm = OffsetNormBeforeResize = 0.0f; Flags = ImGuiColumnsFlags_None; }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct ImGuiColumns
 | 
			
		||||
@@ -691,23 +691,23 @@ struct ImGuiColumns
 | 
			
		||||
    int                 Count;
 | 
			
		||||
    float               MinX, MaxX;
 | 
			
		||||
    float               LineMinY, LineMaxY;
 | 
			
		||||
    float               StartPosY;          // Copy of CursorPos
 | 
			
		||||
    float               StartMaxPosX;       // Copy of CursorMaxPos
 | 
			
		||||
    float               BackupCursorPosY;       // Backup of CursorPos at the time of BeginColumns()
 | 
			
		||||
    float               BackupCursorMaxPosX;    // Backup of CursorMaxPos at the time of BeginColumns()
 | 
			
		||||
    ImVector<ImGuiColumnData> Columns;
 | 
			
		||||
 | 
			
		||||
    ImGuiColumns()      { Clear(); }
 | 
			
		||||
    void Clear()
 | 
			
		||||
    {
 | 
			
		||||
        ID = 0;
 | 
			
		||||
        Flags = 0;
 | 
			
		||||
        Flags = ImGuiColumnsFlags_None;
 | 
			
		||||
        IsFirstFrame = false;
 | 
			
		||||
        IsBeingResized = false;
 | 
			
		||||
        Current = 0;
 | 
			
		||||
        Count = 1;
 | 
			
		||||
        MinX = MaxX = 0.0f;
 | 
			
		||||
        LineMinY = LineMaxY = 0.0f;
 | 
			
		||||
        StartPosY = 0.0f;
 | 
			
		||||
        StartMaxPosX = 0.0f;
 | 
			
		||||
        BackupCursorPosY = 0.0f;
 | 
			
		||||
        BackupCursorMaxPosX = 0.0f;
 | 
			
		||||
        Columns.clear();
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
@@ -1301,6 +1301,7 @@ struct IMGUI_API ImGuiWindowTempData
 | 
			
		||||
    // We store the current settings outside of the vectors to increase memory locality (reduce cache misses). The vectors are rarely modified. Also it allows us to not heap allocate for short-lived windows which are not using those settings.
 | 
			
		||||
    ImGuiItemFlags          ItemFlags;              // == ItemFlagsStack.back() [empty == ImGuiItemFlags_Default]
 | 
			
		||||
    float                   ItemWidth;              // == ItemWidthStack.back(). 0.0: default, >0.0: width in pixels, <0.0: align xx pixels to the right of window
 | 
			
		||||
    float                   NextItemWidth;
 | 
			
		||||
    float                   TextWrapPos;            // == TextWrapPosStack.back() [empty == -1.0f]
 | 
			
		||||
    ImVector<ImGuiItemFlags>ItemFlagsStack;
 | 
			
		||||
    ImVector<float>         ItemWidthStack;
 | 
			
		||||
@@ -1336,6 +1337,7 @@ struct IMGUI_API ImGuiWindowTempData
 | 
			
		||||
 | 
			
		||||
        ItemFlags = ImGuiItemFlags_Default_;
 | 
			
		||||
        ItemWidth = 0.0f;
 | 
			
		||||
        NextItemWidth = +FLT_MAX;
 | 
			
		||||
        TextWrapPos = -1.0f;
 | 
			
		||||
        memset(StackSizesBackup, 0, sizeof(StackSizesBackup));
 | 
			
		||||
 | 
			
		||||
@@ -1626,12 +1628,14 @@ namespace ImGui
 | 
			
		||||
    IMGUI_API bool          IsClippedEx(const ImRect& bb, ImGuiID id, bool clip_even_when_logged);
 | 
			
		||||
    IMGUI_API bool          FocusableItemRegister(ImGuiWindow* window, ImGuiID id);   // Return true if focus is requested
 | 
			
		||||
    IMGUI_API void          FocusableItemUnregister(ImGuiWindow* window);
 | 
			
		||||
    IMGUI_API ImVec2        CalcItemSize(ImVec2 size, float default_x, float default_y);
 | 
			
		||||
    IMGUI_API float         GetNextItemWidth();
 | 
			
		||||
    IMGUI_API ImVec2        CalcItemSize(ImVec2 size, float default_w, float default_h);
 | 
			
		||||
    IMGUI_API float         CalcWrapWidthForPos(const ImVec2& pos, float wrap_pos_x);
 | 
			
		||||
    IMGUI_API void          PushMultiItemsWidths(int components, float width_full = 0.0f);
 | 
			
		||||
    IMGUI_API void          PushMultiItemsWidths(int components, float width_full);
 | 
			
		||||
    IMGUI_API void          PushItemFlag(ImGuiItemFlags option, bool enabled);
 | 
			
		||||
    IMGUI_API void          PopItemFlag();
 | 
			
		||||
    IMGUI_API bool          IsItemToggledSelection();                                           // was the last item selection toggled? (after Selectable(), TreeNode() etc. We only returns toggle _event_ in order to handle clipping correctly)
 | 
			
		||||
    IMGUI_API ImVec2        GetContentRegionMaxScreen();
 | 
			
		||||
 | 
			
		||||
    // Logging/Capture
 | 
			
		||||
    IMGUI_API void          LogBegin(ImGuiLogType type, int auto_open_depth);   // -> BeginCapture() when we design v2 api, for now stay under the radar by using the old name.
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user