mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-11-03 22:51:06 +01:00 
			
		
		
		
	Merge branch 'master' into navigation
This commit is contained in:
		
							
								
								
									
										13
									
								
								imconfig.h
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								imconfig.h
									
									
									
									
									
								
							@@ -13,24 +13,27 @@
 | 
				
			|||||||
//#define IMGUI_API __declspec( dllexport )
 | 
					//#define IMGUI_API __declspec( dllexport )
 | 
				
			||||||
//#define IMGUI_API __declspec( dllimport )
 | 
					//#define IMGUI_API __declspec( dllimport )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//---- Don't define obsolete functions names. Consider enabling from time to time or when updating to reduce like hood of using already obsolete function/names
 | 
				
			||||||
 | 
					//#define IMGUI_DISABLE_OBSOLETE_FUNCTIONS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//---- Include imgui_user.h at the end of imgui.h
 | 
					//---- Include imgui_user.h at the end of imgui.h
 | 
				
			||||||
//#define IMGUI_INCLUDE_IMGUI_USER_H
 | 
					//#define IMGUI_INCLUDE_IMGUI_USER_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//---- Don't implement default handlers for Windows (so as not to link with OpenClipboard() and others Win32 functions)
 | 
					//---- Don't implement default handlers for Windows (so as not to link with OpenClipboard() and others Win32 functions)
 | 
				
			||||||
//#define IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCS
 | 
					//#define IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCTIONS
 | 
				
			||||||
//#define IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCS
 | 
					//#define IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCTIONS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//---- Don't implement test window functionality (ShowTestWindow()/ShowStyleEditor()/ShowUserGuide() methods will be empty)
 | 
					//---- Don't implement test window functionality (ShowTestWindow()/ShowStyleEditor()/ShowUserGuide() methods will be empty)
 | 
				
			||||||
//---- It is very strongly recommended to NOT disable the test windows. Please read the comment at the top of imgui_demo.cpp to learn why.
 | 
					//---- It is very strongly recommended to NOT disable the test windows. Please read the comment at the top of imgui_demo.cpp to learn why.
 | 
				
			||||||
//#define IMGUI_DISABLE_TEST_WINDOWS
 | 
					//#define IMGUI_DISABLE_TEST_WINDOWS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//---- Don't define obsolete functions names. Consider enabling from time to time or when updating to reduce like hood of using already obsolete function/names
 | 
					//---- Don't implement ImFormatString(), ImFormatStringV() so you can reimplement them yourself.
 | 
				
			||||||
//#define IMGUI_DISABLE_OBSOLETE_FUNCTIONS
 | 
					//#define IMGUI_DISABLE_FORMAT_STRING_FUNCTIONS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//---- Pack colors to BGRA instead of RGBA (remove need to post process vertex buffer in back ends)
 | 
					//---- Pack colors to BGRA instead of RGBA (remove need to post process vertex buffer in back ends)
 | 
				
			||||||
//#define IMGUI_USE_BGRA_PACKED_COLOR
 | 
					//#define IMGUI_USE_BGRA_PACKED_COLOR
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//---- Implement STB libraries in a namespace to avoid conflicts
 | 
					//---- Implement STB libraries in a namespace to avoid linkage conflicts
 | 
				
			||||||
//#define IMGUI_STB_NAMESPACE     ImGuiStb
 | 
					//#define IMGUI_STB_NAMESPACE     ImGuiStb
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//---- Define constructor and implicit cast operators to convert back<>forth from your math types and ImVec2/ImVec4.
 | 
					//---- Define constructor and implicit cast operators to convert back<>forth from your math types and ImVec2/ImVec4.
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										38
									
								
								imgui.cpp
									
									
									
									
									
								
							
							
						
						
									
										38
									
								
								imgui.cpp
									
									
									
									
									
								
							@@ -252,6 +252,7 @@
 | 
				
			|||||||
 Here is a change-log of API breaking changes, if you are using one of the functions listed, expect to have to fix some code.
 | 
					 Here is a change-log of API breaking changes, if you are using one of the functions listed, expect to have to fix some code.
 | 
				
			||||||
 Also read releases logs https://github.com/ocornut/imgui/releases for more details.
 | 
					 Also read releases logs https://github.com/ocornut/imgui/releases for more details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 - 2017/10/24 (1.52) - renamed IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCS/IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCS to IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCTIONS/IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCTIONS for consistency.
 | 
				
			||||||
 - 2017/10/20 (1.52) - changed IsWindowHovered() default parameters behavior to return false if an item is active in another window (e.g. click-dragging item from another window to this window). You can use the newly introduced IsWindowHovered() flags to requests this specific behavior if you need it.
 | 
					 - 2017/10/20 (1.52) - changed IsWindowHovered() default parameters behavior to return false if an item is active in another window (e.g. click-dragging item from another window to this window). You can use the newly introduced IsWindowHovered() flags to requests this specific behavior if you need it.
 | 
				
			||||||
 - 2017/10/20 (1.52) - marked IsItemHoveredRect()/IsMouseHoveringWindow() as obsolete, in favor of using the newly introduced flags for IsItemHovered() and IsWindowHovered(). See https://github.com/ocornut/imgui/issues/1382 for details.
 | 
					 - 2017/10/20 (1.52) - marked IsItemHoveredRect()/IsMouseHoveringWindow() as obsolete, in favor of using the newly introduced flags for IsItemHovered() and IsWindowHovered(). See https://github.com/ocornut/imgui/issues/1382 for details.
 | 
				
			||||||
                       removed the IsItemRectHovered()/IsWindowRectHovered() names introduced in 1.51 since they were merely more consistent names for the two functions we are now obsoleting.
 | 
					                       removed the IsItemRectHovered()/IsWindowRectHovered() names introduced in 1.51 since they were merely more consistent names for the two functions we are now obsoleting.
 | 
				
			||||||
@@ -1054,15 +1055,18 @@ static const char* ImAtoi(const char* src, int* output)
 | 
				
			|||||||
    return src;
 | 
					    return src;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// MSVC version appears to return -1 on overflow, whereas glibc appears to return total count (which may be >= buf_size). 
 | 
					// A) MSVC version appears to return -1 on overflow, whereas glibc appears to return total count (which may be >= buf_size). 
 | 
				
			||||||
// Ideally we would test for only one of those limits at runtime depending on the behavior the vsnprintf(), but trying to deduct it at compile time sounds like a pandora can of worm.
 | 
					// Ideally we would test for only one of those limits at runtime depending on the behavior the vsnprintf(), but trying to deduct it at compile time sounds like a pandora can of worm.
 | 
				
			||||||
 | 
					// B) When buf==NULL vsnprintf() will return the output size.
 | 
				
			||||||
 | 
					#ifndef IMGUI_DISABLE_FORMAT_STRING_FUNCTIONS
 | 
				
			||||||
int ImFormatString(char* buf, int buf_size, const char* fmt, ...)
 | 
					int ImFormatString(char* buf, int buf_size, const char* fmt, ...)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    IM_ASSERT(buf_size > 0);
 | 
					 | 
				
			||||||
    va_list args;
 | 
					    va_list args;
 | 
				
			||||||
    va_start(args, fmt);
 | 
					    va_start(args, fmt);
 | 
				
			||||||
    int w = vsnprintf(buf, buf_size, fmt, args);
 | 
					    int w = vsnprintf(buf, buf_size, fmt, args);
 | 
				
			||||||
    va_end(args);
 | 
					    va_end(args);
 | 
				
			||||||
 | 
					    if (buf == NULL)
 | 
				
			||||||
 | 
					        return w;
 | 
				
			||||||
    if (w == -1 || w >= buf_size)
 | 
					    if (w == -1 || w >= buf_size)
 | 
				
			||||||
        w = buf_size - 1;
 | 
					        w = buf_size - 1;
 | 
				
			||||||
    buf[w] = 0;
 | 
					    buf[w] = 0;
 | 
				
			||||||
@@ -1071,13 +1075,15 @@ int ImFormatString(char* buf, int buf_size, const char* fmt, ...)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
int ImFormatStringV(char* buf, int buf_size, const char* fmt, va_list args)
 | 
					int ImFormatStringV(char* buf, int buf_size, const char* fmt, va_list args)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    IM_ASSERT(buf_size > 0);
 | 
					 | 
				
			||||||
    int w = vsnprintf(buf, buf_size, fmt, args);
 | 
					    int w = vsnprintf(buf, buf_size, fmt, args);
 | 
				
			||||||
 | 
					    if (buf == NULL)
 | 
				
			||||||
 | 
					        return w;
 | 
				
			||||||
    if (w == -1 || w >= buf_size)
 | 
					    if (w == -1 || w >= buf_size)
 | 
				
			||||||
        w = buf_size - 1;
 | 
					        w = buf_size - 1;
 | 
				
			||||||
    buf[w] = 0;
 | 
					    buf[w] = 0;
 | 
				
			||||||
    return w;
 | 
					    return w;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					#endif // #ifdef IMGUI_DISABLE_FORMAT_STRING_FUNCTIONS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Pass data_size==0 for zero-terminated strings
 | 
					// Pass data_size==0 for zero-terminated strings
 | 
				
			||||||
// FIXME-OPT: Replace with e.g. FNV1a hash? CRC32 pretty much randomly access 1KB. Need to do proper measurements.
 | 
					// FIXME-OPT: Replace with e.g. FNV1a hash? CRC32 pretty much randomly access 1KB. Need to do proper measurements.
 | 
				
			||||||
@@ -1713,7 +1719,7 @@ void ImGuiTextBuffer::appendv(const char* fmt, va_list args)
 | 
				
			|||||||
    va_list args_copy;
 | 
					    va_list args_copy;
 | 
				
			||||||
    va_copy(args_copy, args);
 | 
					    va_copy(args_copy, args);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    int len = vsnprintf(NULL, 0, fmt, args);         // FIXME-OPT: could do a first pass write attempt, likely successful on first pass.
 | 
					    int len = ImFormatStringV(NULL, 0, fmt, args);         // FIXME-OPT: could do a first pass write attempt, likely successful on first pass.
 | 
				
			||||||
    if (len <= 0)
 | 
					    if (len <= 0)
 | 
				
			||||||
        return;
 | 
					        return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1726,7 +1732,7 @@ void ImGuiTextBuffer::appendv(const char* fmt, va_list args)
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Buf.resize(needed_sz);
 | 
					    Buf.resize(needed_sz);
 | 
				
			||||||
    ImFormatStringV(&Buf[write_off] - 1, len+1, fmt, args_copy);
 | 
					    ImFormatStringV(&Buf[write_off - 1], len + 1, fmt, args_copy);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void ImGuiTextBuffer::append(const char* fmt, ...)
 | 
					void ImGuiTextBuffer::append(const char* fmt, ...)
 | 
				
			||||||
@@ -10691,16 +10697,16 @@ void ImGui::ColorEditOptionsPopup(const float* col, ImGuiColorEditFlags flags)
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
        int cr = IM_F32_TO_INT8_SAT(col[0]), cg = IM_F32_TO_INT8_SAT(col[1]), cb = IM_F32_TO_INT8_SAT(col[2]), ca = (flags & ImGuiColorEditFlags_NoAlpha) ? 255 : IM_F32_TO_INT8_SAT(col[3]);
 | 
					        int cr = IM_F32_TO_INT8_SAT(col[0]), cg = IM_F32_TO_INT8_SAT(col[1]), cb = IM_F32_TO_INT8_SAT(col[2]), ca = (flags & ImGuiColorEditFlags_NoAlpha) ? 255 : IM_F32_TO_INT8_SAT(col[3]);
 | 
				
			||||||
        char buf[64];
 | 
					        char buf[64];
 | 
				
			||||||
        sprintf(buf, "(%.3ff, %.3ff, %.3ff, %.3ff)", col[0], col[1], col[2], (flags & ImGuiColorEditFlags_NoAlpha) ? 1.0f : col[3]);
 | 
					        ImFormatString(buf, IM_ARRAYSIZE(buf), "(%.3ff, %.3ff, %.3ff, %.3ff)", col[0], col[1], col[2], (flags & ImGuiColorEditFlags_NoAlpha) ? 1.0f : col[3]);
 | 
				
			||||||
        if (Selectable(buf))
 | 
					        if (Selectable(buf))
 | 
				
			||||||
            SetClipboardText(buf);
 | 
					            SetClipboardText(buf);
 | 
				
			||||||
        sprintf(buf, "(%d,%d,%d,%d)", cr, cg, cb, ca);
 | 
					        ImFormatString(buf, IM_ARRAYSIZE(buf), "(%d,%d,%d,%d)", cr, cg, cb, ca);
 | 
				
			||||||
        if (Selectable(buf))
 | 
					        if (Selectable(buf))
 | 
				
			||||||
            SetClipboardText(buf);
 | 
					            SetClipboardText(buf);
 | 
				
			||||||
        if (flags & ImGuiColorEditFlags_NoAlpha)
 | 
					        if (flags & ImGuiColorEditFlags_NoAlpha)
 | 
				
			||||||
            sprintf(buf, "0x%02X%02X%02X", cr, cg, cb);
 | 
					            ImFormatString(buf, IM_ARRAYSIZE(buf), "0x%02X%02X%02X", cr, cg, cb);
 | 
				
			||||||
        else
 | 
					        else
 | 
				
			||||||
            sprintf(buf, "0x%02X%02X%02X%02X", cr, cg, cb, ca);
 | 
					            ImFormatString(buf, IM_ARRAYSIZE(buf), "0x%02X%02X%02X%02X", cr, cg, cb, ca);
 | 
				
			||||||
        if (Selectable(buf))
 | 
					        if (Selectable(buf))
 | 
				
			||||||
            SetClipboardText(buf);
 | 
					            SetClipboardText(buf);
 | 
				
			||||||
        EndPopup();
 | 
					        EndPopup();
 | 
				
			||||||
@@ -11816,14 +11822,14 @@ void ImGui::Value(const char* prefix, float v, const char* float_format)
 | 
				
			|||||||
// PLATFORM DEPENDENT HELPERS
 | 
					// PLATFORM DEPENDENT HELPERS
 | 
				
			||||||
//-----------------------------------------------------------------------------
 | 
					//-----------------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if defined(_WIN32) && !defined(_WINDOWS_) && (!defined(IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCS) || !defined(IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCS))
 | 
					#if defined(_WIN32) && !defined(_WINDOWS_) && (!defined(IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCTIONS) || !defined(IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCTIONS))
 | 
				
			||||||
#undef WIN32_LEAN_AND_MEAN
 | 
					#undef WIN32_LEAN_AND_MEAN
 | 
				
			||||||
#define WIN32_LEAN_AND_MEAN
 | 
					#define WIN32_LEAN_AND_MEAN
 | 
				
			||||||
#include <windows.h>
 | 
					#include <windows.h>
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Win32 API clipboard implementation
 | 
					// Win32 API clipboard implementation
 | 
				
			||||||
#if defined(_WIN32) && !defined(IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCS)
 | 
					#if defined(_WIN32) && !defined(IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCTIONS)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef _MSC_VER
 | 
					#ifdef _MSC_VER
 | 
				
			||||||
#pragma comment(lib, "user32")
 | 
					#pragma comment(lib, "user32")
 | 
				
			||||||
@@ -11859,7 +11865,10 @@ static void SetClipboardTextFn_DefaultImpl(void*, const char* text)
 | 
				
			|||||||
    const int wbuf_length = ImTextCountCharsFromUtf8(text, NULL) + 1;
 | 
					    const int wbuf_length = ImTextCountCharsFromUtf8(text, NULL) + 1;
 | 
				
			||||||
    HGLOBAL wbuf_handle = GlobalAlloc(GMEM_MOVEABLE, (SIZE_T)wbuf_length * sizeof(ImWchar));
 | 
					    HGLOBAL wbuf_handle = GlobalAlloc(GMEM_MOVEABLE, (SIZE_T)wbuf_length * sizeof(ImWchar));
 | 
				
			||||||
    if (wbuf_handle == NULL)
 | 
					    if (wbuf_handle == NULL)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        CloseClipboard();
 | 
				
			||||||
        return;
 | 
					        return;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    ImWchar* wbuf_global = (ImWchar*)GlobalLock(wbuf_handle);
 | 
					    ImWchar* wbuf_global = (ImWchar*)GlobalLock(wbuf_handle);
 | 
				
			||||||
    ImTextStrFromUtf8(wbuf_global, wbuf_length, text, NULL);
 | 
					    ImTextStrFromUtf8(wbuf_global, wbuf_length, text, NULL);
 | 
				
			||||||
    GlobalUnlock(wbuf_handle);
 | 
					    GlobalUnlock(wbuf_handle);
 | 
				
			||||||
@@ -11891,7 +11900,7 @@ static void SetClipboardTextFn_DefaultImpl(void*, const char* text)
 | 
				
			|||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Win32 API IME support (for Asian languages, etc.)
 | 
					// Win32 API IME support (for Asian languages, etc.)
 | 
				
			||||||
#if defined(_WIN32) && !defined(__GNUC__) && !defined(IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCS)
 | 
					#if defined(_WIN32) && !defined(__GNUC__) && !defined(IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCTIONS)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <imm.h>
 | 
					#include <imm.h>
 | 
				
			||||||
#ifdef _MSC_VER
 | 
					#ifdef _MSC_VER
 | 
				
			||||||
@@ -11979,13 +11988,14 @@ void ImGui::ShowMetricsWindow(bool* p_open)
 | 
				
			|||||||
                    while (clipper.Step())
 | 
					                    while (clipper.Step())
 | 
				
			||||||
                        for (int prim = clipper.DisplayStart, vtx_i = elem_offset + clipper.DisplayStart*3; prim < clipper.DisplayEnd; prim++)
 | 
					                        for (int prim = clipper.DisplayStart, vtx_i = elem_offset + clipper.DisplayStart*3; prim < clipper.DisplayEnd; prim++)
 | 
				
			||||||
                        {
 | 
					                        {
 | 
				
			||||||
                            char buf[300], *buf_p = buf;
 | 
					                            char buf[300];
 | 
				
			||||||
 | 
					                            char *buf_p = buf, *buf_end = buf + IM_ARRAYSIZE(buf);
 | 
				
			||||||
                            ImVec2 triangles_pos[3];
 | 
					                            ImVec2 triangles_pos[3];
 | 
				
			||||||
                            for (int n = 0; n < 3; n++, vtx_i++)
 | 
					                            for (int n = 0; n < 3; n++, vtx_i++)
 | 
				
			||||||
                            {
 | 
					                            {
 | 
				
			||||||
                                ImDrawVert& v = draw_list->VtxBuffer[idx_buffer ? idx_buffer[vtx_i] : vtx_i];
 | 
					                                ImDrawVert& v = draw_list->VtxBuffer[idx_buffer ? idx_buffer[vtx_i] : vtx_i];
 | 
				
			||||||
                                triangles_pos[n] = v.pos;
 | 
					                                triangles_pos[n] = v.pos;
 | 
				
			||||||
                                buf_p += sprintf(buf_p, "%s %04d { pos = (%8.2f,%8.2f), uv = (%.6f,%.6f), col = %08X }\n", (n == 0) ? "vtx" : "   ", vtx_i, v.pos.x, v.pos.y, v.uv.x, v.uv.y, v.col);
 | 
					                                buf_p += ImFormatString(buf_p, (int)(buf_end - buf_p), "%s %04d { pos = (%8.2f,%8.2f), uv = (%.6f,%.6f), col = %08X }\n", (n == 0) ? "vtx" : "   ", vtx_i, v.pos.x, v.pos.y, v.uv.x, v.uv.y, v.col);
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
                            ImGui::Selectable(buf, false);
 | 
					                            ImGui::Selectable(buf, false);
 | 
				
			||||||
                            if (ImGui::IsItemHovered())
 | 
					                            if (ImGui::IsItemHovered())
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2397,6 +2397,7 @@ struct ExampleAppConsole
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    void    AddLog(const char* fmt, ...) IM_FMTARGS(2)
 | 
					    void    AddLog(const char* fmt, ...) IM_FMTARGS(2)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
 | 
					        // FIXME-OPT
 | 
				
			||||||
        char buf[1024];
 | 
					        char buf[1024];
 | 
				
			||||||
        va_list args;
 | 
					        va_list args;
 | 
				
			||||||
        va_start(args, fmt);
 | 
					        va_start(args, fmt);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1475,8 +1475,11 @@ bool    ImFontAtlasBuildWithStbTruetype(ImFontAtlas* atlas)
 | 
				
			|||||||
        const int font_offset = stbtt_GetFontOffsetForIndex((unsigned char*)cfg.FontData, cfg.FontNo);
 | 
					        const int font_offset = stbtt_GetFontOffsetForIndex((unsigned char*)cfg.FontData, cfg.FontNo);
 | 
				
			||||||
        IM_ASSERT(font_offset >= 0);
 | 
					        IM_ASSERT(font_offset >= 0);
 | 
				
			||||||
        if (!stbtt_InitFont(&tmp.FontInfo, (unsigned char*)cfg.FontData, font_offset))
 | 
					        if (!stbtt_InitFont(&tmp.FontInfo, (unsigned char*)cfg.FontData, font_offset))
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            ImGui::MemFree(tmp_array);
 | 
				
			||||||
            return false;
 | 
					            return false;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Allocate packing character data and flag packed characters buffer as non-packed (x0=y0=x1=y1=0)
 | 
					    // Allocate packing character data and flag packed characters buffer as non-packed (x0=y0=x1=y1=0)
 | 
				
			||||||
    int buf_packedchars_n = 0, buf_rects_n = 0, buf_ranges_n = 0;
 | 
					    int buf_packedchars_n = 0, buf_rects_n = 0, buf_ranges_n = 0;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user