mirror of
https://github.com/bkaradzic/bgfx.git
synced 2026-02-17 20:52:36 +01:00
Updated ImGui.
This commit is contained in:
5
3rdparty/dear-imgui/imgui.cpp
vendored
5
3rdparty/dear-imgui/imgui.cpp
vendored
@@ -1100,7 +1100,8 @@ ImGuiIO::ImGuiIO()
|
||||
ConfigInputTextCursorBlink = true;
|
||||
ConfigResizeWindowsFromEdges = false;
|
||||
|
||||
// Settings (User Functions)
|
||||
// Platform Functions
|
||||
BackendPlatformName = BackendRendererName = NULL;
|
||||
GetClipboardTextFn = GetClipboardTextFn_DefaultImpl; // Platform dependent default implementations
|
||||
SetClipboardTextFn = SetClipboardTextFn_DefaultImpl;
|
||||
ClipboardUserData = NULL;
|
||||
@@ -1111,7 +1112,7 @@ ImGuiIO::ImGuiIO()
|
||||
RenderDrawListsFn = NULL;
|
||||
#endif
|
||||
|
||||
// Input (NB: we already have memset zero the entire structure)
|
||||
// Input (NB: we already have memset zero the entire structure!)
|
||||
MousePos = ImVec2(-FLT_MAX, -FLT_MAX);
|
||||
MousePosPrev = ImVec2(-FLT_MAX, -FLT_MAX);
|
||||
MouseDragThreshold = 6.0f;
|
||||
|
||||
9
3rdparty/dear-imgui/imgui.h
vendored
9
3rdparty/dear-imgui/imgui.h
vendored
@@ -205,7 +205,8 @@ namespace ImGui
|
||||
|
||||
// Demo, Debug, Information
|
||||
IMGUI_API void ShowDemoWindow(bool* p_open = NULL); // create demo/test window (previously called ShowTestWindow). demonstrate most ImGui features. call this to learn about the library! try to make it always available in your application!
|
||||
IMGUI_API void ShowMetricsWindow(bool* p_open = NULL); // create metrics window. display ImGui internals: draw commands (with individual draw calls and vertices), window list, basic internal state, etc.
|
||||
IMGUI_API void ShowAboutWindow(bool* p_open = NULL); // create about window. display Dear ImGui version, credits and build/system information.
|
||||
IMGUI_API void ShowMetricsWindow(bool* p_open = NULL); // create metrics window. display Dear ImGui internals: draw commands (with individual draw calls and vertices), window list, basic internal state, etc.
|
||||
IMGUI_API void ShowStyleEditor(ImGuiStyle* ref = NULL); // add style editor block (not a window). you can pass in a reference ImGuiStyle structure to compare to, revert to and save to (else it uses the default style)
|
||||
IMGUI_API bool ShowStyleSelector(const char* label); // add style selector block (not a window), essentially a combo listing the default styles.
|
||||
IMGUI_API void ShowFontSelector(const char* label); // add font selector block (not a window), essentially a combo listing the loaded fonts.
|
||||
@@ -1172,6 +1173,10 @@ struct ImGuiIO
|
||||
// (the imgui_impl_xxxx back-end files are setting those up for you)
|
||||
//------------------------------------------------------------------
|
||||
|
||||
// Optional: Platform/Renderer back-end name (informational only! will be displayed in About Window)
|
||||
const char* BackendPlatformName;
|
||||
const char* BackendRendererName;
|
||||
|
||||
// Optional: Access OS clipboard
|
||||
// (default to use native Win32 clipboard on Windows, otherwise uses a private clipboard. Override to access OS clipboard on other architectures)
|
||||
const char* (*GetClipboardTextFn)(void* user_data);
|
||||
@@ -1181,7 +1186,7 @@ struct ImGuiIO
|
||||
// Optional: Notify OS Input Method Editor of the screen position of your cursor for text input position (e.g. when using Japanese/Chinese IME on Windows)
|
||||
// (default to use native imm32 api on Windows)
|
||||
void (*ImeSetInputScreenPosFn)(int x, int y);
|
||||
void* ImeWindowHandle; // (Windows) Set this to your HWND to get automatic IME cursor positioning.
|
||||
void* ImeWindowHandle; // (Windows) Set this to your HWND to get automatic IME cursor positioning.
|
||||
|
||||
#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
|
||||
// [OBSOLETE since 1.60+] Rendering function, will be automatically called in Render(). Please call your rendering function yourself now!
|
||||
|
||||
133
3rdparty/dear-imgui/imgui_demo.cpp
vendored
133
3rdparty/dear-imgui/imgui_demo.cpp
vendored
@@ -27,6 +27,7 @@ Index of this file:
|
||||
|
||||
// [SECTION] Forward Declarations, Helpers
|
||||
// [SECTION] Demo Window / ShowDemoWindow()
|
||||
// [SECTION] About Window / ShowAboutWindow()
|
||||
// [SECTION] Style Editor / ShowStyleEditor()
|
||||
// [SECTION] Example App: Main Menu Bar / ShowExampleAppMainMenuBar()
|
||||
// [SECTION] Example App: Debug Console / ShowExampleAppConsole()
|
||||
@@ -198,15 +199,7 @@ void ImGui::ShowDemoWindow(bool* p_open)
|
||||
|
||||
if (show_app_metrics) { ImGui::ShowMetricsWindow(&show_app_metrics); }
|
||||
if (show_app_style_editor) { ImGui::Begin("Style Editor", &show_app_style_editor); ImGui::ShowStyleEditor(); ImGui::End(); }
|
||||
if (show_app_about)
|
||||
{
|
||||
ImGui::Begin("About Dear ImGui", &show_app_about, ImGuiWindowFlags_AlwaysAutoResize);
|
||||
ImGui::Text("Dear ImGui, %s", ImGui::GetVersion());
|
||||
ImGui::Separator();
|
||||
ImGui::Text("By Omar Cornut and all dear imgui contributors.");
|
||||
ImGui::Text("Dear ImGui is licensed under the MIT License, see LICENSE for more information.");
|
||||
ImGui::End();
|
||||
}
|
||||
if (show_app_about) { ShowAboutWindow(&show_app_about); }
|
||||
|
||||
// Demonstrate the various window flags. Typically you would just use the default!
|
||||
static bool no_titlebar = false;
|
||||
@@ -909,6 +902,8 @@ static void ShowDemoWindowWidgets()
|
||||
|
||||
if (ImGui::TreeNode("Multi-line Text Input"))
|
||||
{
|
||||
// Note: we are using a fixed-sized buffer for simplicity here. See ImGuiInputTextFlags_CallbackResize
|
||||
// and the code in misc/cpp/imgui_stdlib.h for how to setup InputText() for dynamically resizing strings.
|
||||
static bool read_only = false;
|
||||
static char text[1024*16] =
|
||||
"/*\n"
|
||||
@@ -2456,6 +2451,125 @@ static void ShowDemoWindowMisc()
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// [SECTION] About Window / ShowAboutWindow()
|
||||
// Access from ImGui Demo -> Help -> About
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
void ImGui::ShowAboutWindow(bool* p_open)
|
||||
{
|
||||
ImGui::Begin("About Dear ImGui", p_open, ImGuiWindowFlags_AlwaysAutoResize);
|
||||
ImGui::Text("Dear ImGui, %s", ImGui::GetVersion());
|
||||
ImGui::Separator();
|
||||
ImGui::Text("By Omar Cornut and all dear imgui contributors.");
|
||||
ImGui::Text("Dear ImGui is licensed under the MIT License, see LICENSE for more information.");
|
||||
|
||||
static bool show_config_info = false;
|
||||
ImGui::Checkbox("Config/Build Information", &show_config_info);
|
||||
if (show_config_info)
|
||||
{
|
||||
ImGuiIO& io = ImGui::GetIO();
|
||||
ImGuiStyle& style = ImGui::GetStyle();
|
||||
|
||||
bool copy_to_clipboard = ImGui::Button("Copy to clipboard");
|
||||
ImGui::BeginChildFrame(ImGui::GetID("cfginfos"), ImVec2(0, ImGui::GetTextLineHeightWithSpacing() * 18), ImGuiWindowFlags_NoMove);
|
||||
if (copy_to_clipboard)
|
||||
ImGui::LogToClipboard();
|
||||
|
||||
ImGui::Text("Dear ImGui %s (%d)", IMGUI_VERSION, IMGUI_VERSION_NUM);
|
||||
ImGui::Separator();
|
||||
ImGui::Text("sizeof(size_t): %d, sizeof(ImDrawIdx): %d, sizeof(ImDrawVert): %d", (int)sizeof(size_t), (int)sizeof(ImDrawIdx), (int)sizeof(ImDrawVert));
|
||||
ImGui::Text("define: __cplusplus=%d", (int)__cplusplus);
|
||||
#ifdef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
|
||||
ImGui::Text("define: IMGUI_DISABLE_OBSOLETE_FUNCTIONS");
|
||||
#endif
|
||||
#ifdef IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCTIONS
|
||||
ImGui::Text("define: IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCTIONS");
|
||||
#endif
|
||||
#ifdef IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCTIONS
|
||||
ImGui::Text("define: IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCTIONS");
|
||||
#endif
|
||||
#ifdef IMGUI_DISABLE_WIN32_FUNCTIONS
|
||||
ImGui::Text("define: IMGUI_DISABLE_WIN32_FUNCTIONS");
|
||||
#endif
|
||||
#ifdef IMGUI_DISABLE_FORMAT_STRING_FUNCTIONS
|
||||
ImGui::Text("define: IMGUI_DISABLE_FORMAT_STRING_FUNCTIONS");
|
||||
#endif
|
||||
#ifdef IMGUI_DISABLE_MATH_FUNCTIONS
|
||||
ImGui::Text("define: IMGUI_DISABLE_MATH_FUNCTIONS");
|
||||
#endif
|
||||
#ifdef IMGUI_DISABLE_DEFAULT_ALLOCATORS
|
||||
ImGui::Text("define: IMGUI_DISABLE_DEFAULT_ALLOCATORS");
|
||||
#endif
|
||||
#ifdef IMGUI_USE_BGRA_PACKED_COLOR
|
||||
ImGui::Text("define: IMGUI_USE_BGRA_PACKED_COLOR");
|
||||
#endif
|
||||
#ifdef _WIN32
|
||||
ImGui::Text("define: _WIN32");
|
||||
#endif
|
||||
#ifdef _WIN64
|
||||
ImGui::Text("define: _WIN64");
|
||||
#endif
|
||||
#ifdef __linux__
|
||||
ImGui::Text("define: __linux__");
|
||||
#endif
|
||||
#ifdef __APPLE__
|
||||
ImGui::Text("define: __APPLE__");
|
||||
#endif
|
||||
#ifdef _MSC_VER
|
||||
ImGui::Text("define: _MSC_VER=%d", _MSC_VER);
|
||||
#endif
|
||||
#ifdef __MINGW32__
|
||||
ImGui::Text("define: __MINGW32__");
|
||||
#endif
|
||||
#ifdef __MINGW64__
|
||||
ImGui::Text("define: __MINGW64__");
|
||||
#endif
|
||||
#ifdef __GNUC__
|
||||
ImGui::Text("define: __GNUC__=%d", (int)__GNUC__);
|
||||
#endif
|
||||
#ifdef __clang_version__
|
||||
ImGui::Text("define: __clang_version__=%s", __clang_version__);
|
||||
#endif
|
||||
ImGui::Separator();
|
||||
ImGui::Text("io.ConfigFlags: 0x%08X", io.ConfigFlags);
|
||||
if (io.ConfigFlags & ImGuiConfigFlags_NavEnableKeyboard) ImGui::Text(" NavEnableKeyboard");
|
||||
if (io.ConfigFlags & ImGuiConfigFlags_NavEnableGamepad) ImGui::Text(" NavEnableGamepad");
|
||||
if (io.ConfigFlags & ImGuiConfigFlags_NavEnableSetMousePos) ImGui::Text(" NavEnableSetMousePos");
|
||||
if (io.ConfigFlags & ImGuiConfigFlags_NavNoCaptureKeyboard) ImGui::Text(" NavNoCaptureKeyboard");
|
||||
if (io.ConfigFlags & ImGuiConfigFlags_NoMouse) ImGui::Text(" NoMouse");
|
||||
if (io.ConfigFlags & ImGuiConfigFlags_NoMouseCursorChange) ImGui::Text(" NoMouseCursorChange");
|
||||
if (io.ConfigFlags & ImGuiConfigFlags_IsSRGB) ImGui::Text(" IsSRGB");
|
||||
if (io.ConfigFlags & ImGuiConfigFlags_IsTouchScreen) ImGui::Text(" IsTouchScreen");
|
||||
if (io.MouseDrawCursor) ImGui::Text(" MouseDrawCursor");
|
||||
if (io.ConfigMacOSXBehaviors) ImGui::Text(" ConfigMacOSXBehaviors");
|
||||
if (io.ConfigInputTextCursorBlink) ImGui::Text(" ConfigInputTextCursorBlink");
|
||||
if (io.ConfigResizeWindowsFromEdges) ImGui::Text(" ConfigResizeWindowsFromEdges");
|
||||
ImGui::Text("io.BackendFlags: 0x%08X", io.BackendFlags);
|
||||
if (io.BackendFlags & ImGuiBackendFlags_HasGamepad) ImGui::Text(" HasGamepad");
|
||||
if (io.BackendFlags & ImGuiBackendFlags_HasMouseCursors) ImGui::Text(" HasMouseCursors");
|
||||
if (io.BackendFlags & ImGuiBackendFlags_HasSetMousePos) ImGui::Text(" HasSetMousePos");
|
||||
ImGui::Text("io.BackendPlatformName: %s", io.BackendPlatformName ? io.BackendPlatformName : "NULL");
|
||||
ImGui::Text("io.BackendRendererName: %s", io.BackendRendererName ? io.BackendRendererName : "NULL");
|
||||
ImGui::Separator();
|
||||
ImGui::Text("io.Fonts: %d fonts, Flags: 0x%08X, TexSize: %d,%d", io.Fonts->Fonts.Size, io.Fonts->Flags, io.Fonts->TexWidth, io.Fonts->TexHeight);
|
||||
ImGui::Text("io.DisplaySize: %.2f,%.2f", io.DisplaySize.x, io.DisplaySize.y);
|
||||
ImGui::Separator();
|
||||
ImGui::Text("style.WindowPadding: %.2f,%.2f", style.WindowPadding.x, style.WindowPadding.y);
|
||||
ImGui::Text("style.WindowBorderSize: %.2f", style.WindowBorderSize);
|
||||
ImGui::Text("style.FramePadding: %.2f,%.2f", style.FramePadding.x, style.FramePadding.y);
|
||||
ImGui::Text("style.FrameRounding: %.2f", style.FrameRounding);
|
||||
ImGui::Text("style.FrameBorderSize: %.2f", style.FrameBorderSize);
|
||||
ImGui::Text("style.ItemSpacing: %.2f,%.2f", style.ItemSpacing.x, style.ItemSpacing.y);
|
||||
ImGui::Text("style.ItemInnerSpacing: %.2f,%.2f", style.ItemInnerSpacing.x, style.ItemInnerSpacing.y);
|
||||
|
||||
if (copy_to_clipboard)
|
||||
ImGui::LogFinish();
|
||||
ImGui::EndChildFrame();
|
||||
}
|
||||
ImGui::End();
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// [SECTION] Style Editor / ShowStyleEditor()
|
||||
//-----------------------------------------------------------------------------
|
||||
@@ -3650,6 +3764,7 @@ static void ShowExampleAppCustomRendering(bool* p_open)
|
||||
// End of Demo code
|
||||
#else
|
||||
|
||||
void ImGui::ShowAboutWindow(bool*) {}
|
||||
void ImGui::ShowDemoWindow(bool*) {}
|
||||
void ImGui::ShowUserGuide() {}
|
||||
void ImGui::ShowStyleEditor(ImGuiStyle*) {}
|
||||
|
||||
4
3rdparty/dear-imgui/imgui_draw.cpp
vendored
4
3rdparty/dear-imgui/imgui_draw.cpp
vendored
@@ -32,7 +32,7 @@ Index of this file:
|
||||
|
||||
#include <stdio.h> // vsnprintf, sscanf, printf
|
||||
#if !defined(alloca)
|
||||
#if defined(__GLIBC__) || defined(__sun) || defined(__CYGWIN__)
|
||||
#if defined(__GLIBC__) || defined(__sun) || defined(__CYGWIN__) || defined(__APPLE__)
|
||||
#include <alloca.h> // alloca (glibc uses <alloca.h>. Note that Cygwin may have _WIN32 defined, so the order matters here)
|
||||
#elif defined(_WIN32)
|
||||
#include <malloc.h> // alloca
|
||||
@@ -2662,7 +2662,7 @@ void ImFont::RenderText(ImDrawList* draw_list, float size, ImVec2 pos, ImU32 col
|
||||
while (y_end < clip_rect.w && s_end < text_end)
|
||||
{
|
||||
s_end = (const char*)memchr(s_end, '\n', text_end - s_end);
|
||||
s = s ? s + 1 : text_end;
|
||||
s_end = s_end ? s_end + 1 : text_end;
|
||||
y_end += line_height;
|
||||
}
|
||||
text_end = s_end;
|
||||
|
||||
2
3rdparty/dear-imgui/imgui_widgets.cpp
vendored
2
3rdparty/dear-imgui/imgui_widgets.cpp
vendored
@@ -1153,7 +1153,7 @@ void ImGui::Separator()
|
||||
window->DrawList->AddLine(bb.Min, ImVec2(bb.Max.x,bb.Min.y), GetColorU32(ImGuiCol_Separator));
|
||||
|
||||
if (g.LogEnabled)
|
||||
LogRenderedText(NULL, IM_NEWLINE "--------------------------------");
|
||||
LogRenderedText(&bb.Min, "--------------------------------");
|
||||
|
||||
if (window->DC.ColumnsSet)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user