diff --git a/.gitattributes b/.gitattributes index 87f1eb32e..9fe672044 100644 --- a/.gitattributes +++ b/.gitattributes @@ -4,7 +4,6 @@ build.zig.zon.json linguist-generated=true vendor/** linguist-vendored website/** linguist-documentation pkg/breakpad/vendor/** linguist-vendored -pkg/cimgui/vendor/** linguist-vendored pkg/glfw/wayland-headers/** linguist-vendored pkg/libintl/config.h linguist-generated=true pkg/libintl/libintl.h linguist-generated=true diff --git a/build.zig.zon b/build.zig.zon index 191c1bec9..c9c3093b6 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -63,7 +63,7 @@ }, // C libs - .cimgui = .{ .path = "./pkg/cimgui", .lazy = true }, + .dcimgui = .{ .path = "./pkg/dcimgui", .lazy = true }, .fontconfig = .{ .path = "./pkg/fontconfig", .lazy = true }, .freetype = .{ .path = "./pkg/freetype", .lazy = true }, .gtk4_layer_shell = .{ .path = "./pkg/gtk4-layer-shell", .lazy = true }, diff --git a/build.zig.zon.json b/build.zig.zon.json index 6ab567279..28fd4927e 100644 --- a/build.zig.zon.json +++ b/build.zig.zon.json @@ -1,4 +1,9 @@ { + "N-V-__8AANT61wB--nJ95Gj_ctmzAtcjloZ__hRqNw5lC1Kr": { + "name": "bindings", + "url": "https://deps.files.ghostty.org/DearBindings_v0.17_ImGui_v1.92.5-docking.tar.gz", + "hash": "sha256-i/7FAOAJJvZ5hT7iPWfMOS08MYFzPKRwRzhlHT9wuqM=" + }, "N-V-__8AALw2uwF_03u4JRkZwRLc3Y9hakkYV7NKRR9-RIZJ": { "name": "breakpad", "url": "https://deps.files.ghostty.org/breakpad-b99f444ba5f6b98cac261cbb391d8766b34a5918.tar.gz", @@ -44,10 +49,10 @@ "url": "https://deps.files.ghostty.org/highway-66486a10623fa0d72fe91260f96c892e41aceb06.tar.gz", "hash": "sha256-h9T4iT704I8iSXNgj/6/lCaKgTgLp5wS6IQZaMgKohI=" }, - "N-V-__8AAH0GaQC8a52s6vfIxg88OZgFgEW6DFxfSK4lX_l3": { + "N-V-__8AAEbOfQBnvcFcCX2W5z7tDaN8vaNZGamEQtNOe0UI": { "name": "imgui", - "url": "https://deps.files.ghostty.org/imgui-1220bc6b9daceaf7c8c60f3c3998058045ba0c5c5f48ae255ff97776d9cd8bfc6402.tar.gz", - "hash": "sha256-oF/QHgTPEat4Hig4fGIdLkIPHmBEyOJ6JeYD6pnveGA=" + "url": "https://github.com/ocornut/imgui/archive/refs/tags/v1.92.5-docking.tar.gz", + "hash": "sha256-yBbCDox18+Fa6Gc1DnmSVQLRpqhZOLsac7iSfl8x+cs=" }, "N-V-__8AAIdIAwAOceDblkuOARUyuTKbDdGPjPClPLhMeIfU": { "name": "iterm2_themes", diff --git a/build.zig.zon.nix b/build.zig.zon.nix index 905ee1ec3..3cfa8f280 100644 --- a/build.zig.zon.nix +++ b/build.zig.zon.nix @@ -82,6 +82,14 @@ fetcher.${proto}; in linkFarm name [ + { + name = "N-V-__8AANT61wB--nJ95Gj_ctmzAtcjloZ__hRqNw5lC1Kr"; + path = fetchZigArtifact { + name = "bindings"; + url = "https://deps.files.ghostty.org/DearBindings_v0.17_ImGui_v1.92.5-docking.tar.gz"; + hash = "sha256-i/7FAOAJJvZ5hT7iPWfMOS08MYFzPKRwRzhlHT9wuqM="; + }; + } { name = "N-V-__8AALw2uwF_03u4JRkZwRLc3Y9hakkYV7NKRR9-RIZJ"; path = fetchZigArtifact { @@ -155,11 +163,11 @@ in }; } { - name = "N-V-__8AAH0GaQC8a52s6vfIxg88OZgFgEW6DFxfSK4lX_l3"; + name = "N-V-__8AAEbOfQBnvcFcCX2W5z7tDaN8vaNZGamEQtNOe0UI"; path = fetchZigArtifact { name = "imgui"; - url = "https://deps.files.ghostty.org/imgui-1220bc6b9daceaf7c8c60f3c3998058045ba0c5c5f48ae255ff97776d9cd8bfc6402.tar.gz"; - hash = "sha256-oF/QHgTPEat4Hig4fGIdLkIPHmBEyOJ6JeYD6pnveGA="; + url = "https://github.com/ocornut/imgui/archive/refs/tags/v1.92.5-docking.tar.gz"; + hash = "sha256-yBbCDox18+Fa6Gc1DnmSVQLRpqhZOLsac7iSfl8x+cs="; }; } { diff --git a/build.zig.zon.txt b/build.zig.zon.txt index 09cf8007c..c84b24638 100644 --- a/build.zig.zon.txt +++ b/build.zig.zon.txt @@ -1,4 +1,5 @@ git+https://github.com/jacobsandlund/uucode#5f05f8f83a75caea201f12cc8ea32a2d82ea9732 +https://deps.files.ghostty.org/DearBindings_v0.17_ImGui_v1.92.5-docking.tar.gz https://deps.files.ghostty.org/JetBrainsMono-2.304.tar.gz https://deps.files.ghostty.org/NerdFontsSymbolsOnly-3.4.0.tar.gz https://deps.files.ghostty.org/breakpad-b99f444ba5f6b98cac261cbb391d8766b34a5918.tar.gz @@ -11,7 +12,6 @@ https://deps.files.ghostty.org/gobject-2025-11-08-23-1.tar.zst https://deps.files.ghostty.org/gtk4-layer-shell-1.1.0.tar.gz https://deps.files.ghostty.org/harfbuzz-11.0.0.tar.xz https://deps.files.ghostty.org/highway-66486a10623fa0d72fe91260f96c892e41aceb06.tar.gz -https://deps.files.ghostty.org/imgui-1220bc6b9daceaf7c8c60f3c3998058045ba0c5c5f48ae255ff97776d9cd8bfc6402.tar.gz https://deps.files.ghostty.org/libpng-1220aa013f0c83da3fb64ea6d327f9173fa008d10e28bc9349eac3463457723b1c66.tar.gz https://deps.files.ghostty.org/libxev-34fa50878aec6e5fa8f532867001ab3c36fae23e.tar.gz https://deps.files.ghostty.org/libxml2-2.11.5.tar.gz @@ -32,4 +32,5 @@ https://deps.files.ghostty.org/zig_objc-f356ed02833f0f1b8e84d50bed9e807bf7cdc0ae https://deps.files.ghostty.org/zig_wayland-1b5c038ec10da20ed3a15b0b2a6db1c21383e8ea.tar.gz https://deps.files.ghostty.org/zlib-1220fed0c74e1019b3ee29edae2051788b080cd96e90d56836eea857b0b966742efb.tar.gz https://github.com/ivanstepanovftw/zigimg/archive/d7b7ab0ba0899643831ef042bd73289510b39906.tar.gz +https://github.com/ocornut/imgui/archive/refs/tags/v1.92.5-docking.tar.gz https://github.com/vancluever/z2d/archive/refs/tags/v0.10.0.tar.gz diff --git a/flatpak/zig-packages.json b/flatpak/zig-packages.json index 03907fba1..b511a4f27 100644 --- a/flatpak/zig-packages.json +++ b/flatpak/zig-packages.json @@ -1,4 +1,10 @@ [ + { + "type": "archive", + "url": "https://deps.files.ghostty.org/DearBindings_v0.17_ImGui_v1.92.5-docking.tar.gz", + "dest": "vendor/p/N-V-__8AANT61wB--nJ95Gj_ctmzAtcjloZ__hRqNw5lC1Kr", + "sha256": "8bfec500e00926f679853ee23d67cc392d3c3181733ca4704738651d3f70baa3" + }, { "type": "archive", "url": "https://deps.files.ghostty.org/breakpad-b99f444ba5f6b98cac261cbb391d8766b34a5918.tar.gz", @@ -55,9 +61,9 @@ }, { "type": "archive", - "url": "https://deps.files.ghostty.org/imgui-1220bc6b9daceaf7c8c60f3c3998058045ba0c5c5f48ae255ff97776d9cd8bfc6402.tar.gz", - "dest": "vendor/p/N-V-__8AAH0GaQC8a52s6vfIxg88OZgFgEW6DFxfSK4lX_l3", - "sha256": "a05fd01e04cf11ab781e28387c621d2e420f1e6044c8e27a25e603ea99ef7860" + "url": "https://github.com/ocornut/imgui/archive/refs/tags/v1.92.5-docking.tar.gz", + "dest": "vendor/p/N-V-__8AAEbOfQBnvcFcCX2W5z7tDaN8vaNZGamEQtNOe0UI", + "sha256": "c816c20e8c75f3e15ae867350e79925502d1a6a85938bb1a73b8927e5f31f9cb" }, { "type": "archive", diff --git a/pkg/cimgui/build.zig b/pkg/cimgui/build.zig deleted file mode 100644 index 890873ef9..000000000 --- a/pkg/cimgui/build.zig +++ /dev/null @@ -1,129 +0,0 @@ -const std = @import("std"); -const NativeTargetInfo = std.zig.system.NativeTargetInfo; - -pub fn build(b: *std.Build) !void { - const target = b.standardTargetOptions(.{}); - const optimize = b.standardOptimizeOption(.{}); - - const module = b.addModule("cimgui", .{ - .root_source_file = b.path("main.zig"), - .target = target, - .optimize = optimize, - }); - - const imgui_ = b.lazyDependency("imgui", .{}); - const lib = b.addLibrary(.{ - .name = "cimgui", - .root_module = b.createModule(.{ - .target = target, - .optimize = optimize, - }), - .linkage = .static, - }); - lib.linkLibC(); - lib.linkLibCpp(); - if (target.result.os.tag == .windows) { - lib.linkSystemLibrary("imm32"); - } - - // For dynamic linking, we prefer dynamic linking and to search by - // mode first. Mode first will search all paths for a dynamic library - // before falling back to static. - const dynamic_link_opts: std.Build.Module.LinkSystemLibraryOptions = .{ - .preferred_link_mode = .dynamic, - .search_strategy = .mode_first, - }; - - if (b.systemIntegrationOption("freetype", .{})) { - lib.linkSystemLibrary2("freetype2", dynamic_link_opts); - } else { - const freetype = b.dependency("freetype", .{ - .target = target, - .optimize = optimize, - .@"enable-libpng" = true, - }); - lib.linkLibrary(freetype.artifact("freetype")); - - if (freetype.builder.lazyDependency( - "freetype", - .{}, - )) |freetype_dep| { - module.addIncludePath(freetype_dep.path("include")); - } - } - - if (imgui_) |imgui| lib.addIncludePath(imgui.path("")); - module.addIncludePath(b.path("vendor")); - - var flags: std.ArrayList([]const u8) = .empty; - defer flags.deinit(b.allocator); - try flags.appendSlice(b.allocator, &.{ - "-DCIMGUI_FREETYPE=1", - "-DIMGUI_USE_WCHAR32=1", - "-DIMGUI_DISABLE_OBSOLETE_FUNCTIONS=1", - }); - if (target.result.os.tag == .windows) { - try flags.appendSlice(b.allocator, &.{ - "-DIMGUI_IMPL_API=extern\t\"C\"\t__declspec(dllexport)", - }); - } else { - try flags.appendSlice(b.allocator, &.{ - "-DIMGUI_IMPL_API=extern\t\"C\"", - }); - } - - if (target.result.os.tag == .freebsd) { - try flags.append(b.allocator, "-fPIC"); - } - - if (imgui_) |imgui| { - lib.addCSourceFile(.{ .file = b.path("vendor/cimgui.cpp"), .flags = flags.items }); - lib.addCSourceFile(.{ .file = imgui.path("imgui.cpp"), .flags = flags.items }); - lib.addCSourceFile(.{ .file = imgui.path("imgui_draw.cpp"), .flags = flags.items }); - lib.addCSourceFile(.{ .file = imgui.path("imgui_demo.cpp"), .flags = flags.items }); - lib.addCSourceFile(.{ .file = imgui.path("imgui_widgets.cpp"), .flags = flags.items }); - lib.addCSourceFile(.{ .file = imgui.path("imgui_tables.cpp"), .flags = flags.items }); - lib.addCSourceFile(.{ .file = imgui.path("misc/freetype/imgui_freetype.cpp"), .flags = flags.items }); - lib.addCSourceFile(.{ - .file = imgui.path("backends/imgui_impl_opengl3.cpp"), - .flags = flags.items, - }); - - if (target.result.os.tag.isDarwin()) { - if (!target.query.isNative()) { - try @import("apple_sdk").addPaths(b, lib); - } - lib.addCSourceFile(.{ - .file = imgui.path("backends/imgui_impl_metal.mm"), - .flags = flags.items, - }); - if (target.result.os.tag == .macos) { - lib.addCSourceFile(.{ - .file = imgui.path("backends/imgui_impl_osx.mm"), - .flags = flags.items, - }); - } - } - } - - lib.installHeadersDirectory( - b.path("vendor"), - "", - .{ .include_extensions = &.{".h"} }, - ); - - b.installArtifact(lib); - - const test_exe = b.addTest(.{ - .name = "test", - .root_module = b.createModule(.{ - .root_source_file = b.path("main.zig"), - .target = target, - .optimize = optimize, - }), - }); - test_exe.linkLibrary(lib); - const tests_run = b.addRunArtifact(test_exe); - const test_step = b.step("test", "Run tests"); - test_step.dependOn(&tests_run.step); -} diff --git a/pkg/cimgui/build.zig.zon b/pkg/cimgui/build.zig.zon deleted file mode 100644 index f539a8fd6..000000000 --- a/pkg/cimgui/build.zig.zon +++ /dev/null @@ -1,19 +0,0 @@ -.{ - .name = .cimgui, - .version = "1.90.6", // -docking branch - .fingerprint = 0x49726f5f8acbc90d, - .paths = .{""}, - .dependencies = .{ - // This should be kept in sync with the submodule in the cimgui source - // code in ./vendor/ to be safe that they're compatible. - .imgui = .{ - // ocornut/imgui - .url = "https://deps.files.ghostty.org/imgui-1220bc6b9daceaf7c8c60f3c3998058045ba0c5c5f48ae255ff97776d9cd8bfc6402.tar.gz", - .hash = "N-V-__8AAH0GaQC8a52s6vfIxg88OZgFgEW6DFxfSK4lX_l3", - .lazy = true, - }, - - .apple_sdk = .{ .path = "../apple-sdk" }, - .freetype = .{ .path = "../freetype" }, - }, -} diff --git a/pkg/cimgui/c.zig b/pkg/cimgui/c.zig deleted file mode 100644 index f9b8ff920..000000000 --- a/pkg/cimgui/c.zig +++ /dev/null @@ -1,4 +0,0 @@ -pub const c = @cImport({ - @cDefine("CIMGUI_DEFINE_ENUMS_AND_STRUCTS", "1"); - @cInclude("cimgui.h"); -}); diff --git a/pkg/cimgui/main.zig b/pkg/cimgui/main.zig deleted file mode 100644 index b890a49ee..000000000 --- a/pkg/cimgui/main.zig +++ /dev/null @@ -1,20 +0,0 @@ -pub const c = @import("c.zig").c; - -// OpenGL -pub extern fn ImGui_ImplOpenGL3_Init(?[*:0]const u8) callconv(.c) bool; -pub extern fn ImGui_ImplOpenGL3_Shutdown() callconv(.c) void; -pub extern fn ImGui_ImplOpenGL3_NewFrame() callconv(.c) void; -pub extern fn ImGui_ImplOpenGL3_RenderDrawData(*c.ImDrawData) callconv(.c) void; - -// Metal -pub extern fn ImGui_ImplMetal_Init(*anyopaque) callconv(.c) bool; -pub extern fn ImGui_ImplMetal_Shutdown() callconv(.c) void; -pub extern fn ImGui_ImplMetal_NewFrame(*anyopaque) callconv(.c) void; -pub extern fn ImGui_ImplMetal_RenderDrawData(*c.ImDrawData, *anyopaque, *anyopaque) callconv(.c) void; - -// OSX -pub extern fn ImGui_ImplOSX_Init(*anyopaque) callconv(.c) bool; -pub extern fn ImGui_ImplOSX_Shutdown() callconv(.c) void; -pub extern fn ImGui_ImplOSX_NewFrame(*anyopaque) callconv(.c) void; - -test {} diff --git a/pkg/cimgui/vendor/cimgui.cpp b/pkg/cimgui/vendor/cimgui.cpp deleted file mode 100644 index 3b36df7d9..000000000 --- a/pkg/cimgui/vendor/cimgui.cpp +++ /dev/null @@ -1,5943 +0,0 @@ -// This file is automatically generated by generator.lua from -// https://github.com/cimgui/cimgui based on imgui.h file version "1.90.6" 19060 -// from Dear ImGui https://github.com/ocornut/imgui with imgui_internal.h api -// docking branch -#define IMGUI_ENABLE_FREETYPE -#ifdef IMGUI_ENABLE_FREETYPE -#ifndef CIMGUI_FREETYPE -#error "IMGUI_FREETYPE should be defined for Freetype linking" -#endif -#else -#ifdef CIMGUI_FREETYPE -#error "IMGUI_FREETYPE should not be defined without freetype generated cimgui" -#endif -#endif -#include "imgui.h" -#ifdef IMGUI_ENABLE_FREETYPE -#include "misc/freetype/imgui_freetype.h" -#endif -#include "imgui_internal.h" - -#include "cimgui.h" - -CIMGUI_API ImVec2* ImVec2_ImVec2_Nil(void) { - return IM_NEW(ImVec2)(); -} -CIMGUI_API void ImVec2_destroy(ImVec2* self) { - IM_DELETE(self); -} -CIMGUI_API ImVec2* ImVec2_ImVec2_Float(float _x, float _y) { - return IM_NEW(ImVec2)(_x, _y); -} -CIMGUI_API ImVec4* ImVec4_ImVec4_Nil(void) { - return IM_NEW(ImVec4)(); -} -CIMGUI_API void ImVec4_destroy(ImVec4* self) { - IM_DELETE(self); -} -CIMGUI_API ImVec4* ImVec4_ImVec4_Float(float _x, float _y, float _z, float _w) { - return IM_NEW(ImVec4)(_x, _y, _z, _w); -} -CIMGUI_API ImGuiContext* igCreateContext(ImFontAtlas* shared_font_atlas) { - return ImGui::CreateContext(shared_font_atlas); -} -CIMGUI_API void igDestroyContext(ImGuiContext* ctx) { - return ImGui::DestroyContext(ctx); -} -CIMGUI_API ImGuiContext* igGetCurrentContext() { - return ImGui::GetCurrentContext(); -} -CIMGUI_API void igSetCurrentContext(ImGuiContext* ctx) { - return ImGui::SetCurrentContext(ctx); -} -CIMGUI_API ImGuiIO* igGetIO() { - return &ImGui::GetIO(); -} -CIMGUI_API ImGuiStyle* igGetStyle() { - return &ImGui::GetStyle(); -} -CIMGUI_API void igNewFrame() { - return ImGui::NewFrame(); -} -CIMGUI_API void igEndFrame() { - return ImGui::EndFrame(); -} -CIMGUI_API void igRender() { - return ImGui::Render(); -} -CIMGUI_API ImDrawData* igGetDrawData() { - return ImGui::GetDrawData(); -} -CIMGUI_API void igShowDemoWindow(bool* p_open) { - return ImGui::ShowDemoWindow(p_open); -} -CIMGUI_API void igShowMetricsWindow(bool* p_open) { - return ImGui::ShowMetricsWindow(p_open); -} -CIMGUI_API void igShowDebugLogWindow(bool* p_open) { - return ImGui::ShowDebugLogWindow(p_open); -} -CIMGUI_API void igShowIDStackToolWindow(bool* p_open) { - return ImGui::ShowIDStackToolWindow(p_open); -} -CIMGUI_API void igShowAboutWindow(bool* p_open) { - return ImGui::ShowAboutWindow(p_open); -} -CIMGUI_API void igShowStyleEditor(ImGuiStyle* ref) { - return ImGui::ShowStyleEditor(ref); -} -CIMGUI_API bool igShowStyleSelector(const char* label) { - return ImGui::ShowStyleSelector(label); -} -CIMGUI_API void igShowFontSelector(const char* label) { - return ImGui::ShowFontSelector(label); -} -CIMGUI_API void igShowUserGuide() { - return ImGui::ShowUserGuide(); -} -CIMGUI_API const char* igGetVersion() { - return ImGui::GetVersion(); -} -CIMGUI_API void igStyleColorsDark(ImGuiStyle* dst) { - return ImGui::StyleColorsDark(dst); -} -CIMGUI_API void igStyleColorsLight(ImGuiStyle* dst) { - return ImGui::StyleColorsLight(dst); -} -CIMGUI_API void igStyleColorsClassic(ImGuiStyle* dst) { - return ImGui::StyleColorsClassic(dst); -} -CIMGUI_API bool igBegin(const char* name, - bool* p_open, - ImGuiWindowFlags flags) { - return ImGui::Begin(name, p_open, flags); -} -CIMGUI_API void igEnd() { - return ImGui::End(); -} -CIMGUI_API bool igBeginChild_Str(const char* str_id, - const ImVec2 size, - ImGuiChildFlags child_flags, - ImGuiWindowFlags window_flags) { - return ImGui::BeginChild(str_id, size, child_flags, window_flags); -} -CIMGUI_API bool igBeginChild_ID(ImGuiID id, - const ImVec2 size, - ImGuiChildFlags child_flags, - ImGuiWindowFlags window_flags) { - return ImGui::BeginChild(id, size, child_flags, window_flags); -} -CIMGUI_API void igEndChild() { - return ImGui::EndChild(); -} -CIMGUI_API bool igIsWindowAppearing() { - return ImGui::IsWindowAppearing(); -} -CIMGUI_API bool igIsWindowCollapsed() { - return ImGui::IsWindowCollapsed(); -} -CIMGUI_API bool igIsWindowFocused(ImGuiFocusedFlags flags) { - return ImGui::IsWindowFocused(flags); -} -CIMGUI_API bool igIsWindowHovered(ImGuiHoveredFlags flags) { - return ImGui::IsWindowHovered(flags); -} -CIMGUI_API ImDrawList* igGetWindowDrawList() { - return ImGui::GetWindowDrawList(); -} -CIMGUI_API float igGetWindowDpiScale() { - return ImGui::GetWindowDpiScale(); -} -CIMGUI_API void igGetWindowPos(ImVec2* pOut) { - *pOut = ImGui::GetWindowPos(); -} -CIMGUI_API void igGetWindowSize(ImVec2* pOut) { - *pOut = ImGui::GetWindowSize(); -} -CIMGUI_API float igGetWindowWidth() { - return ImGui::GetWindowWidth(); -} -CIMGUI_API float igGetWindowHeight() { - return ImGui::GetWindowHeight(); -} -CIMGUI_API ImGuiViewport* igGetWindowViewport() { - return ImGui::GetWindowViewport(); -} -CIMGUI_API void igSetNextWindowPos(const ImVec2 pos, - ImGuiCond cond, - const ImVec2 pivot) { - return ImGui::SetNextWindowPos(pos, cond, pivot); -} -CIMGUI_API void igSetNextWindowSize(const ImVec2 size, ImGuiCond cond) { - return ImGui::SetNextWindowSize(size, cond); -} -CIMGUI_API void igSetNextWindowSizeConstraints( - const ImVec2 size_min, - const ImVec2 size_max, - ImGuiSizeCallback custom_callback, - void* custom_callback_data) { - return ImGui::SetNextWindowSizeConstraints( - size_min, size_max, custom_callback, custom_callback_data); -} -CIMGUI_API void igSetNextWindowContentSize(const ImVec2 size) { - return ImGui::SetNextWindowContentSize(size); -} -CIMGUI_API void igSetNextWindowCollapsed(bool collapsed, ImGuiCond cond) { - return ImGui::SetNextWindowCollapsed(collapsed, cond); -} -CIMGUI_API void igSetNextWindowFocus() { - return ImGui::SetNextWindowFocus(); -} -CIMGUI_API void igSetNextWindowScroll(const ImVec2 scroll) { - return ImGui::SetNextWindowScroll(scroll); -} -CIMGUI_API void igSetNextWindowBgAlpha(float alpha) { - return ImGui::SetNextWindowBgAlpha(alpha); -} -CIMGUI_API void igSetNextWindowViewport(ImGuiID viewport_id) { - return ImGui::SetNextWindowViewport(viewport_id); -} -CIMGUI_API void igSetWindowPos_Vec2(const ImVec2 pos, ImGuiCond cond) { - return ImGui::SetWindowPos(pos, cond); -} -CIMGUI_API void igSetWindowSize_Vec2(const ImVec2 size, ImGuiCond cond) { - return ImGui::SetWindowSize(size, cond); -} -CIMGUI_API void igSetWindowCollapsed_Bool(bool collapsed, ImGuiCond cond) { - return ImGui::SetWindowCollapsed(collapsed, cond); -} -CIMGUI_API void igSetWindowFocus_Nil() { - return ImGui::SetWindowFocus(); -} -CIMGUI_API void igSetWindowFontScale(float scale) { - return ImGui::SetWindowFontScale(scale); -} -CIMGUI_API void igSetWindowPos_Str(const char* name, - const ImVec2 pos, - ImGuiCond cond) { - return ImGui::SetWindowPos(name, pos, cond); -} -CIMGUI_API void igSetWindowSize_Str(const char* name, - const ImVec2 size, - ImGuiCond cond) { - return ImGui::SetWindowSize(name, size, cond); -} -CIMGUI_API void igSetWindowCollapsed_Str(const char* name, - bool collapsed, - ImGuiCond cond) { - return ImGui::SetWindowCollapsed(name, collapsed, cond); -} -CIMGUI_API void igSetWindowFocus_Str(const char* name) { - return ImGui::SetWindowFocus(name); -} -CIMGUI_API void igGetContentRegionAvail(ImVec2* pOut) { - *pOut = ImGui::GetContentRegionAvail(); -} -CIMGUI_API void igGetContentRegionMax(ImVec2* pOut) { - *pOut = ImGui::GetContentRegionMax(); -} -CIMGUI_API void igGetWindowContentRegionMin(ImVec2* pOut) { - *pOut = ImGui::GetWindowContentRegionMin(); -} -CIMGUI_API void igGetWindowContentRegionMax(ImVec2* pOut) { - *pOut = ImGui::GetWindowContentRegionMax(); -} -CIMGUI_API float igGetScrollX() { - return ImGui::GetScrollX(); -} -CIMGUI_API float igGetScrollY() { - return ImGui::GetScrollY(); -} -CIMGUI_API void igSetScrollX_Float(float scroll_x) { - return ImGui::SetScrollX(scroll_x); -} -CIMGUI_API void igSetScrollY_Float(float scroll_y) { - return ImGui::SetScrollY(scroll_y); -} -CIMGUI_API float igGetScrollMaxX() { - return ImGui::GetScrollMaxX(); -} -CIMGUI_API float igGetScrollMaxY() { - return ImGui::GetScrollMaxY(); -} -CIMGUI_API void igSetScrollHereX(float center_x_ratio) { - return ImGui::SetScrollHereX(center_x_ratio); -} -CIMGUI_API void igSetScrollHereY(float center_y_ratio) { - return ImGui::SetScrollHereY(center_y_ratio); -} -CIMGUI_API void igSetScrollFromPosX_Float(float local_x, float center_x_ratio) { - return ImGui::SetScrollFromPosX(local_x, center_x_ratio); -} -CIMGUI_API void igSetScrollFromPosY_Float(float local_y, float center_y_ratio) { - return ImGui::SetScrollFromPosY(local_y, center_y_ratio); -} -CIMGUI_API void igPushFont(ImFont* font) { - return ImGui::PushFont(font); -} -CIMGUI_API void igPopFont() { - return ImGui::PopFont(); -} -CIMGUI_API void igPushStyleColor_U32(ImGuiCol idx, ImU32 col) { - return ImGui::PushStyleColor(idx, col); -} -CIMGUI_API void igPushStyleColor_Vec4(ImGuiCol idx, const ImVec4 col) { - return ImGui::PushStyleColor(idx, col); -} -CIMGUI_API void igPopStyleColor(int count) { - return ImGui::PopStyleColor(count); -} -CIMGUI_API void igPushStyleVar_Float(ImGuiStyleVar idx, float val) { - return ImGui::PushStyleVar(idx, val); -} -CIMGUI_API void igPushStyleVar_Vec2(ImGuiStyleVar idx, const ImVec2 val) { - return ImGui::PushStyleVar(idx, val); -} -CIMGUI_API void igPopStyleVar(int count) { - return ImGui::PopStyleVar(count); -} -CIMGUI_API void igPushTabStop(bool tab_stop) { - return ImGui::PushTabStop(tab_stop); -} -CIMGUI_API void igPopTabStop() { - return ImGui::PopTabStop(); -} -CIMGUI_API void igPushButtonRepeat(bool repeat) { - return ImGui::PushButtonRepeat(repeat); -} -CIMGUI_API void igPopButtonRepeat() { - return ImGui::PopButtonRepeat(); -} -CIMGUI_API void igPushItemWidth(float item_width) { - return ImGui::PushItemWidth(item_width); -} -CIMGUI_API void igPopItemWidth() { - return ImGui::PopItemWidth(); -} -CIMGUI_API void igSetNextItemWidth(float item_width) { - return ImGui::SetNextItemWidth(item_width); -} -CIMGUI_API float igCalcItemWidth() { - return ImGui::CalcItemWidth(); -} -CIMGUI_API void igPushTextWrapPos(float wrap_local_pos_x) { - return ImGui::PushTextWrapPos(wrap_local_pos_x); -} -CIMGUI_API void igPopTextWrapPos() { - return ImGui::PopTextWrapPos(); -} -CIMGUI_API ImFont* igGetFont() { - return ImGui::GetFont(); -} -CIMGUI_API float igGetFontSize() { - return ImGui::GetFontSize(); -} -CIMGUI_API void igGetFontTexUvWhitePixel(ImVec2* pOut) { - *pOut = ImGui::GetFontTexUvWhitePixel(); -} -CIMGUI_API ImU32 igGetColorU32_Col(ImGuiCol idx, float alpha_mul) { - return ImGui::GetColorU32(idx, alpha_mul); -} -CIMGUI_API ImU32 igGetColorU32_Vec4(const ImVec4 col) { - return ImGui::GetColorU32(col); -} -CIMGUI_API ImU32 igGetColorU32_U32(ImU32 col, float alpha_mul) { - return ImGui::GetColorU32(col, alpha_mul); -} -CIMGUI_API const ImVec4* igGetStyleColorVec4(ImGuiCol idx) { - return &ImGui::GetStyleColorVec4(idx); -} -CIMGUI_API void igGetCursorScreenPos(ImVec2* pOut) { - *pOut = ImGui::GetCursorScreenPos(); -} -CIMGUI_API void igSetCursorScreenPos(const ImVec2 pos) { - return ImGui::SetCursorScreenPos(pos); -} -CIMGUI_API void igGetCursorPos(ImVec2* pOut) { - *pOut = ImGui::GetCursorPos(); -} -CIMGUI_API float igGetCursorPosX() { - return ImGui::GetCursorPosX(); -} -CIMGUI_API float igGetCursorPosY() { - return ImGui::GetCursorPosY(); -} -CIMGUI_API void igSetCursorPos(const ImVec2 local_pos) { - return ImGui::SetCursorPos(local_pos); -} -CIMGUI_API void igSetCursorPosX(float local_x) { - return ImGui::SetCursorPosX(local_x); -} -CIMGUI_API void igSetCursorPosY(float local_y) { - return ImGui::SetCursorPosY(local_y); -} -CIMGUI_API void igGetCursorStartPos(ImVec2* pOut) { - *pOut = ImGui::GetCursorStartPos(); -} -CIMGUI_API void igSeparator() { - return ImGui::Separator(); -} -CIMGUI_API void igSameLine(float offset_from_start_x, float spacing) { - return ImGui::SameLine(offset_from_start_x, spacing); -} -CIMGUI_API void igNewLine() { - return ImGui::NewLine(); -} -CIMGUI_API void igSpacing() { - return ImGui::Spacing(); -} -CIMGUI_API void igDummy(const ImVec2 size) { - return ImGui::Dummy(size); -} -CIMGUI_API void igIndent(float indent_w) { - return ImGui::Indent(indent_w); -} -CIMGUI_API void igUnindent(float indent_w) { - return ImGui::Unindent(indent_w); -} -CIMGUI_API void igBeginGroup() { - return ImGui::BeginGroup(); -} -CIMGUI_API void igEndGroup() { - return ImGui::EndGroup(); -} -CIMGUI_API void igAlignTextToFramePadding() { - return ImGui::AlignTextToFramePadding(); -} -CIMGUI_API float igGetTextLineHeight() { - return ImGui::GetTextLineHeight(); -} -CIMGUI_API float igGetTextLineHeightWithSpacing() { - return ImGui::GetTextLineHeightWithSpacing(); -} -CIMGUI_API float igGetFrameHeight() { - return ImGui::GetFrameHeight(); -} -CIMGUI_API float igGetFrameHeightWithSpacing() { - return ImGui::GetFrameHeightWithSpacing(); -} -CIMGUI_API void igPushID_Str(const char* str_id) { - return ImGui::PushID(str_id); -} -CIMGUI_API void igPushID_StrStr(const char* str_id_begin, - const char* str_id_end) { - return ImGui::PushID(str_id_begin, str_id_end); -} -CIMGUI_API void igPushID_Ptr(const void* ptr_id) { - return ImGui::PushID(ptr_id); -} -CIMGUI_API void igPushID_Int(int int_id) { - return ImGui::PushID(int_id); -} -CIMGUI_API void igPopID() { - return ImGui::PopID(); -} -CIMGUI_API ImGuiID igGetID_Str(const char* str_id) { - return ImGui::GetID(str_id); -} -CIMGUI_API ImGuiID igGetID_StrStr(const char* str_id_begin, - const char* str_id_end) { - return ImGui::GetID(str_id_begin, str_id_end); -} -CIMGUI_API ImGuiID igGetID_Ptr(const void* ptr_id) { - return ImGui::GetID(ptr_id); -} -CIMGUI_API void igTextUnformatted(const char* text, const char* text_end) { - return ImGui::TextUnformatted(text, text_end); -} -CIMGUI_API void igText(const char* fmt, ...) { - va_list args; - va_start(args, fmt); - ImGui::TextV(fmt, args); - va_end(args); -} -CIMGUI_API void igTextV(const char* fmt, va_list args) { - return ImGui::TextV(fmt, args); -} -CIMGUI_API void igTextColored(const ImVec4 col, const char* fmt, ...) { - va_list args; - va_start(args, fmt); - ImGui::TextColoredV(col, fmt, args); - va_end(args); -} -CIMGUI_API void igTextColoredV(const ImVec4 col, - const char* fmt, - va_list args) { - return ImGui::TextColoredV(col, fmt, args); -} -CIMGUI_API void igTextDisabled(const char* fmt, ...) { - va_list args; - va_start(args, fmt); - ImGui::TextDisabledV(fmt, args); - va_end(args); -} -CIMGUI_API void igTextDisabledV(const char* fmt, va_list args) { - return ImGui::TextDisabledV(fmt, args); -} -CIMGUI_API void igTextWrapped(const char* fmt, ...) { - va_list args; - va_start(args, fmt); - ImGui::TextWrappedV(fmt, args); - va_end(args); -} -CIMGUI_API void igTextWrappedV(const char* fmt, va_list args) { - return ImGui::TextWrappedV(fmt, args); -} -CIMGUI_API void igLabelText(const char* label, const char* fmt, ...) { - va_list args; - va_start(args, fmt); - ImGui::LabelTextV(label, fmt, args); - va_end(args); -} -CIMGUI_API void igLabelTextV(const char* label, const char* fmt, va_list args) { - return ImGui::LabelTextV(label, fmt, args); -} -CIMGUI_API void igBulletText(const char* fmt, ...) { - va_list args; - va_start(args, fmt); - ImGui::BulletTextV(fmt, args); - va_end(args); -} -CIMGUI_API void igBulletTextV(const char* fmt, va_list args) { - return ImGui::BulletTextV(fmt, args); -} -CIMGUI_API void igSeparatorText(const char* label) { - return ImGui::SeparatorText(label); -} -CIMGUI_API bool igButton(const char* label, const ImVec2 size) { - return ImGui::Button(label, size); -} -CIMGUI_API bool igSmallButton(const char* label) { - return ImGui::SmallButton(label); -} -CIMGUI_API bool igInvisibleButton(const char* str_id, - const ImVec2 size, - ImGuiButtonFlags flags) { - return ImGui::InvisibleButton(str_id, size, flags); -} -CIMGUI_API bool igArrowButton(const char* str_id, ImGuiDir dir) { - return ImGui::ArrowButton(str_id, dir); -} -CIMGUI_API bool igCheckbox(const char* label, bool* v) { - return ImGui::Checkbox(label, v); -} -CIMGUI_API bool igCheckboxFlags_IntPtr(const char* label, - int* flags, - int flags_value) { - return ImGui::CheckboxFlags(label, flags, flags_value); -} -CIMGUI_API bool igCheckboxFlags_UintPtr(const char* label, - unsigned int* flags, - unsigned int flags_value) { - return ImGui::CheckboxFlags(label, flags, flags_value); -} -CIMGUI_API bool igRadioButton_Bool(const char* label, bool active) { - return ImGui::RadioButton(label, active); -} -CIMGUI_API bool igRadioButton_IntPtr(const char* label, int* v, int v_button) { - return ImGui::RadioButton(label, v, v_button); -} -CIMGUI_API void igProgressBar(float fraction, - const ImVec2 size_arg, - const char* overlay) { - return ImGui::ProgressBar(fraction, size_arg, overlay); -} -CIMGUI_API void igBullet() { - return ImGui::Bullet(); -} -CIMGUI_API void igImage(ImTextureID user_texture_id, - const ImVec2 image_size, - const ImVec2 uv0, - const ImVec2 uv1, - const ImVec4 tint_col, - const ImVec4 border_col) { - return ImGui::Image(user_texture_id, image_size, uv0, uv1, tint_col, - border_col); -} -CIMGUI_API bool igImageButton(const char* str_id, - ImTextureID user_texture_id, - const ImVec2 image_size, - const ImVec2 uv0, - const ImVec2 uv1, - const ImVec4 bg_col, - const ImVec4 tint_col) { - return ImGui::ImageButton(str_id, user_texture_id, image_size, uv0, uv1, - bg_col, tint_col); -} -CIMGUI_API bool igBeginCombo(const char* label, - const char* preview_value, - ImGuiComboFlags flags) { - return ImGui::BeginCombo(label, preview_value, flags); -} -CIMGUI_API void igEndCombo() { - return ImGui::EndCombo(); -} -CIMGUI_API bool igCombo_Str_arr(const char* label, - int* current_item, - const char* const items[], - int items_count, - int popup_max_height_in_items) { - return ImGui::Combo(label, current_item, items, items_count, - popup_max_height_in_items); -} -CIMGUI_API bool igCombo_Str(const char* label, - int* current_item, - const char* items_separated_by_zeros, - int popup_max_height_in_items) { - return ImGui::Combo(label, current_item, items_separated_by_zeros, - popup_max_height_in_items); -} -CIMGUI_API bool igCombo_FnStrPtr(const char* label, - int* current_item, - const char* (*getter)(void* user_data, - int idx), - void* user_data, - int items_count, - int popup_max_height_in_items) { - return ImGui::Combo(label, current_item, getter, user_data, items_count, - popup_max_height_in_items); -} -CIMGUI_API bool igDragFloat(const char* label, - float* v, - float v_speed, - float v_min, - float v_max, - const char* format, - ImGuiSliderFlags flags) { - return ImGui::DragFloat(label, v, v_speed, v_min, v_max, format, flags); -} -CIMGUI_API bool igDragFloat2(const char* label, - float v[2], - float v_speed, - float v_min, - float v_max, - const char* format, - ImGuiSliderFlags flags) { - return ImGui::DragFloat2(label, v, v_speed, v_min, v_max, format, flags); -} -CIMGUI_API bool igDragFloat3(const char* label, - float v[3], - float v_speed, - float v_min, - float v_max, - const char* format, - ImGuiSliderFlags flags) { - return ImGui::DragFloat3(label, v, v_speed, v_min, v_max, format, flags); -} -CIMGUI_API bool igDragFloat4(const char* label, - float v[4], - float v_speed, - float v_min, - float v_max, - const char* format, - ImGuiSliderFlags flags) { - return ImGui::DragFloat4(label, v, v_speed, v_min, v_max, format, flags); -} -CIMGUI_API bool igDragFloatRange2(const char* label, - float* v_current_min, - float* v_current_max, - float v_speed, - float v_min, - float v_max, - const char* format, - const char* format_max, - ImGuiSliderFlags flags) { - return ImGui::DragFloatRange2(label, v_current_min, v_current_max, v_speed, - v_min, v_max, format, format_max, flags); -} -CIMGUI_API bool igDragInt(const char* label, - int* v, - float v_speed, - int v_min, - int v_max, - const char* format, - ImGuiSliderFlags flags) { - return ImGui::DragInt(label, v, v_speed, v_min, v_max, format, flags); -} -CIMGUI_API bool igDragInt2(const char* label, - int v[2], - float v_speed, - int v_min, - int v_max, - const char* format, - ImGuiSliderFlags flags) { - return ImGui::DragInt2(label, v, v_speed, v_min, v_max, format, flags); -} -CIMGUI_API bool igDragInt3(const char* label, - int v[3], - float v_speed, - int v_min, - int v_max, - const char* format, - ImGuiSliderFlags flags) { - return ImGui::DragInt3(label, v, v_speed, v_min, v_max, format, flags); -} -CIMGUI_API bool igDragInt4(const char* label, - int v[4], - float v_speed, - int v_min, - int v_max, - const char* format, - ImGuiSliderFlags flags) { - return ImGui::DragInt4(label, v, v_speed, v_min, v_max, format, flags); -} -CIMGUI_API bool igDragIntRange2(const char* label, - int* v_current_min, - int* v_current_max, - float v_speed, - int v_min, - int v_max, - const char* format, - const char* format_max, - ImGuiSliderFlags flags) { - return ImGui::DragIntRange2(label, v_current_min, v_current_max, v_speed, - v_min, v_max, format, format_max, flags); -} -CIMGUI_API bool igDragScalar(const char* label, - ImGuiDataType data_type, - void* p_data, - float v_speed, - const void* p_min, - const void* p_max, - const char* format, - ImGuiSliderFlags flags) { - return ImGui::DragScalar(label, data_type, p_data, v_speed, p_min, p_max, - format, flags); -} -CIMGUI_API bool igDragScalarN(const char* label, - ImGuiDataType data_type, - void* p_data, - int components, - float v_speed, - const void* p_min, - const void* p_max, - const char* format, - ImGuiSliderFlags flags) { - return ImGui::DragScalarN(label, data_type, p_data, components, v_speed, - p_min, p_max, format, flags); -} -CIMGUI_API bool igSliderFloat(const char* label, - float* v, - float v_min, - float v_max, - const char* format, - ImGuiSliderFlags flags) { - return ImGui::SliderFloat(label, v, v_min, v_max, format, flags); -} -CIMGUI_API bool igSliderFloat2(const char* label, - float v[2], - float v_min, - float v_max, - const char* format, - ImGuiSliderFlags flags) { - return ImGui::SliderFloat2(label, v, v_min, v_max, format, flags); -} -CIMGUI_API bool igSliderFloat3(const char* label, - float v[3], - float v_min, - float v_max, - const char* format, - ImGuiSliderFlags flags) { - return ImGui::SliderFloat3(label, v, v_min, v_max, format, flags); -} -CIMGUI_API bool igSliderFloat4(const char* label, - float v[4], - float v_min, - float v_max, - const char* format, - ImGuiSliderFlags flags) { - return ImGui::SliderFloat4(label, v, v_min, v_max, format, flags); -} -CIMGUI_API bool igSliderAngle(const char* label, - float* v_rad, - float v_degrees_min, - float v_degrees_max, - const char* format, - ImGuiSliderFlags flags) { - return ImGui::SliderAngle(label, v_rad, v_degrees_min, v_degrees_max, format, - flags); -} -CIMGUI_API bool igSliderInt(const char* label, - int* v, - int v_min, - int v_max, - const char* format, - ImGuiSliderFlags flags) { - return ImGui::SliderInt(label, v, v_min, v_max, format, flags); -} -CIMGUI_API bool igSliderInt2(const char* label, - int v[2], - int v_min, - int v_max, - const char* format, - ImGuiSliderFlags flags) { - return ImGui::SliderInt2(label, v, v_min, v_max, format, flags); -} -CIMGUI_API bool igSliderInt3(const char* label, - int v[3], - int v_min, - int v_max, - const char* format, - ImGuiSliderFlags flags) { - return ImGui::SliderInt3(label, v, v_min, v_max, format, flags); -} -CIMGUI_API bool igSliderInt4(const char* label, - int v[4], - int v_min, - int v_max, - const char* format, - ImGuiSliderFlags flags) { - return ImGui::SliderInt4(label, v, v_min, v_max, format, flags); -} -CIMGUI_API bool igSliderScalar(const char* label, - ImGuiDataType data_type, - void* p_data, - const void* p_min, - const void* p_max, - const char* format, - ImGuiSliderFlags flags) { - return ImGui::SliderScalar(label, data_type, p_data, p_min, p_max, format, - flags); -} -CIMGUI_API bool igSliderScalarN(const char* label, - ImGuiDataType data_type, - void* p_data, - int components, - const void* p_min, - const void* p_max, - const char* format, - ImGuiSliderFlags flags) { - return ImGui::SliderScalarN(label, data_type, p_data, components, p_min, - p_max, format, flags); -} -CIMGUI_API bool igVSliderFloat(const char* label, - const ImVec2 size, - float* v, - float v_min, - float v_max, - const char* format, - ImGuiSliderFlags flags) { - return ImGui::VSliderFloat(label, size, v, v_min, v_max, format, flags); -} -CIMGUI_API bool igVSliderInt(const char* label, - const ImVec2 size, - int* v, - int v_min, - int v_max, - const char* format, - ImGuiSliderFlags flags) { - return ImGui::VSliderInt(label, size, v, v_min, v_max, format, flags); -} -CIMGUI_API bool igVSliderScalar(const char* label, - const ImVec2 size, - ImGuiDataType data_type, - void* p_data, - const void* p_min, - const void* p_max, - const char* format, - ImGuiSliderFlags flags) { - return ImGui::VSliderScalar(label, size, data_type, p_data, p_min, p_max, - format, flags); -} -CIMGUI_API bool igInputText(const char* label, - char* buf, - size_t buf_size, - ImGuiInputTextFlags flags, - ImGuiInputTextCallback callback, - void* user_data) { - return ImGui::InputText(label, buf, buf_size, flags, callback, user_data); -} -CIMGUI_API bool igInputTextMultiline(const char* label, - char* buf, - size_t buf_size, - const ImVec2 size, - ImGuiInputTextFlags flags, - ImGuiInputTextCallback callback, - void* user_data) { - return ImGui::InputTextMultiline(label, buf, buf_size, size, flags, callback, - user_data); -} -CIMGUI_API bool igInputTextWithHint(const char* label, - const char* hint, - char* buf, - size_t buf_size, - ImGuiInputTextFlags flags, - ImGuiInputTextCallback callback, - void* user_data) { - return ImGui::InputTextWithHint(label, hint, buf, buf_size, flags, callback, - user_data); -} -CIMGUI_API bool igInputFloat(const char* label, - float* v, - float step, - float step_fast, - const char* format, - ImGuiInputTextFlags flags) { - return ImGui::InputFloat(label, v, step, step_fast, format, flags); -} -CIMGUI_API bool igInputFloat2(const char* label, - float v[2], - const char* format, - ImGuiInputTextFlags flags) { - return ImGui::InputFloat2(label, v, format, flags); -} -CIMGUI_API bool igInputFloat3(const char* label, - float v[3], - const char* format, - ImGuiInputTextFlags flags) { - return ImGui::InputFloat3(label, v, format, flags); -} -CIMGUI_API bool igInputFloat4(const char* label, - float v[4], - const char* format, - ImGuiInputTextFlags flags) { - return ImGui::InputFloat4(label, v, format, flags); -} -CIMGUI_API bool igInputInt(const char* label, - int* v, - int step, - int step_fast, - ImGuiInputTextFlags flags) { - return ImGui::InputInt(label, v, step, step_fast, flags); -} -CIMGUI_API bool igInputInt2(const char* label, - int v[2], - ImGuiInputTextFlags flags) { - return ImGui::InputInt2(label, v, flags); -} -CIMGUI_API bool igInputInt3(const char* label, - int v[3], - ImGuiInputTextFlags flags) { - return ImGui::InputInt3(label, v, flags); -} -CIMGUI_API bool igInputInt4(const char* label, - int v[4], - ImGuiInputTextFlags flags) { - return ImGui::InputInt4(label, v, flags); -} -CIMGUI_API bool igInputDouble(const char* label, - double* v, - double step, - double step_fast, - const char* format, - ImGuiInputTextFlags flags) { - return ImGui::InputDouble(label, v, step, step_fast, format, flags); -} -CIMGUI_API bool igInputScalar(const char* label, - ImGuiDataType data_type, - void* p_data, - const void* p_step, - const void* p_step_fast, - const char* format, - ImGuiInputTextFlags flags) { - return ImGui::InputScalar(label, data_type, p_data, p_step, p_step_fast, - format, flags); -} -CIMGUI_API bool igInputScalarN(const char* label, - ImGuiDataType data_type, - void* p_data, - int components, - const void* p_step, - const void* p_step_fast, - const char* format, - ImGuiInputTextFlags flags) { - return ImGui::InputScalarN(label, data_type, p_data, components, p_step, - p_step_fast, format, flags); -} -CIMGUI_API bool igColorEdit3(const char* label, - float col[3], - ImGuiColorEditFlags flags) { - return ImGui::ColorEdit3(label, col, flags); -} -CIMGUI_API bool igColorEdit4(const char* label, - float col[4], - ImGuiColorEditFlags flags) { - return ImGui::ColorEdit4(label, col, flags); -} -CIMGUI_API bool igColorPicker3(const char* label, - float col[3], - ImGuiColorEditFlags flags) { - return ImGui::ColorPicker3(label, col, flags); -} -CIMGUI_API bool igColorPicker4(const char* label, - float col[4], - ImGuiColorEditFlags flags, - const float* ref_col) { - return ImGui::ColorPicker4(label, col, flags, ref_col); -} -CIMGUI_API bool igColorButton(const char* desc_id, - const ImVec4 col, - ImGuiColorEditFlags flags, - const ImVec2 size) { - return ImGui::ColorButton(desc_id, col, flags, size); -} -CIMGUI_API void igSetColorEditOptions(ImGuiColorEditFlags flags) { - return ImGui::SetColorEditOptions(flags); -} -CIMGUI_API bool igTreeNode_Str(const char* label) { - return ImGui::TreeNode(label); -} -CIMGUI_API bool igTreeNode_StrStr(const char* str_id, const char* fmt, ...) { - va_list args; - va_start(args, fmt); - bool ret = ImGui::TreeNodeV(str_id, fmt, args); - va_end(args); - return ret; -} -CIMGUI_API bool igTreeNode_Ptr(const void* ptr_id, const char* fmt, ...) { - va_list args; - va_start(args, fmt); - bool ret = ImGui::TreeNodeV(ptr_id, fmt, args); - va_end(args); - return ret; -} -CIMGUI_API bool igTreeNodeV_Str(const char* str_id, - const char* fmt, - va_list args) { - return ImGui::TreeNodeV(str_id, fmt, args); -} -CIMGUI_API bool igTreeNodeV_Ptr(const void* ptr_id, - const char* fmt, - va_list args) { - return ImGui::TreeNodeV(ptr_id, fmt, args); -} -CIMGUI_API bool igTreeNodeEx_Str(const char* label, ImGuiTreeNodeFlags flags) { - return ImGui::TreeNodeEx(label, flags); -} -CIMGUI_API bool igTreeNodeEx_StrStr(const char* str_id, - ImGuiTreeNodeFlags flags, - const char* fmt, - ...) { - va_list args; - va_start(args, fmt); - bool ret = ImGui::TreeNodeExV(str_id, flags, fmt, args); - va_end(args); - return ret; -} -CIMGUI_API bool igTreeNodeEx_Ptr(const void* ptr_id, - ImGuiTreeNodeFlags flags, - const char* fmt, - ...) { - va_list args; - va_start(args, fmt); - bool ret = ImGui::TreeNodeExV(ptr_id, flags, fmt, args); - va_end(args); - return ret; -} -CIMGUI_API bool igTreeNodeExV_Str(const char* str_id, - ImGuiTreeNodeFlags flags, - const char* fmt, - va_list args) { - return ImGui::TreeNodeExV(str_id, flags, fmt, args); -} -CIMGUI_API bool igTreeNodeExV_Ptr(const void* ptr_id, - ImGuiTreeNodeFlags flags, - const char* fmt, - va_list args) { - return ImGui::TreeNodeExV(ptr_id, flags, fmt, args); -} -CIMGUI_API void igTreePush_Str(const char* str_id) { - return ImGui::TreePush(str_id); -} -CIMGUI_API void igTreePush_Ptr(const void* ptr_id) { - return ImGui::TreePush(ptr_id); -} -CIMGUI_API void igTreePop() { - return ImGui::TreePop(); -} -CIMGUI_API float igGetTreeNodeToLabelSpacing() { - return ImGui::GetTreeNodeToLabelSpacing(); -} -CIMGUI_API bool igCollapsingHeader_TreeNodeFlags(const char* label, - ImGuiTreeNodeFlags flags) { - return ImGui::CollapsingHeader(label, flags); -} -CIMGUI_API bool igCollapsingHeader_BoolPtr(const char* label, - bool* p_visible, - ImGuiTreeNodeFlags flags) { - return ImGui::CollapsingHeader(label, p_visible, flags); -} -CIMGUI_API void igSetNextItemOpen(bool is_open, ImGuiCond cond) { - return ImGui::SetNextItemOpen(is_open, cond); -} -CIMGUI_API bool igSelectable_Bool(const char* label, - bool selected, - ImGuiSelectableFlags flags, - const ImVec2 size) { - return ImGui::Selectable(label, selected, flags, size); -} -CIMGUI_API bool igSelectable_BoolPtr(const char* label, - bool* p_selected, - ImGuiSelectableFlags flags, - const ImVec2 size) { - return ImGui::Selectable(label, p_selected, flags, size); -} -CIMGUI_API bool igBeginListBox(const char* label, const ImVec2 size) { - return ImGui::BeginListBox(label, size); -} -CIMGUI_API void igEndListBox() { - return ImGui::EndListBox(); -} -CIMGUI_API bool igListBox_Str_arr(const char* label, - int* current_item, - const char* const items[], - int items_count, - int height_in_items) { - return ImGui::ListBox(label, current_item, items, items_count, - height_in_items); -} -CIMGUI_API bool igListBox_FnStrPtr(const char* label, - int* current_item, - const char* (*getter)(void* user_data, - int idx), - void* user_data, - int items_count, - int height_in_items) { - return ImGui::ListBox(label, current_item, getter, user_data, items_count, - height_in_items); -} -CIMGUI_API void igPlotLines_FloatPtr(const char* label, - const float* values, - int values_count, - int values_offset, - const char* overlay_text, - float scale_min, - float scale_max, - ImVec2 graph_size, - int stride) { - return ImGui::PlotLines(label, values, values_count, values_offset, - overlay_text, scale_min, scale_max, graph_size, - stride); -} -CIMGUI_API void igPlotLines_FnFloatPtr(const char* label, - float (*values_getter)(void* data, - int idx), - void* data, - int values_count, - int values_offset, - const char* overlay_text, - float scale_min, - float scale_max, - ImVec2 graph_size) { - return ImGui::PlotLines(label, values_getter, data, values_count, - values_offset, overlay_text, scale_min, scale_max, - graph_size); -} -CIMGUI_API void igPlotHistogram_FloatPtr(const char* label, - const float* values, - int values_count, - int values_offset, - const char* overlay_text, - float scale_min, - float scale_max, - ImVec2 graph_size, - int stride) { - return ImGui::PlotHistogram(label, values, values_count, values_offset, - overlay_text, scale_min, scale_max, graph_size, - stride); -} -CIMGUI_API void igPlotHistogram_FnFloatPtr(const char* label, - float (*values_getter)(void* data, - int idx), - void* data, - int values_count, - int values_offset, - const char* overlay_text, - float scale_min, - float scale_max, - ImVec2 graph_size) { - return ImGui::PlotHistogram(label, values_getter, data, values_count, - values_offset, overlay_text, scale_min, scale_max, - graph_size); -} -CIMGUI_API void igValue_Bool(const char* prefix, bool b) { - return ImGui::Value(prefix, b); -} -CIMGUI_API void igValue_Int(const char* prefix, int v) { - return ImGui::Value(prefix, v); -} -CIMGUI_API void igValue_Uint(const char* prefix, unsigned int v) { - return ImGui::Value(prefix, v); -} -CIMGUI_API void igValue_Float(const char* prefix, - float v, - const char* float_format) { - return ImGui::Value(prefix, v, float_format); -} -CIMGUI_API bool igBeginMenuBar() { - return ImGui::BeginMenuBar(); -} -CIMGUI_API void igEndMenuBar() { - return ImGui::EndMenuBar(); -} -CIMGUI_API bool igBeginMainMenuBar() { - return ImGui::BeginMainMenuBar(); -} -CIMGUI_API void igEndMainMenuBar() { - return ImGui::EndMainMenuBar(); -} -CIMGUI_API bool igBeginMenu(const char* label, bool enabled) { - return ImGui::BeginMenu(label, enabled); -} -CIMGUI_API void igEndMenu() { - return ImGui::EndMenu(); -} -CIMGUI_API bool igMenuItem_Bool(const char* label, - const char* shortcut, - bool selected, - bool enabled) { - return ImGui::MenuItem(label, shortcut, selected, enabled); -} -CIMGUI_API bool igMenuItem_BoolPtr(const char* label, - const char* shortcut, - bool* p_selected, - bool enabled) { - return ImGui::MenuItem(label, shortcut, p_selected, enabled); -} -CIMGUI_API bool igBeginTooltip() { - return ImGui::BeginTooltip(); -} -CIMGUI_API void igEndTooltip() { - return ImGui::EndTooltip(); -} -CIMGUI_API void igSetTooltip(const char* fmt, ...) { - va_list args; - va_start(args, fmt); - ImGui::SetTooltipV(fmt, args); - va_end(args); -} -CIMGUI_API void igSetTooltipV(const char* fmt, va_list args) { - return ImGui::SetTooltipV(fmt, args); -} -CIMGUI_API bool igBeginItemTooltip() { - return ImGui::BeginItemTooltip(); -} -CIMGUI_API void igSetItemTooltip(const char* fmt, ...) { - va_list args; - va_start(args, fmt); - ImGui::SetItemTooltipV(fmt, args); - va_end(args); -} -CIMGUI_API void igSetItemTooltipV(const char* fmt, va_list args) { - return ImGui::SetItemTooltipV(fmt, args); -} -CIMGUI_API bool igBeginPopup(const char* str_id, ImGuiWindowFlags flags) { - return ImGui::BeginPopup(str_id, flags); -} -CIMGUI_API bool igBeginPopupModal(const char* name, - bool* p_open, - ImGuiWindowFlags flags) { - return ImGui::BeginPopupModal(name, p_open, flags); -} -CIMGUI_API void igEndPopup() { - return ImGui::EndPopup(); -} -CIMGUI_API void igOpenPopup_Str(const char* str_id, - ImGuiPopupFlags popup_flags) { - return ImGui::OpenPopup(str_id, popup_flags); -} -CIMGUI_API void igOpenPopup_ID(ImGuiID id, ImGuiPopupFlags popup_flags) { - return ImGui::OpenPopup(id, popup_flags); -} -CIMGUI_API void igOpenPopupOnItemClick(const char* str_id, - ImGuiPopupFlags popup_flags) { - return ImGui::OpenPopupOnItemClick(str_id, popup_flags); -} -CIMGUI_API void igCloseCurrentPopup() { - return ImGui::CloseCurrentPopup(); -} -CIMGUI_API bool igBeginPopupContextItem(const char* str_id, - ImGuiPopupFlags popup_flags) { - return ImGui::BeginPopupContextItem(str_id, popup_flags); -} -CIMGUI_API bool igBeginPopupContextWindow(const char* str_id, - ImGuiPopupFlags popup_flags) { - return ImGui::BeginPopupContextWindow(str_id, popup_flags); -} -CIMGUI_API bool igBeginPopupContextVoid(const char* str_id, - ImGuiPopupFlags popup_flags) { - return ImGui::BeginPopupContextVoid(str_id, popup_flags); -} -CIMGUI_API bool igIsPopupOpen_Str(const char* str_id, ImGuiPopupFlags flags) { - return ImGui::IsPopupOpen(str_id, flags); -} -CIMGUI_API bool igBeginTable(const char* str_id, - int column, - ImGuiTableFlags flags, - const ImVec2 outer_size, - float inner_width) { - return ImGui::BeginTable(str_id, column, flags, outer_size, inner_width); -} -CIMGUI_API void igEndTable() { - return ImGui::EndTable(); -} -CIMGUI_API void igTableNextRow(ImGuiTableRowFlags row_flags, - float min_row_height) { - return ImGui::TableNextRow(row_flags, min_row_height); -} -CIMGUI_API bool igTableNextColumn() { - return ImGui::TableNextColumn(); -} -CIMGUI_API bool igTableSetColumnIndex(int column_n) { - return ImGui::TableSetColumnIndex(column_n); -} -CIMGUI_API void igTableSetupColumn(const char* label, - ImGuiTableColumnFlags flags, - float init_width_or_weight, - ImGuiID user_id) { - return ImGui::TableSetupColumn(label, flags, init_width_or_weight, user_id); -} -CIMGUI_API void igTableSetupScrollFreeze(int cols, int rows) { - return ImGui::TableSetupScrollFreeze(cols, rows); -} -CIMGUI_API void igTableHeader(const char* label) { - return ImGui::TableHeader(label); -} -CIMGUI_API void igTableHeadersRow() { - return ImGui::TableHeadersRow(); -} -CIMGUI_API void igTableAngledHeadersRow() { - return ImGui::TableAngledHeadersRow(); -} -CIMGUI_API ImGuiTableSortSpecs* igTableGetSortSpecs() { - return ImGui::TableGetSortSpecs(); -} -CIMGUI_API int igTableGetColumnCount() { - return ImGui::TableGetColumnCount(); -} -CIMGUI_API int igTableGetColumnIndex() { - return ImGui::TableGetColumnIndex(); -} -CIMGUI_API int igTableGetRowIndex() { - return ImGui::TableGetRowIndex(); -} -CIMGUI_API const char* igTableGetColumnName_Int(int column_n) { - return ImGui::TableGetColumnName(column_n); -} -CIMGUI_API ImGuiTableColumnFlags igTableGetColumnFlags(int column_n) { - return ImGui::TableGetColumnFlags(column_n); -} -CIMGUI_API void igTableSetColumnEnabled(int column_n, bool v) { - return ImGui::TableSetColumnEnabled(column_n, v); -} -CIMGUI_API void igTableSetBgColor(ImGuiTableBgTarget target, - ImU32 color, - int column_n) { - return ImGui::TableSetBgColor(target, color, column_n); -} -CIMGUI_API void igColumns(int count, const char* id, bool border) { - return ImGui::Columns(count, id, border); -} -CIMGUI_API void igNextColumn() { - return ImGui::NextColumn(); -} -CIMGUI_API int igGetColumnIndex() { - return ImGui::GetColumnIndex(); -} -CIMGUI_API float igGetColumnWidth(int column_index) { - return ImGui::GetColumnWidth(column_index); -} -CIMGUI_API void igSetColumnWidth(int column_index, float width) { - return ImGui::SetColumnWidth(column_index, width); -} -CIMGUI_API float igGetColumnOffset(int column_index) { - return ImGui::GetColumnOffset(column_index); -} -CIMGUI_API void igSetColumnOffset(int column_index, float offset_x) { - return ImGui::SetColumnOffset(column_index, offset_x); -} -CIMGUI_API int igGetColumnsCount() { - return ImGui::GetColumnsCount(); -} -CIMGUI_API bool igBeginTabBar(const char* str_id, ImGuiTabBarFlags flags) { - return ImGui::BeginTabBar(str_id, flags); -} -CIMGUI_API void igEndTabBar() { - return ImGui::EndTabBar(); -} -CIMGUI_API bool igBeginTabItem(const char* label, - bool* p_open, - ImGuiTabItemFlags flags) { - return ImGui::BeginTabItem(label, p_open, flags); -} -CIMGUI_API void igEndTabItem() { - return ImGui::EndTabItem(); -} -CIMGUI_API bool igTabItemButton(const char* label, ImGuiTabItemFlags flags) { - return ImGui::TabItemButton(label, flags); -} -CIMGUI_API void igSetTabItemClosed(const char* tab_or_docked_window_label) { - return ImGui::SetTabItemClosed(tab_or_docked_window_label); -} -CIMGUI_API ImGuiID igDockSpace(ImGuiID id, - const ImVec2 size, - ImGuiDockNodeFlags flags, - const ImGuiWindowClass* window_class) { - return ImGui::DockSpace(id, size, flags, window_class); -} -CIMGUI_API ImGuiID -igDockSpaceOverViewport(const ImGuiViewport* viewport, - ImGuiDockNodeFlags flags, - const ImGuiWindowClass* window_class) { - return ImGui::DockSpaceOverViewport(viewport, flags, window_class); -} -CIMGUI_API void igSetNextWindowDockID(ImGuiID dock_id, ImGuiCond cond) { - return ImGui::SetNextWindowDockID(dock_id, cond); -} -CIMGUI_API void igSetNextWindowClass(const ImGuiWindowClass* window_class) { - return ImGui::SetNextWindowClass(window_class); -} -CIMGUI_API ImGuiID igGetWindowDockID() { - return ImGui::GetWindowDockID(); -} -CIMGUI_API bool igIsWindowDocked() { - return ImGui::IsWindowDocked(); -} -CIMGUI_API void igLogToTTY(int auto_open_depth) { - return ImGui::LogToTTY(auto_open_depth); -} -CIMGUI_API void igLogToFile(int auto_open_depth, const char* filename) { - return ImGui::LogToFile(auto_open_depth, filename); -} -CIMGUI_API void igLogToClipboard(int auto_open_depth) { - return ImGui::LogToClipboard(auto_open_depth); -} -CIMGUI_API void igLogFinish() { - return ImGui::LogFinish(); -} -CIMGUI_API void igLogButtons() { - return ImGui::LogButtons(); -} -CIMGUI_API void igLogTextV(const char* fmt, va_list args) { - return ImGui::LogTextV(fmt, args); -} -CIMGUI_API bool igBeginDragDropSource(ImGuiDragDropFlags flags) { - return ImGui::BeginDragDropSource(flags); -} -CIMGUI_API bool igSetDragDropPayload(const char* type, - const void* data, - size_t sz, - ImGuiCond cond) { - return ImGui::SetDragDropPayload(type, data, sz, cond); -} -CIMGUI_API void igEndDragDropSource() { - return ImGui::EndDragDropSource(); -} -CIMGUI_API bool igBeginDragDropTarget() { - return ImGui::BeginDragDropTarget(); -} -CIMGUI_API const ImGuiPayload* igAcceptDragDropPayload( - const char* type, - ImGuiDragDropFlags flags) { - return ImGui::AcceptDragDropPayload(type, flags); -} -CIMGUI_API void igEndDragDropTarget() { - return ImGui::EndDragDropTarget(); -} -CIMGUI_API const ImGuiPayload* igGetDragDropPayload() { - return ImGui::GetDragDropPayload(); -} -CIMGUI_API void igBeginDisabled(bool disabled) { - return ImGui::BeginDisabled(disabled); -} -CIMGUI_API void igEndDisabled() { - return ImGui::EndDisabled(); -} -CIMGUI_API void igPushClipRect(const ImVec2 clip_rect_min, - const ImVec2 clip_rect_max, - bool intersect_with_current_clip_rect) { - return ImGui::PushClipRect(clip_rect_min, clip_rect_max, - intersect_with_current_clip_rect); -} -CIMGUI_API void igPopClipRect() { - return ImGui::PopClipRect(); -} -CIMGUI_API void igSetItemDefaultFocus() { - return ImGui::SetItemDefaultFocus(); -} -CIMGUI_API void igSetKeyboardFocusHere(int offset) { - return ImGui::SetKeyboardFocusHere(offset); -} -CIMGUI_API void igSetNextItemAllowOverlap() { - return ImGui::SetNextItemAllowOverlap(); -} -CIMGUI_API bool igIsItemHovered(ImGuiHoveredFlags flags) { - return ImGui::IsItemHovered(flags); -} -CIMGUI_API bool igIsItemActive() { - return ImGui::IsItemActive(); -} -CIMGUI_API bool igIsItemFocused() { - return ImGui::IsItemFocused(); -} -CIMGUI_API bool igIsItemClicked(ImGuiMouseButton mouse_button) { - return ImGui::IsItemClicked(mouse_button); -} -CIMGUI_API bool igIsItemVisible() { - return ImGui::IsItemVisible(); -} -CIMGUI_API bool igIsItemEdited() { - return ImGui::IsItemEdited(); -} -CIMGUI_API bool igIsItemActivated() { - return ImGui::IsItemActivated(); -} -CIMGUI_API bool igIsItemDeactivated() { - return ImGui::IsItemDeactivated(); -} -CIMGUI_API bool igIsItemDeactivatedAfterEdit() { - return ImGui::IsItemDeactivatedAfterEdit(); -} -CIMGUI_API bool igIsItemToggledOpen() { - return ImGui::IsItemToggledOpen(); -} -CIMGUI_API bool igIsAnyItemHovered() { - return ImGui::IsAnyItemHovered(); -} -CIMGUI_API bool igIsAnyItemActive() { - return ImGui::IsAnyItemActive(); -} -CIMGUI_API bool igIsAnyItemFocused() { - return ImGui::IsAnyItemFocused(); -} -CIMGUI_API ImGuiID igGetItemID() { - return ImGui::GetItemID(); -} -CIMGUI_API void igGetItemRectMin(ImVec2* pOut) { - *pOut = ImGui::GetItemRectMin(); -} -CIMGUI_API void igGetItemRectMax(ImVec2* pOut) { - *pOut = ImGui::GetItemRectMax(); -} -CIMGUI_API void igGetItemRectSize(ImVec2* pOut) { - *pOut = ImGui::GetItemRectSize(); -} -CIMGUI_API ImGuiViewport* igGetMainViewport() { - return ImGui::GetMainViewport(); -} -CIMGUI_API ImDrawList* igGetBackgroundDrawList_Nil() { - return ImGui::GetBackgroundDrawList(); -} -CIMGUI_API ImDrawList* igGetForegroundDrawList_Nil() { - return ImGui::GetForegroundDrawList(); -} -CIMGUI_API ImDrawList* igGetBackgroundDrawList_ViewportPtr( - ImGuiViewport* viewport) { - return ImGui::GetBackgroundDrawList(viewport); -} -CIMGUI_API ImDrawList* igGetForegroundDrawList_ViewportPtr( - ImGuiViewport* viewport) { - return ImGui::GetForegroundDrawList(viewport); -} -CIMGUI_API bool igIsRectVisible_Nil(const ImVec2 size) { - return ImGui::IsRectVisible(size); -} -CIMGUI_API bool igIsRectVisible_Vec2(const ImVec2 rect_min, - const ImVec2 rect_max) { - return ImGui::IsRectVisible(rect_min, rect_max); -} -CIMGUI_API double igGetTime() { - return ImGui::GetTime(); -} -CIMGUI_API int igGetFrameCount() { - return ImGui::GetFrameCount(); -} -CIMGUI_API ImDrawListSharedData* igGetDrawListSharedData() { - return ImGui::GetDrawListSharedData(); -} -CIMGUI_API const char* igGetStyleColorName(ImGuiCol idx) { - return ImGui::GetStyleColorName(idx); -} -CIMGUI_API void igSetStateStorage(ImGuiStorage* storage) { - return ImGui::SetStateStorage(storage); -} -CIMGUI_API ImGuiStorage* igGetStateStorage() { - return ImGui::GetStateStorage(); -} -CIMGUI_API void igCalcTextSize(ImVec2* pOut, - const char* text, - const char* text_end, - bool hide_text_after_double_hash, - float wrap_width) { - *pOut = ImGui::CalcTextSize(text, text_end, hide_text_after_double_hash, - wrap_width); -} -CIMGUI_API void igColorConvertU32ToFloat4(ImVec4* pOut, ImU32 in) { - *pOut = ImGui::ColorConvertU32ToFloat4(in); -} -CIMGUI_API ImU32 igColorConvertFloat4ToU32(const ImVec4 in) { - return ImGui::ColorConvertFloat4ToU32(in); -} -CIMGUI_API void igColorConvertRGBtoHSV(float r, - float g, - float b, - float* out_h, - float* out_s, - float* out_v) { - return ImGui::ColorConvertRGBtoHSV(r, g, b, *out_h, *out_s, *out_v); -} -CIMGUI_API void igColorConvertHSVtoRGB(float h, - float s, - float v, - float* out_r, - float* out_g, - float* out_b) { - return ImGui::ColorConvertHSVtoRGB(h, s, v, *out_r, *out_g, *out_b); -} -CIMGUI_API bool igIsKeyDown_Nil(ImGuiKey key) { - return ImGui::IsKeyDown(key); -} -CIMGUI_API bool igIsKeyPressed_Bool(ImGuiKey key, bool repeat) { - return ImGui::IsKeyPressed(key, repeat); -} -CIMGUI_API bool igIsKeyReleased_Nil(ImGuiKey key) { - return ImGui::IsKeyReleased(key); -} -CIMGUI_API bool igIsKeyChordPressed_Nil(ImGuiKeyChord key_chord) { - return ImGui::IsKeyChordPressed(key_chord); -} -CIMGUI_API int igGetKeyPressedAmount(ImGuiKey key, - float repeat_delay, - float rate) { - return ImGui::GetKeyPressedAmount(key, repeat_delay, rate); -} -CIMGUI_API const char* igGetKeyName(ImGuiKey key) { - return ImGui::GetKeyName(key); -} -CIMGUI_API void igSetNextFrameWantCaptureKeyboard(bool want_capture_keyboard) { - return ImGui::SetNextFrameWantCaptureKeyboard(want_capture_keyboard); -} -CIMGUI_API bool igIsMouseDown_Nil(ImGuiMouseButton button) { - return ImGui::IsMouseDown(button); -} -CIMGUI_API bool igIsMouseClicked_Bool(ImGuiMouseButton button, bool repeat) { - return ImGui::IsMouseClicked(button, repeat); -} -CIMGUI_API bool igIsMouseReleased_Nil(ImGuiMouseButton button) { - return ImGui::IsMouseReleased(button); -} -CIMGUI_API bool igIsMouseDoubleClicked_Nil(ImGuiMouseButton button) { - return ImGui::IsMouseDoubleClicked(button); -} -CIMGUI_API int igGetMouseClickedCount(ImGuiMouseButton button) { - return ImGui::GetMouseClickedCount(button); -} -CIMGUI_API bool igIsMouseHoveringRect(const ImVec2 r_min, - const ImVec2 r_max, - bool clip) { - return ImGui::IsMouseHoveringRect(r_min, r_max, clip); -} -CIMGUI_API bool igIsMousePosValid(const ImVec2* mouse_pos) { - return ImGui::IsMousePosValid(mouse_pos); -} -CIMGUI_API bool igIsAnyMouseDown() { - return ImGui::IsAnyMouseDown(); -} -CIMGUI_API void igGetMousePos(ImVec2* pOut) { - *pOut = ImGui::GetMousePos(); -} -CIMGUI_API void igGetMousePosOnOpeningCurrentPopup(ImVec2* pOut) { - *pOut = ImGui::GetMousePosOnOpeningCurrentPopup(); -} -CIMGUI_API bool igIsMouseDragging(ImGuiMouseButton button, - float lock_threshold) { - return ImGui::IsMouseDragging(button, lock_threshold); -} -CIMGUI_API void igGetMouseDragDelta(ImVec2* pOut, - ImGuiMouseButton button, - float lock_threshold) { - *pOut = ImGui::GetMouseDragDelta(button, lock_threshold); -} -CIMGUI_API void igResetMouseDragDelta(ImGuiMouseButton button) { - return ImGui::ResetMouseDragDelta(button); -} -CIMGUI_API ImGuiMouseCursor igGetMouseCursor() { - return ImGui::GetMouseCursor(); -} -CIMGUI_API void igSetMouseCursor(ImGuiMouseCursor cursor_type) { - return ImGui::SetMouseCursor(cursor_type); -} -CIMGUI_API void igSetNextFrameWantCaptureMouse(bool want_capture_mouse) { - return ImGui::SetNextFrameWantCaptureMouse(want_capture_mouse); -} -CIMGUI_API const char* igGetClipboardText() { - return ImGui::GetClipboardText(); -} -CIMGUI_API void igSetClipboardText(const char* text) { - return ImGui::SetClipboardText(text); -} -CIMGUI_API void igLoadIniSettingsFromDisk(const char* ini_filename) { - return ImGui::LoadIniSettingsFromDisk(ini_filename); -} -CIMGUI_API void igLoadIniSettingsFromMemory(const char* ini_data, - size_t ini_size) { - return ImGui::LoadIniSettingsFromMemory(ini_data, ini_size); -} -CIMGUI_API void igSaveIniSettingsToDisk(const char* ini_filename) { - return ImGui::SaveIniSettingsToDisk(ini_filename); -} -CIMGUI_API const char* igSaveIniSettingsToMemory(size_t* out_ini_size) { - return ImGui::SaveIniSettingsToMemory(out_ini_size); -} -CIMGUI_API void igDebugTextEncoding(const char* text) { - return ImGui::DebugTextEncoding(text); -} -CIMGUI_API void igDebugFlashStyleColor(ImGuiCol idx) { - return ImGui::DebugFlashStyleColor(idx); -} -CIMGUI_API void igDebugStartItemPicker() { - return ImGui::DebugStartItemPicker(); -} -CIMGUI_API bool igDebugCheckVersionAndDataLayout(const char* version_str, - size_t sz_io, - size_t sz_style, - size_t sz_vec2, - size_t sz_vec4, - size_t sz_drawvert, - size_t sz_drawidx) { - return ImGui::DebugCheckVersionAndDataLayout( - version_str, sz_io, sz_style, sz_vec2, sz_vec4, sz_drawvert, sz_drawidx); -} -CIMGUI_API void igSetAllocatorFunctions(ImGuiMemAllocFunc alloc_func, - ImGuiMemFreeFunc free_func, - void* user_data) { - return ImGui::SetAllocatorFunctions(alloc_func, free_func, user_data); -} -CIMGUI_API void igGetAllocatorFunctions(ImGuiMemAllocFunc* p_alloc_func, - ImGuiMemFreeFunc* p_free_func, - void** p_user_data) { - return ImGui::GetAllocatorFunctions(p_alloc_func, p_free_func, p_user_data); -} -CIMGUI_API void* igMemAlloc(size_t size) { - return ImGui::MemAlloc(size); -} -CIMGUI_API void igMemFree(void* ptr) { - return ImGui::MemFree(ptr); -} -CIMGUI_API ImGuiPlatformIO* igGetPlatformIO() { - return &ImGui::GetPlatformIO(); -} -CIMGUI_API void igUpdatePlatformWindows() { - return ImGui::UpdatePlatformWindows(); -} -CIMGUI_API void igRenderPlatformWindowsDefault(void* platform_render_arg, - void* renderer_render_arg) { - return ImGui::RenderPlatformWindowsDefault(platform_render_arg, - renderer_render_arg); -} -CIMGUI_API void igDestroyPlatformWindows() { - return ImGui::DestroyPlatformWindows(); -} -CIMGUI_API ImGuiViewport* igFindViewportByID(ImGuiID id) { - return ImGui::FindViewportByID(id); -} -CIMGUI_API ImGuiViewport* igFindViewportByPlatformHandle( - void* platform_handle) { - return ImGui::FindViewportByPlatformHandle(platform_handle); -} -CIMGUI_API ImGuiTableSortSpecs* ImGuiTableSortSpecs_ImGuiTableSortSpecs(void) { - return IM_NEW(ImGuiTableSortSpecs)(); -} -CIMGUI_API void ImGuiTableSortSpecs_destroy(ImGuiTableSortSpecs* self) { - IM_DELETE(self); -} -CIMGUI_API ImGuiTableColumnSortSpecs* -ImGuiTableColumnSortSpecs_ImGuiTableColumnSortSpecs(void) { - return IM_NEW(ImGuiTableColumnSortSpecs)(); -} -CIMGUI_API void ImGuiTableColumnSortSpecs_destroy( - ImGuiTableColumnSortSpecs* self) { - IM_DELETE(self); -} -CIMGUI_API ImGuiStyle* ImGuiStyle_ImGuiStyle(void) { - return IM_NEW(ImGuiStyle)(); -} -CIMGUI_API void ImGuiStyle_destroy(ImGuiStyle* self) { - IM_DELETE(self); -} -CIMGUI_API void ImGuiStyle_ScaleAllSizes(ImGuiStyle* self, float scale_factor) { - return self->ScaleAllSizes(scale_factor); -} -CIMGUI_API void ImGuiIO_AddKeyEvent(ImGuiIO* self, ImGuiKey key, bool down) { - return self->AddKeyEvent(key, down); -} -CIMGUI_API void ImGuiIO_AddKeyAnalogEvent(ImGuiIO* self, - ImGuiKey key, - bool down, - float v) { - return self->AddKeyAnalogEvent(key, down, v); -} -CIMGUI_API void ImGuiIO_AddMousePosEvent(ImGuiIO* self, float x, float y) { - return self->AddMousePosEvent(x, y); -} -CIMGUI_API void ImGuiIO_AddMouseButtonEvent(ImGuiIO* self, - int button, - bool down) { - return self->AddMouseButtonEvent(button, down); -} -CIMGUI_API void ImGuiIO_AddMouseWheelEvent(ImGuiIO* self, - float wheel_x, - float wheel_y) { - return self->AddMouseWheelEvent(wheel_x, wheel_y); -} -CIMGUI_API void ImGuiIO_AddMouseSourceEvent(ImGuiIO* self, - ImGuiMouseSource source) { - return self->AddMouseSourceEvent(source); -} -CIMGUI_API void ImGuiIO_AddMouseViewportEvent(ImGuiIO* self, ImGuiID id) { - return self->AddMouseViewportEvent(id); -} -CIMGUI_API void ImGuiIO_AddFocusEvent(ImGuiIO* self, bool focused) { - return self->AddFocusEvent(focused); -} -CIMGUI_API void ImGuiIO_AddInputCharacter(ImGuiIO* self, unsigned int c) { - return self->AddInputCharacter(c); -} -CIMGUI_API void ImGuiIO_AddInputCharacterUTF16(ImGuiIO* self, ImWchar16 c) { - return self->AddInputCharacterUTF16(c); -} -CIMGUI_API void ImGuiIO_AddInputCharactersUTF8(ImGuiIO* self, const char* str) { - return self->AddInputCharactersUTF8(str); -} -CIMGUI_API void ImGuiIO_SetKeyEventNativeData(ImGuiIO* self, - ImGuiKey key, - int native_keycode, - int native_scancode, - int native_legacy_index) { - return self->SetKeyEventNativeData(key, native_keycode, native_scancode, - native_legacy_index); -} -CIMGUI_API void ImGuiIO_SetAppAcceptingEvents(ImGuiIO* self, - bool accepting_events) { - return self->SetAppAcceptingEvents(accepting_events); -} -CIMGUI_API void ImGuiIO_ClearEventsQueue(ImGuiIO* self) { - return self->ClearEventsQueue(); -} -CIMGUI_API void ImGuiIO_ClearInputKeys(ImGuiIO* self) { - return self->ClearInputKeys(); -} -CIMGUI_API ImGuiIO* ImGuiIO_ImGuiIO(void) { - return IM_NEW(ImGuiIO)(); -} -CIMGUI_API void ImGuiIO_destroy(ImGuiIO* self) { - IM_DELETE(self); -} -CIMGUI_API ImGuiInputTextCallbackData* -ImGuiInputTextCallbackData_ImGuiInputTextCallbackData(void) { - return IM_NEW(ImGuiInputTextCallbackData)(); -} -CIMGUI_API void ImGuiInputTextCallbackData_destroy( - ImGuiInputTextCallbackData* self) { - IM_DELETE(self); -} -CIMGUI_API void ImGuiInputTextCallbackData_DeleteChars( - ImGuiInputTextCallbackData* self, - int pos, - int bytes_count) { - return self->DeleteChars(pos, bytes_count); -} -CIMGUI_API void ImGuiInputTextCallbackData_InsertChars( - ImGuiInputTextCallbackData* self, - int pos, - const char* text, - const char* text_end) { - return self->InsertChars(pos, text, text_end); -} -CIMGUI_API void ImGuiInputTextCallbackData_SelectAll( - ImGuiInputTextCallbackData* self) { - return self->SelectAll(); -} -CIMGUI_API void ImGuiInputTextCallbackData_ClearSelection( - ImGuiInputTextCallbackData* self) { - return self->ClearSelection(); -} -CIMGUI_API bool ImGuiInputTextCallbackData_HasSelection( - ImGuiInputTextCallbackData* self) { - return self->HasSelection(); -} -CIMGUI_API ImGuiWindowClass* ImGuiWindowClass_ImGuiWindowClass(void) { - return IM_NEW(ImGuiWindowClass)(); -} -CIMGUI_API void ImGuiWindowClass_destroy(ImGuiWindowClass* self) { - IM_DELETE(self); -} -CIMGUI_API ImGuiPayload* ImGuiPayload_ImGuiPayload(void) { - return IM_NEW(ImGuiPayload)(); -} -CIMGUI_API void ImGuiPayload_destroy(ImGuiPayload* self) { - IM_DELETE(self); -} -CIMGUI_API void ImGuiPayload_Clear(ImGuiPayload* self) { - return self->Clear(); -} -CIMGUI_API bool ImGuiPayload_IsDataType(ImGuiPayload* self, const char* type) { - return self->IsDataType(type); -} -CIMGUI_API bool ImGuiPayload_IsPreview(ImGuiPayload* self) { - return self->IsPreview(); -} -CIMGUI_API bool ImGuiPayload_IsDelivery(ImGuiPayload* self) { - return self->IsDelivery(); -} -CIMGUI_API ImGuiOnceUponAFrame* ImGuiOnceUponAFrame_ImGuiOnceUponAFrame(void) { - return IM_NEW(ImGuiOnceUponAFrame)(); -} -CIMGUI_API void ImGuiOnceUponAFrame_destroy(ImGuiOnceUponAFrame* self) { - IM_DELETE(self); -} -CIMGUI_API ImGuiTextFilter* ImGuiTextFilter_ImGuiTextFilter( - const char* default_filter) { - return IM_NEW(ImGuiTextFilter)(default_filter); -} -CIMGUI_API void ImGuiTextFilter_destroy(ImGuiTextFilter* self) { - IM_DELETE(self); -} -CIMGUI_API bool ImGuiTextFilter_Draw(ImGuiTextFilter* self, - const char* label, - float width) { - return self->Draw(label, width); -} -CIMGUI_API bool ImGuiTextFilter_PassFilter(ImGuiTextFilter* self, - const char* text, - const char* text_end) { - return self->PassFilter(text, text_end); -} -CIMGUI_API void ImGuiTextFilter_Build(ImGuiTextFilter* self) { - return self->Build(); -} -CIMGUI_API void ImGuiTextFilter_Clear(ImGuiTextFilter* self) { - return self->Clear(); -} -CIMGUI_API bool ImGuiTextFilter_IsActive(ImGuiTextFilter* self) { - return self->IsActive(); -} -CIMGUI_API ImGuiTextRange* ImGuiTextRange_ImGuiTextRange_Nil(void) { - return IM_NEW(ImGuiTextRange)(); -} -CIMGUI_API void ImGuiTextRange_destroy(ImGuiTextRange* self) { - IM_DELETE(self); -} -CIMGUI_API ImGuiTextRange* ImGuiTextRange_ImGuiTextRange_Str(const char* _b, - const char* _e) { - return IM_NEW(ImGuiTextRange)(_b, _e); -} -CIMGUI_API bool ImGuiTextRange_empty(ImGuiTextRange* self) { - return self->empty(); -} -CIMGUI_API void ImGuiTextRange_split(ImGuiTextRange* self, - char separator, - ImVector_ImGuiTextRange* out) { - return self->split(separator, out); -} -CIMGUI_API ImGuiTextBuffer* ImGuiTextBuffer_ImGuiTextBuffer(void) { - return IM_NEW(ImGuiTextBuffer)(); -} -CIMGUI_API void ImGuiTextBuffer_destroy(ImGuiTextBuffer* self) { - IM_DELETE(self); -} -CIMGUI_API const char* ImGuiTextBuffer_begin(ImGuiTextBuffer* self) { - return self->begin(); -} -CIMGUI_API const char* ImGuiTextBuffer_end(ImGuiTextBuffer* self) { - return self->end(); -} -CIMGUI_API int ImGuiTextBuffer_size(ImGuiTextBuffer* self) { - return self->size(); -} -CIMGUI_API bool ImGuiTextBuffer_empty(ImGuiTextBuffer* self) { - return self->empty(); -} -CIMGUI_API void ImGuiTextBuffer_clear(ImGuiTextBuffer* self) { - return self->clear(); -} -CIMGUI_API void ImGuiTextBuffer_reserve(ImGuiTextBuffer* self, int capacity) { - return self->reserve(capacity); -} -CIMGUI_API const char* ImGuiTextBuffer_c_str(ImGuiTextBuffer* self) { - return self->c_str(); -} -CIMGUI_API void ImGuiTextBuffer_append(ImGuiTextBuffer* self, - const char* str, - const char* str_end) { - return self->append(str, str_end); -} -CIMGUI_API void ImGuiTextBuffer_appendfv(ImGuiTextBuffer* self, - const char* fmt, - va_list args) { - return self->appendfv(fmt, args); -} -CIMGUI_API ImGuiStoragePair* ImGuiStoragePair_ImGuiStoragePair_Int(ImGuiID _key, - int _val) { - return IM_NEW(ImGuiStoragePair)(_key, _val); -} -CIMGUI_API void ImGuiStoragePair_destroy(ImGuiStoragePair* self) { - IM_DELETE(self); -} -CIMGUI_API ImGuiStoragePair* ImGuiStoragePair_ImGuiStoragePair_Float( - ImGuiID _key, - float _val) { - return IM_NEW(ImGuiStoragePair)(_key, _val); -} -CIMGUI_API ImGuiStoragePair* ImGuiStoragePair_ImGuiStoragePair_Ptr(ImGuiID _key, - void* _val) { - return IM_NEW(ImGuiStoragePair)(_key, _val); -} -CIMGUI_API void ImGuiStorage_Clear(ImGuiStorage* self) { - return self->Clear(); -} -CIMGUI_API int ImGuiStorage_GetInt(ImGuiStorage* self, - ImGuiID key, - int default_val) { - return self->GetInt(key, default_val); -} -CIMGUI_API void ImGuiStorage_SetInt(ImGuiStorage* self, ImGuiID key, int val) { - return self->SetInt(key, val); -} -CIMGUI_API bool ImGuiStorage_GetBool(ImGuiStorage* self, - ImGuiID key, - bool default_val) { - return self->GetBool(key, default_val); -} -CIMGUI_API void ImGuiStorage_SetBool(ImGuiStorage* self, - ImGuiID key, - bool val) { - return self->SetBool(key, val); -} -CIMGUI_API float ImGuiStorage_GetFloat(ImGuiStorage* self, - ImGuiID key, - float default_val) { - return self->GetFloat(key, default_val); -} -CIMGUI_API void ImGuiStorage_SetFloat(ImGuiStorage* self, - ImGuiID key, - float val) { - return self->SetFloat(key, val); -} -CIMGUI_API void* ImGuiStorage_GetVoidPtr(ImGuiStorage* self, ImGuiID key) { - return self->GetVoidPtr(key); -} -CIMGUI_API void ImGuiStorage_SetVoidPtr(ImGuiStorage* self, - ImGuiID key, - void* val) { - return self->SetVoidPtr(key, val); -} -CIMGUI_API int* ImGuiStorage_GetIntRef(ImGuiStorage* self, - ImGuiID key, - int default_val) { - return self->GetIntRef(key, default_val); -} -CIMGUI_API bool* ImGuiStorage_GetBoolRef(ImGuiStorage* self, - ImGuiID key, - bool default_val) { - return self->GetBoolRef(key, default_val); -} -CIMGUI_API float* ImGuiStorage_GetFloatRef(ImGuiStorage* self, - ImGuiID key, - float default_val) { - return self->GetFloatRef(key, default_val); -} -CIMGUI_API void** ImGuiStorage_GetVoidPtrRef(ImGuiStorage* self, - ImGuiID key, - void* default_val) { - return self->GetVoidPtrRef(key, default_val); -} -CIMGUI_API void ImGuiStorage_BuildSortByKey(ImGuiStorage* self) { - return self->BuildSortByKey(); -} -CIMGUI_API void ImGuiStorage_SetAllInt(ImGuiStorage* self, int val) { - return self->SetAllInt(val); -} -CIMGUI_API ImGuiListClipper* ImGuiListClipper_ImGuiListClipper(void) { - return IM_NEW(ImGuiListClipper)(); -} -CIMGUI_API void ImGuiListClipper_destroy(ImGuiListClipper* self) { - IM_DELETE(self); -} -CIMGUI_API void ImGuiListClipper_Begin(ImGuiListClipper* self, - int items_count, - float items_height) { - return self->Begin(items_count, items_height); -} -CIMGUI_API void ImGuiListClipper_End(ImGuiListClipper* self) { - return self->End(); -} -CIMGUI_API bool ImGuiListClipper_Step(ImGuiListClipper* self) { - return self->Step(); -} -CIMGUI_API void ImGuiListClipper_IncludeItemByIndex(ImGuiListClipper* self, - int item_index) { - return self->IncludeItemByIndex(item_index); -} -CIMGUI_API void ImGuiListClipper_IncludeItemsByIndex(ImGuiListClipper* self, - int item_begin, - int item_end) { - return self->IncludeItemsByIndex(item_begin, item_end); -} -CIMGUI_API ImColor* ImColor_ImColor_Nil(void) { - return IM_NEW(ImColor)(); -} -CIMGUI_API void ImColor_destroy(ImColor* self) { - IM_DELETE(self); -} -CIMGUI_API ImColor* ImColor_ImColor_Float(float r, float g, float b, float a) { - return IM_NEW(ImColor)(r, g, b, a); -} -CIMGUI_API ImColor* ImColor_ImColor_Vec4(const ImVec4 col) { - return IM_NEW(ImColor)(col); -} -CIMGUI_API ImColor* ImColor_ImColor_Int(int r, int g, int b, int a) { - return IM_NEW(ImColor)(r, g, b, a); -} -CIMGUI_API ImColor* ImColor_ImColor_U32(ImU32 rgba) { - return IM_NEW(ImColor)(rgba); -} -CIMGUI_API void ImColor_SetHSV(ImColor* self, - float h, - float s, - float v, - float a) { - return self->SetHSV(h, s, v, a); -} -CIMGUI_API void ImColor_HSV(ImColor* pOut, float h, float s, float v, float a) { - *pOut = ImColor::HSV(h, s, v, a); -} -CIMGUI_API ImDrawCmd* ImDrawCmd_ImDrawCmd(void) { - return IM_NEW(ImDrawCmd)(); -} -CIMGUI_API void ImDrawCmd_destroy(ImDrawCmd* self) { - IM_DELETE(self); -} -CIMGUI_API ImTextureID ImDrawCmd_GetTexID(ImDrawCmd* self) { - return self->GetTexID(); -} -CIMGUI_API ImDrawListSplitter* ImDrawListSplitter_ImDrawListSplitter(void) { - return IM_NEW(ImDrawListSplitter)(); -} -CIMGUI_API void ImDrawListSplitter_destroy(ImDrawListSplitter* self) { - IM_DELETE(self); -} -CIMGUI_API void ImDrawListSplitter_Clear(ImDrawListSplitter* self) { - return self->Clear(); -} -CIMGUI_API void ImDrawListSplitter_ClearFreeMemory(ImDrawListSplitter* self) { - return self->ClearFreeMemory(); -} -CIMGUI_API void ImDrawListSplitter_Split(ImDrawListSplitter* self, - ImDrawList* draw_list, - int count) { - return self->Split(draw_list, count); -} -CIMGUI_API void ImDrawListSplitter_Merge(ImDrawListSplitter* self, - ImDrawList* draw_list) { - return self->Merge(draw_list); -} -CIMGUI_API void ImDrawListSplitter_SetCurrentChannel(ImDrawListSplitter* self, - ImDrawList* draw_list, - int channel_idx) { - return self->SetCurrentChannel(draw_list, channel_idx); -} -CIMGUI_API ImDrawList* ImDrawList_ImDrawList( - ImDrawListSharedData* shared_data) { - return IM_NEW(ImDrawList)(shared_data); -} -CIMGUI_API void ImDrawList_destroy(ImDrawList* self) { - IM_DELETE(self); -} -CIMGUI_API void ImDrawList_PushClipRect(ImDrawList* self, - const ImVec2 clip_rect_min, - const ImVec2 clip_rect_max, - bool intersect_with_current_clip_rect) { - return self->PushClipRect(clip_rect_min, clip_rect_max, - intersect_with_current_clip_rect); -} -CIMGUI_API void ImDrawList_PushClipRectFullScreen(ImDrawList* self) { - return self->PushClipRectFullScreen(); -} -CIMGUI_API void ImDrawList_PopClipRect(ImDrawList* self) { - return self->PopClipRect(); -} -CIMGUI_API void ImDrawList_PushTextureID(ImDrawList* self, - ImTextureID texture_id) { - return self->PushTextureID(texture_id); -} -CIMGUI_API void ImDrawList_PopTextureID(ImDrawList* self) { - return self->PopTextureID(); -} -CIMGUI_API void ImDrawList_GetClipRectMin(ImVec2* pOut, ImDrawList* self) { - *pOut = self->GetClipRectMin(); -} -CIMGUI_API void ImDrawList_GetClipRectMax(ImVec2* pOut, ImDrawList* self) { - *pOut = self->GetClipRectMax(); -} -CIMGUI_API void ImDrawList_AddLine(ImDrawList* self, - const ImVec2 p1, - const ImVec2 p2, - ImU32 col, - float thickness) { - return self->AddLine(p1, p2, col, thickness); -} -CIMGUI_API void ImDrawList_AddRect(ImDrawList* self, - const ImVec2 p_min, - const ImVec2 p_max, - ImU32 col, - float rounding, - ImDrawFlags flags, - float thickness) { - return self->AddRect(p_min, p_max, col, rounding, flags, thickness); -} -CIMGUI_API void ImDrawList_AddRectFilled(ImDrawList* self, - const ImVec2 p_min, - const ImVec2 p_max, - ImU32 col, - float rounding, - ImDrawFlags flags) { - return self->AddRectFilled(p_min, p_max, col, rounding, flags); -} -CIMGUI_API void ImDrawList_AddRectFilledMultiColor(ImDrawList* self, - const ImVec2 p_min, - const ImVec2 p_max, - ImU32 col_upr_left, - ImU32 col_upr_right, - ImU32 col_bot_right, - ImU32 col_bot_left) { - return self->AddRectFilledMultiColor( - p_min, p_max, col_upr_left, col_upr_right, col_bot_right, col_bot_left); -} -CIMGUI_API void ImDrawList_AddQuad(ImDrawList* self, - const ImVec2 p1, - const ImVec2 p2, - const ImVec2 p3, - const ImVec2 p4, - ImU32 col, - float thickness) { - return self->AddQuad(p1, p2, p3, p4, col, thickness); -} -CIMGUI_API void ImDrawList_AddQuadFilled(ImDrawList* self, - const ImVec2 p1, - const ImVec2 p2, - const ImVec2 p3, - const ImVec2 p4, - ImU32 col) { - return self->AddQuadFilled(p1, p2, p3, p4, col); -} -CIMGUI_API void ImDrawList_AddTriangle(ImDrawList* self, - const ImVec2 p1, - const ImVec2 p2, - const ImVec2 p3, - ImU32 col, - float thickness) { - return self->AddTriangle(p1, p2, p3, col, thickness); -} -CIMGUI_API void ImDrawList_AddTriangleFilled(ImDrawList* self, - const ImVec2 p1, - const ImVec2 p2, - const ImVec2 p3, - ImU32 col) { - return self->AddTriangleFilled(p1, p2, p3, col); -} -CIMGUI_API void ImDrawList_AddCircle(ImDrawList* self, - const ImVec2 center, - float radius, - ImU32 col, - int num_segments, - float thickness) { - return self->AddCircle(center, radius, col, num_segments, thickness); -} -CIMGUI_API void ImDrawList_AddCircleFilled(ImDrawList* self, - const ImVec2 center, - float radius, - ImU32 col, - int num_segments) { - return self->AddCircleFilled(center, radius, col, num_segments); -} -CIMGUI_API void ImDrawList_AddNgon(ImDrawList* self, - const ImVec2 center, - float radius, - ImU32 col, - int num_segments, - float thickness) { - return self->AddNgon(center, radius, col, num_segments, thickness); -} -CIMGUI_API void ImDrawList_AddNgonFilled(ImDrawList* self, - const ImVec2 center, - float radius, - ImU32 col, - int num_segments) { - return self->AddNgonFilled(center, radius, col, num_segments); -} -CIMGUI_API void ImDrawList_AddEllipse(ImDrawList* self, - const ImVec2 center, - const ImVec2 radius, - ImU32 col, - float rot, - int num_segments, - float thickness) { - return self->AddEllipse(center, radius, col, rot, num_segments, thickness); -} -CIMGUI_API void ImDrawList_AddEllipseFilled(ImDrawList* self, - const ImVec2 center, - const ImVec2 radius, - ImU32 col, - float rot, - int num_segments) { - return self->AddEllipseFilled(center, radius, col, rot, num_segments); -} -CIMGUI_API void ImDrawList_AddText_Vec2(ImDrawList* self, - const ImVec2 pos, - ImU32 col, - const char* text_begin, - const char* text_end) { - return self->AddText(pos, col, text_begin, text_end); -} -CIMGUI_API void ImDrawList_AddText_FontPtr(ImDrawList* self, - const ImFont* font, - float font_size, - const ImVec2 pos, - ImU32 col, - const char* text_begin, - const char* text_end, - float wrap_width, - const ImVec4* cpu_fine_clip_rect) { - return self->AddText(font, font_size, pos, col, text_begin, text_end, - wrap_width, cpu_fine_clip_rect); -} -CIMGUI_API void ImDrawList_AddBezierCubic(ImDrawList* self, - const ImVec2 p1, - const ImVec2 p2, - const ImVec2 p3, - const ImVec2 p4, - ImU32 col, - float thickness, - int num_segments) { - return self->AddBezierCubic(p1, p2, p3, p4, col, thickness, num_segments); -} -CIMGUI_API void ImDrawList_AddBezierQuadratic(ImDrawList* self, - const ImVec2 p1, - const ImVec2 p2, - const ImVec2 p3, - ImU32 col, - float thickness, - int num_segments) { - return self->AddBezierQuadratic(p1, p2, p3, col, thickness, num_segments); -} -CIMGUI_API void ImDrawList_AddPolyline(ImDrawList* self, - const ImVec2* points, - int num_points, - ImU32 col, - ImDrawFlags flags, - float thickness) { - return self->AddPolyline(points, num_points, col, flags, thickness); -} -CIMGUI_API void ImDrawList_AddConvexPolyFilled(ImDrawList* self, - const ImVec2* points, - int num_points, - ImU32 col) { - return self->AddConvexPolyFilled(points, num_points, col); -} -CIMGUI_API void ImDrawList_AddConcavePolyFilled(ImDrawList* self, - const ImVec2* points, - int num_points, - ImU32 col) { - return self->AddConcavePolyFilled(points, num_points, col); -} -CIMGUI_API void ImDrawList_AddImage(ImDrawList* self, - ImTextureID user_texture_id, - const ImVec2 p_min, - const ImVec2 p_max, - const ImVec2 uv_min, - const ImVec2 uv_max, - ImU32 col) { - return self->AddImage(user_texture_id, p_min, p_max, uv_min, uv_max, col); -} -CIMGUI_API void ImDrawList_AddImageQuad(ImDrawList* self, - ImTextureID user_texture_id, - const ImVec2 p1, - const ImVec2 p2, - const ImVec2 p3, - const ImVec2 p4, - const ImVec2 uv1, - const ImVec2 uv2, - const ImVec2 uv3, - const ImVec2 uv4, - ImU32 col) { - return self->AddImageQuad(user_texture_id, p1, p2, p3, p4, uv1, uv2, uv3, uv4, - col); -} -CIMGUI_API void ImDrawList_AddImageRounded(ImDrawList* self, - ImTextureID user_texture_id, - const ImVec2 p_min, - const ImVec2 p_max, - const ImVec2 uv_min, - const ImVec2 uv_max, - ImU32 col, - float rounding, - ImDrawFlags flags) { - return self->AddImageRounded(user_texture_id, p_min, p_max, uv_min, uv_max, - col, rounding, flags); -} -CIMGUI_API void ImDrawList_PathClear(ImDrawList* self) { - return self->PathClear(); -} -CIMGUI_API void ImDrawList_PathLineTo(ImDrawList* self, const ImVec2 pos) { - return self->PathLineTo(pos); -} -CIMGUI_API void ImDrawList_PathLineToMergeDuplicate(ImDrawList* self, - const ImVec2 pos) { - return self->PathLineToMergeDuplicate(pos); -} -CIMGUI_API void ImDrawList_PathFillConvex(ImDrawList* self, ImU32 col) { - return self->PathFillConvex(col); -} -CIMGUI_API void ImDrawList_PathFillConcave(ImDrawList* self, ImU32 col) { - return self->PathFillConcave(col); -} -CIMGUI_API void ImDrawList_PathStroke(ImDrawList* self, - ImU32 col, - ImDrawFlags flags, - float thickness) { - return self->PathStroke(col, flags, thickness); -} -CIMGUI_API void ImDrawList_PathArcTo(ImDrawList* self, - const ImVec2 center, - float radius, - float a_min, - float a_max, - int num_segments) { - return self->PathArcTo(center, radius, a_min, a_max, num_segments); -} -CIMGUI_API void ImDrawList_PathArcToFast(ImDrawList* self, - const ImVec2 center, - float radius, - int a_min_of_12, - int a_max_of_12) { - return self->PathArcToFast(center, radius, a_min_of_12, a_max_of_12); -} -CIMGUI_API void ImDrawList_PathEllipticalArcTo(ImDrawList* self, - const ImVec2 center, - const ImVec2 radius, - float rot, - float a_min, - float a_max, - int num_segments) { - return self->PathEllipticalArcTo(center, radius, rot, a_min, a_max, - num_segments); -} -CIMGUI_API void ImDrawList_PathBezierCubicCurveTo(ImDrawList* self, - const ImVec2 p2, - const ImVec2 p3, - const ImVec2 p4, - int num_segments) { - return self->PathBezierCubicCurveTo(p2, p3, p4, num_segments); -} -CIMGUI_API void ImDrawList_PathBezierQuadraticCurveTo(ImDrawList* self, - const ImVec2 p2, - const ImVec2 p3, - int num_segments) { - return self->PathBezierQuadraticCurveTo(p2, p3, num_segments); -} -CIMGUI_API void ImDrawList_PathRect(ImDrawList* self, - const ImVec2 rect_min, - const ImVec2 rect_max, - float rounding, - ImDrawFlags flags) { - return self->PathRect(rect_min, rect_max, rounding, flags); -} -CIMGUI_API void ImDrawList_AddCallback(ImDrawList* self, - ImDrawCallback callback, - void* callback_data) { - return self->AddCallback(callback, callback_data); -} -CIMGUI_API void ImDrawList_AddDrawCmd(ImDrawList* self) { - return self->AddDrawCmd(); -} -CIMGUI_API ImDrawList* ImDrawList_CloneOutput(ImDrawList* self) { - return self->CloneOutput(); -} -CIMGUI_API void ImDrawList_ChannelsSplit(ImDrawList* self, int count) { - return self->ChannelsSplit(count); -} -CIMGUI_API void ImDrawList_ChannelsMerge(ImDrawList* self) { - return self->ChannelsMerge(); -} -CIMGUI_API void ImDrawList_ChannelsSetCurrent(ImDrawList* self, int n) { - return self->ChannelsSetCurrent(n); -} -CIMGUI_API void ImDrawList_PrimReserve(ImDrawList* self, - int idx_count, - int vtx_count) { - return self->PrimReserve(idx_count, vtx_count); -} -CIMGUI_API void ImDrawList_PrimUnreserve(ImDrawList* self, - int idx_count, - int vtx_count) { - return self->PrimUnreserve(idx_count, vtx_count); -} -CIMGUI_API void ImDrawList_PrimRect(ImDrawList* self, - const ImVec2 a, - const ImVec2 b, - ImU32 col) { - return self->PrimRect(a, b, col); -} -CIMGUI_API void ImDrawList_PrimRectUV(ImDrawList* self, - const ImVec2 a, - const ImVec2 b, - const ImVec2 uv_a, - const ImVec2 uv_b, - ImU32 col) { - return self->PrimRectUV(a, b, uv_a, uv_b, col); -} -CIMGUI_API void ImDrawList_PrimQuadUV(ImDrawList* self, - const ImVec2 a, - const ImVec2 b, - const ImVec2 c, - const ImVec2 d, - const ImVec2 uv_a, - const ImVec2 uv_b, - const ImVec2 uv_c, - const ImVec2 uv_d, - ImU32 col) { - return self->PrimQuadUV(a, b, c, d, uv_a, uv_b, uv_c, uv_d, col); -} -CIMGUI_API void ImDrawList_PrimWriteVtx(ImDrawList* self, - const ImVec2 pos, - const ImVec2 uv, - ImU32 col) { - return self->PrimWriteVtx(pos, uv, col); -} -CIMGUI_API void ImDrawList_PrimWriteIdx(ImDrawList* self, ImDrawIdx idx) { - return self->PrimWriteIdx(idx); -} -CIMGUI_API void ImDrawList_PrimVtx(ImDrawList* self, - const ImVec2 pos, - const ImVec2 uv, - ImU32 col) { - return self->PrimVtx(pos, uv, col); -} -CIMGUI_API void ImDrawList__ResetForNewFrame(ImDrawList* self) { - return self->_ResetForNewFrame(); -} -CIMGUI_API void ImDrawList__ClearFreeMemory(ImDrawList* self) { - return self->_ClearFreeMemory(); -} -CIMGUI_API void ImDrawList__PopUnusedDrawCmd(ImDrawList* self) { - return self->_PopUnusedDrawCmd(); -} -CIMGUI_API void ImDrawList__TryMergeDrawCmds(ImDrawList* self) { - return self->_TryMergeDrawCmds(); -} -CIMGUI_API void ImDrawList__OnChangedClipRect(ImDrawList* self) { - return self->_OnChangedClipRect(); -} -CIMGUI_API void ImDrawList__OnChangedTextureID(ImDrawList* self) { - return self->_OnChangedTextureID(); -} -CIMGUI_API void ImDrawList__OnChangedVtxOffset(ImDrawList* self) { - return self->_OnChangedVtxOffset(); -} -CIMGUI_API int ImDrawList__CalcCircleAutoSegmentCount(ImDrawList* self, - float radius) { - return self->_CalcCircleAutoSegmentCount(radius); -} -CIMGUI_API void ImDrawList__PathArcToFastEx(ImDrawList* self, - const ImVec2 center, - float radius, - int a_min_sample, - int a_max_sample, - int a_step) { - return self->_PathArcToFastEx(center, radius, a_min_sample, a_max_sample, - a_step); -} -CIMGUI_API void ImDrawList__PathArcToN(ImDrawList* self, - const ImVec2 center, - float radius, - float a_min, - float a_max, - int num_segments) { - return self->_PathArcToN(center, radius, a_min, a_max, num_segments); -} -CIMGUI_API ImDrawData* ImDrawData_ImDrawData(void) { - return IM_NEW(ImDrawData)(); -} -CIMGUI_API void ImDrawData_destroy(ImDrawData* self) { - IM_DELETE(self); -} -CIMGUI_API void ImDrawData_Clear(ImDrawData* self) { - return self->Clear(); -} -CIMGUI_API void ImDrawData_AddDrawList(ImDrawData* self, - ImDrawList* draw_list) { - return self->AddDrawList(draw_list); -} -CIMGUI_API void ImDrawData_DeIndexAllBuffers(ImDrawData* self) { - return self->DeIndexAllBuffers(); -} -CIMGUI_API void ImDrawData_ScaleClipRects(ImDrawData* self, - const ImVec2 fb_scale) { - return self->ScaleClipRects(fb_scale); -} -CIMGUI_API ImFontConfig* ImFontConfig_ImFontConfig(void) { - return IM_NEW(ImFontConfig)(); -} -CIMGUI_API void ImFontConfig_destroy(ImFontConfig* self) { - IM_DELETE(self); -} -CIMGUI_API ImFontGlyphRangesBuilder* -ImFontGlyphRangesBuilder_ImFontGlyphRangesBuilder(void) { - return IM_NEW(ImFontGlyphRangesBuilder)(); -} -CIMGUI_API void ImFontGlyphRangesBuilder_destroy( - ImFontGlyphRangesBuilder* self) { - IM_DELETE(self); -} -CIMGUI_API void ImFontGlyphRangesBuilder_Clear(ImFontGlyphRangesBuilder* self) { - return self->Clear(); -} -CIMGUI_API bool ImFontGlyphRangesBuilder_GetBit(ImFontGlyphRangesBuilder* self, - size_t n) { - return self->GetBit(n); -} -CIMGUI_API void ImFontGlyphRangesBuilder_SetBit(ImFontGlyphRangesBuilder* self, - size_t n) { - return self->SetBit(n); -} -CIMGUI_API void ImFontGlyphRangesBuilder_AddChar(ImFontGlyphRangesBuilder* self, - ImWchar c) { - return self->AddChar(c); -} -CIMGUI_API void ImFontGlyphRangesBuilder_AddText(ImFontGlyphRangesBuilder* self, - const char* text, - const char* text_end) { - return self->AddText(text, text_end); -} -CIMGUI_API void ImFontGlyphRangesBuilder_AddRanges( - ImFontGlyphRangesBuilder* self, - const ImWchar* ranges) { - return self->AddRanges(ranges); -} -CIMGUI_API void ImFontGlyphRangesBuilder_BuildRanges( - ImFontGlyphRangesBuilder* self, - ImVector_ImWchar* out_ranges) { - return self->BuildRanges(out_ranges); -} -CIMGUI_API ImFontAtlasCustomRect* ImFontAtlasCustomRect_ImFontAtlasCustomRect( - void) { - return IM_NEW(ImFontAtlasCustomRect)(); -} -CIMGUI_API void ImFontAtlasCustomRect_destroy(ImFontAtlasCustomRect* self) { - IM_DELETE(self); -} -CIMGUI_API bool ImFontAtlasCustomRect_IsPacked(ImFontAtlasCustomRect* self) { - return self->IsPacked(); -} -CIMGUI_API ImFontAtlas* ImFontAtlas_ImFontAtlas(void) { - return IM_NEW(ImFontAtlas)(); -} -CIMGUI_API void ImFontAtlas_destroy(ImFontAtlas* self) { - IM_DELETE(self); -} -CIMGUI_API ImFont* ImFontAtlas_AddFont(ImFontAtlas* self, - const ImFontConfig* font_cfg) { - return self->AddFont(font_cfg); -} -CIMGUI_API ImFont* ImFontAtlas_AddFontDefault(ImFontAtlas* self, - const ImFontConfig* font_cfg) { - return self->AddFontDefault(font_cfg); -} -CIMGUI_API ImFont* ImFontAtlas_AddFontFromFileTTF(ImFontAtlas* self, - const char* filename, - float size_pixels, - const ImFontConfig* font_cfg, - const ImWchar* glyph_ranges) { - return self->AddFontFromFileTTF(filename, size_pixels, font_cfg, - glyph_ranges); -} -CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryTTF( - ImFontAtlas* self, - void* font_data, - int font_data_size, - float size_pixels, - const ImFontConfig* font_cfg, - const ImWchar* glyph_ranges) { - return self->AddFontFromMemoryTTF(font_data, font_data_size, size_pixels, - font_cfg, glyph_ranges); -} -CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryCompressedTTF( - ImFontAtlas* self, - const void* compressed_font_data, - int compressed_font_data_size, - float size_pixels, - const ImFontConfig* font_cfg, - const ImWchar* glyph_ranges) { - return self->AddFontFromMemoryCompressedTTF( - compressed_font_data, compressed_font_data_size, size_pixels, font_cfg, - glyph_ranges); -} -CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryCompressedBase85TTF( - ImFontAtlas* self, - const char* compressed_font_data_base85, - float size_pixels, - const ImFontConfig* font_cfg, - const ImWchar* glyph_ranges) { - return self->AddFontFromMemoryCompressedBase85TTF( - compressed_font_data_base85, size_pixels, font_cfg, glyph_ranges); -} -CIMGUI_API void ImFontAtlas_ClearInputData(ImFontAtlas* self) { - return self->ClearInputData(); -} -CIMGUI_API void ImFontAtlas_ClearTexData(ImFontAtlas* self) { - return self->ClearTexData(); -} -CIMGUI_API void ImFontAtlas_ClearFonts(ImFontAtlas* self) { - return self->ClearFonts(); -} -CIMGUI_API void ImFontAtlas_Clear(ImFontAtlas* self) { - return self->Clear(); -} -CIMGUI_API bool ImFontAtlas_Build(ImFontAtlas* self) { - return self->Build(); -} -CIMGUI_API void ImFontAtlas_GetTexDataAsAlpha8(ImFontAtlas* self, - unsigned char** out_pixels, - int* out_width, - int* out_height, - int* out_bytes_per_pixel) { - return self->GetTexDataAsAlpha8(out_pixels, out_width, out_height, - out_bytes_per_pixel); -} -CIMGUI_API void ImFontAtlas_GetTexDataAsRGBA32(ImFontAtlas* self, - unsigned char** out_pixels, - int* out_width, - int* out_height, - int* out_bytes_per_pixel) { - return self->GetTexDataAsRGBA32(out_pixels, out_width, out_height, - out_bytes_per_pixel); -} -CIMGUI_API bool ImFontAtlas_IsBuilt(ImFontAtlas* self) { - return self->IsBuilt(); -} -CIMGUI_API void ImFontAtlas_SetTexID(ImFontAtlas* self, ImTextureID id) { - return self->SetTexID(id); -} -CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesDefault(ImFontAtlas* self) { - return self->GetGlyphRangesDefault(); -} -CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesGreek(ImFontAtlas* self) { - return self->GetGlyphRangesGreek(); -} -CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesKorean(ImFontAtlas* self) { - return self->GetGlyphRangesKorean(); -} -CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesJapanese( - ImFontAtlas* self) { - return self->GetGlyphRangesJapanese(); -} -CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesChineseFull( - ImFontAtlas* self) { - return self->GetGlyphRangesChineseFull(); -} -CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesChineseSimplifiedCommon( - ImFontAtlas* self) { - return self->GetGlyphRangesChineseSimplifiedCommon(); -} -CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesCyrillic( - ImFontAtlas* self) { - return self->GetGlyphRangesCyrillic(); -} -CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesThai(ImFontAtlas* self) { - return self->GetGlyphRangesThai(); -} -CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesVietnamese( - ImFontAtlas* self) { - return self->GetGlyphRangesVietnamese(); -} -CIMGUI_API int ImFontAtlas_AddCustomRectRegular(ImFontAtlas* self, - int width, - int height) { - return self->AddCustomRectRegular(width, height); -} -CIMGUI_API int ImFontAtlas_AddCustomRectFontGlyph(ImFontAtlas* self, - ImFont* font, - ImWchar id, - int width, - int height, - float advance_x, - const ImVec2 offset) { - return self->AddCustomRectFontGlyph(font, id, width, height, advance_x, - offset); -} -CIMGUI_API ImFontAtlasCustomRect* ImFontAtlas_GetCustomRectByIndex( - ImFontAtlas* self, - int index) { - return self->GetCustomRectByIndex(index); -} -CIMGUI_API void ImFontAtlas_CalcCustomRectUV(ImFontAtlas* self, - const ImFontAtlasCustomRect* rect, - ImVec2* out_uv_min, - ImVec2* out_uv_max) { - return self->CalcCustomRectUV(rect, out_uv_min, out_uv_max); -} -CIMGUI_API bool ImFontAtlas_GetMouseCursorTexData(ImFontAtlas* self, - ImGuiMouseCursor cursor, - ImVec2* out_offset, - ImVec2* out_size, - ImVec2 out_uv_border[2], - ImVec2 out_uv_fill[2]) { - return self->GetMouseCursorTexData(cursor, out_offset, out_size, - out_uv_border, out_uv_fill); -} -CIMGUI_API ImFont* ImFont_ImFont(void) { - return IM_NEW(ImFont)(); -} -CIMGUI_API void ImFont_destroy(ImFont* self) { - IM_DELETE(self); -} -CIMGUI_API const ImFontGlyph* ImFont_FindGlyph(ImFont* self, ImWchar c) { - return self->FindGlyph(c); -} -CIMGUI_API const ImFontGlyph* ImFont_FindGlyphNoFallback(ImFont* self, - ImWchar c) { - return self->FindGlyphNoFallback(c); -} -CIMGUI_API float ImFont_GetCharAdvance(ImFont* self, ImWchar c) { - return self->GetCharAdvance(c); -} -CIMGUI_API bool ImFont_IsLoaded(ImFont* self) { - return self->IsLoaded(); -} -CIMGUI_API const char* ImFont_GetDebugName(ImFont* self) { - return self->GetDebugName(); -} -CIMGUI_API void ImFont_CalcTextSizeA(ImVec2* pOut, - ImFont* self, - float size, - float max_width, - float wrap_width, - const char* text_begin, - const char* text_end, - const char** remaining) { - *pOut = self->CalcTextSizeA(size, max_width, wrap_width, text_begin, text_end, - remaining); -} -CIMGUI_API const char* ImFont_CalcWordWrapPositionA(ImFont* self, - float scale, - const char* text, - const char* text_end, - float wrap_width) { - return self->CalcWordWrapPositionA(scale, text, text_end, wrap_width); -} -CIMGUI_API void ImFont_RenderChar(ImFont* self, - ImDrawList* draw_list, - float size, - const ImVec2 pos, - ImU32 col, - ImWchar c) { - return self->RenderChar(draw_list, size, pos, col, c); -} -CIMGUI_API void ImFont_RenderText(ImFont* self, - ImDrawList* draw_list, - float size, - const ImVec2 pos, - ImU32 col, - const ImVec4 clip_rect, - const char* text_begin, - const char* text_end, - float wrap_width, - bool cpu_fine_clip) { - return self->RenderText(draw_list, size, pos, col, clip_rect, text_begin, - text_end, wrap_width, cpu_fine_clip); -} -CIMGUI_API void ImFont_BuildLookupTable(ImFont* self) { - return self->BuildLookupTable(); -} -CIMGUI_API void ImFont_ClearOutputData(ImFont* self) { - return self->ClearOutputData(); -} -CIMGUI_API void ImFont_GrowIndex(ImFont* self, int new_size) { - return self->GrowIndex(new_size); -} -CIMGUI_API void ImFont_AddGlyph(ImFont* self, - const ImFontConfig* src_cfg, - ImWchar c, - float x0, - float y0, - float x1, - float y1, - float u0, - float v0, - float u1, - float v1, - float advance_x) { - return self->AddGlyph(src_cfg, c, x0, y0, x1, y1, u0, v0, u1, v1, advance_x); -} -CIMGUI_API void ImFont_AddRemapChar(ImFont* self, - ImWchar dst, - ImWchar src, - bool overwrite_dst) { - return self->AddRemapChar(dst, src, overwrite_dst); -} -CIMGUI_API void ImFont_SetGlyphVisible(ImFont* self, ImWchar c, bool visible) { - return self->SetGlyphVisible(c, visible); -} -CIMGUI_API bool ImFont_IsGlyphRangeUnused(ImFont* self, - unsigned int c_begin, - unsigned int c_last) { - return self->IsGlyphRangeUnused(c_begin, c_last); -} -CIMGUI_API ImGuiViewport* ImGuiViewport_ImGuiViewport(void) { - return IM_NEW(ImGuiViewport)(); -} -CIMGUI_API void ImGuiViewport_destroy(ImGuiViewport* self) { - IM_DELETE(self); -} -CIMGUI_API void ImGuiViewport_GetCenter(ImVec2* pOut, ImGuiViewport* self) { - *pOut = self->GetCenter(); -} -CIMGUI_API void ImGuiViewport_GetWorkCenter(ImVec2* pOut, ImGuiViewport* self) { - *pOut = self->GetWorkCenter(); -} -CIMGUI_API ImGuiPlatformIO* ImGuiPlatformIO_ImGuiPlatformIO(void) { - return IM_NEW(ImGuiPlatformIO)(); -} -CIMGUI_API void ImGuiPlatformIO_destroy(ImGuiPlatformIO* self) { - IM_DELETE(self); -} -CIMGUI_API ImGuiPlatformMonitor* ImGuiPlatformMonitor_ImGuiPlatformMonitor( - void) { - return IM_NEW(ImGuiPlatformMonitor)(); -} -CIMGUI_API void ImGuiPlatformMonitor_destroy(ImGuiPlatformMonitor* self) { - IM_DELETE(self); -} -CIMGUI_API ImGuiPlatformImeData* ImGuiPlatformImeData_ImGuiPlatformImeData( - void) { - return IM_NEW(ImGuiPlatformImeData)(); -} -CIMGUI_API void ImGuiPlatformImeData_destroy(ImGuiPlatformImeData* self) { - IM_DELETE(self); -} -CIMGUI_API ImGuiID igImHashData(const void* data, - size_t data_size, - ImGuiID seed) { - return ImHashData(data, data_size, seed); -} -CIMGUI_API ImGuiID igImHashStr(const char* data, - size_t data_size, - ImGuiID seed) { - return ImHashStr(data, data_size, seed); -} -CIMGUI_API void igImQsort(void* base, - size_t count, - size_t size_of_element, - int (*compare_func)(void const*, void const*)) { - return ImQsort(base, count, size_of_element, compare_func); -} -CIMGUI_API ImU32 igImAlphaBlendColors(ImU32 col_a, ImU32 col_b) { - return ImAlphaBlendColors(col_a, col_b); -} -CIMGUI_API bool igImIsPowerOfTwo_Int(int v) { - return ImIsPowerOfTwo(v); -} -CIMGUI_API bool igImIsPowerOfTwo_U64(ImU64 v) { - return ImIsPowerOfTwo(v); -} -CIMGUI_API int igImUpperPowerOfTwo(int v) { - return ImUpperPowerOfTwo(v); -} -CIMGUI_API int igImStricmp(const char* str1, const char* str2) { - return ImStricmp(str1, str2); -} -CIMGUI_API int igImStrnicmp(const char* str1, const char* str2, size_t count) { - return ImStrnicmp(str1, str2, count); -} -CIMGUI_API void igImStrncpy(char* dst, const char* src, size_t count) { - return ImStrncpy(dst, src, count); -} -CIMGUI_API char* igImStrdup(const char* str) { - return ImStrdup(str); -} -CIMGUI_API char* igImStrdupcpy(char* dst, size_t* p_dst_size, const char* str) { - return ImStrdupcpy(dst, p_dst_size, str); -} -CIMGUI_API const char* igImStrchrRange(const char* str_begin, - const char* str_end, - char c) { - return ImStrchrRange(str_begin, str_end, c); -} -CIMGUI_API const char* igImStreolRange(const char* str, const char* str_end) { - return ImStreolRange(str, str_end); -} -CIMGUI_API const char* igImStristr(const char* haystack, - const char* haystack_end, - const char* needle, - const char* needle_end) { - return ImStristr(haystack, haystack_end, needle, needle_end); -} -CIMGUI_API void igImStrTrimBlanks(char* str) { - return ImStrTrimBlanks(str); -} -CIMGUI_API const char* igImStrSkipBlank(const char* str) { - return ImStrSkipBlank(str); -} -CIMGUI_API int igImStrlenW(const ImWchar* str) { - return ImStrlenW(str); -} -CIMGUI_API const ImWchar* igImStrbolW(const ImWchar* buf_mid_line, - const ImWchar* buf_begin) { - return ImStrbolW(buf_mid_line, buf_begin); -} -CIMGUI_API char igImToUpper(char c) { - return ImToUpper(c); -} -CIMGUI_API bool igImCharIsBlankA(char c) { - return ImCharIsBlankA(c); -} -CIMGUI_API bool igImCharIsBlankW(unsigned int c) { - return ImCharIsBlankW(c); -} -CIMGUI_API int igImFormatString(char* buf, - size_t buf_size, - const char* fmt, - ...) { - va_list args; - va_start(args, fmt); - int ret = ImFormatStringV(buf, buf_size, fmt, args); - va_end(args); - return ret; -} -CIMGUI_API int igImFormatStringV(char* buf, - size_t buf_size, - const char* fmt, - va_list args) { - return ImFormatStringV(buf, buf_size, fmt, args); -} -CIMGUI_API void igImFormatStringToTempBuffer(const char** out_buf, - const char** out_buf_end, - const char* fmt, - ...) { - va_list args; - va_start(args, fmt); - ImFormatStringToTempBufferV(out_buf, out_buf_end, fmt, args); - va_end(args); -} -CIMGUI_API void igImFormatStringToTempBufferV(const char** out_buf, - const char** out_buf_end, - const char* fmt, - va_list args) { - return ImFormatStringToTempBufferV(out_buf, out_buf_end, fmt, args); -} -CIMGUI_API const char* igImParseFormatFindStart(const char* format) { - return ImParseFormatFindStart(format); -} -CIMGUI_API const char* igImParseFormatFindEnd(const char* format) { - return ImParseFormatFindEnd(format); -} -CIMGUI_API const char* igImParseFormatTrimDecorations(const char* format, - char* buf, - size_t buf_size) { - return ImParseFormatTrimDecorations(format, buf, buf_size); -} -CIMGUI_API void igImParseFormatSanitizeForPrinting(const char* fmt_in, - char* fmt_out, - size_t fmt_out_size) { - return ImParseFormatSanitizeForPrinting(fmt_in, fmt_out, fmt_out_size); -} -CIMGUI_API const char* igImParseFormatSanitizeForScanning(const char* fmt_in, - char* fmt_out, - size_t fmt_out_size) { - return ImParseFormatSanitizeForScanning(fmt_in, fmt_out, fmt_out_size); -} -CIMGUI_API int igImParseFormatPrecision(const char* format, int default_value) { - return ImParseFormatPrecision(format, default_value); -} -CIMGUI_API const char* igImTextCharToUtf8(char out_buf[5], unsigned int c) { - return ImTextCharToUtf8(out_buf, c); -} -CIMGUI_API int igImTextStrToUtf8(char* out_buf, - int out_buf_size, - const ImWchar* in_text, - const ImWchar* in_text_end) { - return ImTextStrToUtf8(out_buf, out_buf_size, in_text, in_text_end); -} -CIMGUI_API int igImTextCharFromUtf8(unsigned int* out_char, - const char* in_text, - const char* in_text_end) { - return ImTextCharFromUtf8(out_char, in_text, in_text_end); -} -CIMGUI_API int igImTextStrFromUtf8(ImWchar* out_buf, - int out_buf_size, - const char* in_text, - const char* in_text_end, - const char** in_remaining) { - return ImTextStrFromUtf8(out_buf, out_buf_size, in_text, in_text_end, - in_remaining); -} -CIMGUI_API int igImTextCountCharsFromUtf8(const char* in_text, - const char* in_text_end) { - return ImTextCountCharsFromUtf8(in_text, in_text_end); -} -CIMGUI_API int igImTextCountUtf8BytesFromChar(const char* in_text, - const char* in_text_end) { - return ImTextCountUtf8BytesFromChar(in_text, in_text_end); -} -CIMGUI_API int igImTextCountUtf8BytesFromStr(const ImWchar* in_text, - const ImWchar* in_text_end) { - return ImTextCountUtf8BytesFromStr(in_text, in_text_end); -} -CIMGUI_API const char* igImTextFindPreviousUtf8Codepoint( - const char* in_text_start, - const char* in_text_curr) { - return ImTextFindPreviousUtf8Codepoint(in_text_start, in_text_curr); -} -CIMGUI_API int igImTextCountLines(const char* in_text, - const char* in_text_end) { - return ImTextCountLines(in_text, in_text_end); -} -CIMGUI_API ImFileHandle igImFileOpen(const char* filename, const char* mode) { - return ImFileOpen(filename, mode); -} -CIMGUI_API bool igImFileClose(ImFileHandle file) { - return ImFileClose(file); -} -CIMGUI_API ImU64 igImFileGetSize(ImFileHandle file) { - return ImFileGetSize(file); -} -CIMGUI_API ImU64 igImFileRead(void* data, - ImU64 size, - ImU64 count, - ImFileHandle file) { - return ImFileRead(data, size, count, file); -} -CIMGUI_API ImU64 igImFileWrite(const void* data, - ImU64 size, - ImU64 count, - ImFileHandle file) { - return ImFileWrite(data, size, count, file); -} -CIMGUI_API void* igImFileLoadToMemory(const char* filename, - const char* mode, - size_t* out_file_size, - int padding_bytes) { - return ImFileLoadToMemory(filename, mode, out_file_size, padding_bytes); -} -CIMGUI_API float igImPow_Float(float x, float y) { - return ImPow(x, y); -} -CIMGUI_API double igImPow_double(double x, double y) { - return ImPow(x, y); -} -CIMGUI_API float igImLog_Float(float x) { - return ImLog(x); -} -CIMGUI_API double igImLog_double(double x) { - return ImLog(x); -} -CIMGUI_API int igImAbs_Int(int x) { - return ImAbs(x); -} -CIMGUI_API float igImAbs_Float(float x) { - return ImAbs(x); -} -CIMGUI_API double igImAbs_double(double x) { - return ImAbs(x); -} -CIMGUI_API float igImSign_Float(float x) { - return ImSign(x); -} -CIMGUI_API double igImSign_double(double x) { - return ImSign(x); -} -CIMGUI_API float igImRsqrt_Float(float x) { - return ImRsqrt(x); -} -CIMGUI_API double igImRsqrt_double(double x) { - return ImRsqrt(x); -} -CIMGUI_API void igImMin(ImVec2* pOut, const ImVec2 lhs, const ImVec2 rhs) { - *pOut = ImMin(lhs, rhs); -} -CIMGUI_API void igImMax(ImVec2* pOut, const ImVec2 lhs, const ImVec2 rhs) { - *pOut = ImMax(lhs, rhs); -} -CIMGUI_API void igImClamp(ImVec2* pOut, - const ImVec2 v, - const ImVec2 mn, - ImVec2 mx) { - *pOut = ImClamp(v, mn, mx); -} -CIMGUI_API void igImLerp_Vec2Float(ImVec2* pOut, - const ImVec2 a, - const ImVec2 b, - float t) { - *pOut = ImLerp(a, b, t); -} -CIMGUI_API void igImLerp_Vec2Vec2(ImVec2* pOut, - const ImVec2 a, - const ImVec2 b, - const ImVec2 t) { - *pOut = ImLerp(a, b, t); -} -CIMGUI_API void igImLerp_Vec4(ImVec4* pOut, - const ImVec4 a, - const ImVec4 b, - float t) { - *pOut = ImLerp(a, b, t); -} -CIMGUI_API float igImSaturate(float f) { - return ImSaturate(f); -} -CIMGUI_API float igImLengthSqr_Vec2(const ImVec2 lhs) { - return ImLengthSqr(lhs); -} -CIMGUI_API float igImLengthSqr_Vec4(const ImVec4 lhs) { - return ImLengthSqr(lhs); -} -CIMGUI_API float igImInvLength(const ImVec2 lhs, float fail_value) { - return ImInvLength(lhs, fail_value); -} -CIMGUI_API float igImTrunc_Float(float f) { - return ImTrunc(f); -} -CIMGUI_API void igImTrunc_Vec2(ImVec2* pOut, const ImVec2 v) { - *pOut = ImTrunc(v); -} -CIMGUI_API float igImFloor_Float(float f) { - return ImFloor(f); -} -CIMGUI_API void igImFloor_Vec2(ImVec2* pOut, const ImVec2 v) { - *pOut = ImFloor(v); -} -CIMGUI_API int igImModPositive(int a, int b) { - return ImModPositive(a, b); -} -CIMGUI_API float igImDot(const ImVec2 a, const ImVec2 b) { - return ImDot(a, b); -} -CIMGUI_API void igImRotate(ImVec2* pOut, - const ImVec2 v, - float cos_a, - float sin_a) { - *pOut = ImRotate(v, cos_a, sin_a); -} -CIMGUI_API float igImLinearSweep(float current, float target, float speed) { - return ImLinearSweep(current, target, speed); -} -CIMGUI_API void igImMul(ImVec2* pOut, const ImVec2 lhs, const ImVec2 rhs) { - *pOut = ImMul(lhs, rhs); -} -CIMGUI_API bool igImIsFloatAboveGuaranteedIntegerPrecision(float f) { - return ImIsFloatAboveGuaranteedIntegerPrecision(f); -} -CIMGUI_API float igImExponentialMovingAverage(float avg, float sample, int n) { - return ImExponentialMovingAverage(avg, sample, n); -} -CIMGUI_API void igImBezierCubicCalc(ImVec2* pOut, - const ImVec2 p1, - const ImVec2 p2, - const ImVec2 p3, - const ImVec2 p4, - float t) { - *pOut = ImBezierCubicCalc(p1, p2, p3, p4, t); -} -CIMGUI_API void igImBezierCubicClosestPoint(ImVec2* pOut, - const ImVec2 p1, - const ImVec2 p2, - const ImVec2 p3, - const ImVec2 p4, - const ImVec2 p, - int num_segments) { - *pOut = ImBezierCubicClosestPoint(p1, p2, p3, p4, p, num_segments); -} -CIMGUI_API void igImBezierCubicClosestPointCasteljau(ImVec2* pOut, - const ImVec2 p1, - const ImVec2 p2, - const ImVec2 p3, - const ImVec2 p4, - const ImVec2 p, - float tess_tol) { - *pOut = ImBezierCubicClosestPointCasteljau(p1, p2, p3, p4, p, tess_tol); -} -CIMGUI_API void igImBezierQuadraticCalc(ImVec2* pOut, - const ImVec2 p1, - const ImVec2 p2, - const ImVec2 p3, - float t) { - *pOut = ImBezierQuadraticCalc(p1, p2, p3, t); -} -CIMGUI_API void igImLineClosestPoint(ImVec2* pOut, - const ImVec2 a, - const ImVec2 b, - const ImVec2 p) { - *pOut = ImLineClosestPoint(a, b, p); -} -CIMGUI_API bool igImTriangleContainsPoint(const ImVec2 a, - const ImVec2 b, - const ImVec2 c, - const ImVec2 p) { - return ImTriangleContainsPoint(a, b, c, p); -} -CIMGUI_API void igImTriangleClosestPoint(ImVec2* pOut, - const ImVec2 a, - const ImVec2 b, - const ImVec2 c, - const ImVec2 p) { - *pOut = ImTriangleClosestPoint(a, b, c, p); -} -CIMGUI_API void igImTriangleBarycentricCoords(const ImVec2 a, - const ImVec2 b, - const ImVec2 c, - const ImVec2 p, - float* out_u, - float* out_v, - float* out_w) { - return ImTriangleBarycentricCoords(a, b, c, p, *out_u, *out_v, *out_w); -} -CIMGUI_API float igImTriangleArea(const ImVec2 a, - const ImVec2 b, - const ImVec2 c) { - return ImTriangleArea(a, b, c); -} -CIMGUI_API bool igImTriangleIsClockwise(const ImVec2 a, - const ImVec2 b, - const ImVec2 c) { - return ImTriangleIsClockwise(a, b, c); -} -CIMGUI_API ImVec1* ImVec1_ImVec1_Nil(void) { - return IM_NEW(ImVec1)(); -} -CIMGUI_API void ImVec1_destroy(ImVec1* self) { - IM_DELETE(self); -} -CIMGUI_API ImVec1* ImVec1_ImVec1_Float(float _x) { - return IM_NEW(ImVec1)(_x); -} -CIMGUI_API ImVec2ih* ImVec2ih_ImVec2ih_Nil(void) { - return IM_NEW(ImVec2ih)(); -} -CIMGUI_API void ImVec2ih_destroy(ImVec2ih* self) { - IM_DELETE(self); -} -CIMGUI_API ImVec2ih* ImVec2ih_ImVec2ih_short(short _x, short _y) { - return IM_NEW(ImVec2ih)(_x, _y); -} -CIMGUI_API ImVec2ih* ImVec2ih_ImVec2ih_Vec2(const ImVec2 rhs) { - return IM_NEW(ImVec2ih)(rhs); -} -CIMGUI_API ImRect* ImRect_ImRect_Nil(void) { - return IM_NEW(ImRect)(); -} -CIMGUI_API void ImRect_destroy(ImRect* self) { - IM_DELETE(self); -} -CIMGUI_API ImRect* ImRect_ImRect_Vec2(const ImVec2 min, const ImVec2 max) { - return IM_NEW(ImRect)(min, max); -} -CIMGUI_API ImRect* ImRect_ImRect_Vec4(const ImVec4 v) { - return IM_NEW(ImRect)(v); -} -CIMGUI_API ImRect* ImRect_ImRect_Float(float x1, float y1, float x2, float y2) { - return IM_NEW(ImRect)(x1, y1, x2, y2); -} -CIMGUI_API void ImRect_GetCenter(ImVec2* pOut, ImRect* self) { - *pOut = self->GetCenter(); -} -CIMGUI_API void ImRect_GetSize(ImVec2* pOut, ImRect* self) { - *pOut = self->GetSize(); -} -CIMGUI_API float ImRect_GetWidth(ImRect* self) { - return self->GetWidth(); -} -CIMGUI_API float ImRect_GetHeight(ImRect* self) { - return self->GetHeight(); -} -CIMGUI_API float ImRect_GetArea(ImRect* self) { - return self->GetArea(); -} -CIMGUI_API void ImRect_GetTL(ImVec2* pOut, ImRect* self) { - *pOut = self->GetTL(); -} -CIMGUI_API void ImRect_GetTR(ImVec2* pOut, ImRect* self) { - *pOut = self->GetTR(); -} -CIMGUI_API void ImRect_GetBL(ImVec2* pOut, ImRect* self) { - *pOut = self->GetBL(); -} -CIMGUI_API void ImRect_GetBR(ImVec2* pOut, ImRect* self) { - *pOut = self->GetBR(); -} -CIMGUI_API bool ImRect_Contains_Vec2(ImRect* self, const ImVec2 p) { - return self->Contains(p); -} -CIMGUI_API bool ImRect_Contains_Rect(ImRect* self, const ImRect r) { - return self->Contains(r); -} -CIMGUI_API bool ImRect_ContainsWithPad(ImRect* self, - const ImVec2 p, - const ImVec2 pad) { - return self->ContainsWithPad(p, pad); -} -CIMGUI_API bool ImRect_Overlaps(ImRect* self, const ImRect r) { - return self->Overlaps(r); -} -CIMGUI_API void ImRect_Add_Vec2(ImRect* self, const ImVec2 p) { - return self->Add(p); -} -CIMGUI_API void ImRect_Add_Rect(ImRect* self, const ImRect r) { - return self->Add(r); -} -CIMGUI_API void ImRect_Expand_Float(ImRect* self, const float amount) { - return self->Expand(amount); -} -CIMGUI_API void ImRect_Expand_Vec2(ImRect* self, const ImVec2 amount) { - return self->Expand(amount); -} -CIMGUI_API void ImRect_Translate(ImRect* self, const ImVec2 d) { - return self->Translate(d); -} -CIMGUI_API void ImRect_TranslateX(ImRect* self, float dx) { - return self->TranslateX(dx); -} -CIMGUI_API void ImRect_TranslateY(ImRect* self, float dy) { - return self->TranslateY(dy); -} -CIMGUI_API void ImRect_ClipWith(ImRect* self, const ImRect r) { - return self->ClipWith(r); -} -CIMGUI_API void ImRect_ClipWithFull(ImRect* self, const ImRect r) { - return self->ClipWithFull(r); -} -CIMGUI_API void ImRect_Floor(ImRect* self) { - return self->Floor(); -} -CIMGUI_API bool ImRect_IsInverted(ImRect* self) { - return self->IsInverted(); -} -CIMGUI_API void ImRect_ToVec4(ImVec4* pOut, ImRect* self) { - *pOut = self->ToVec4(); -} -CIMGUI_API size_t igImBitArrayGetStorageSizeInBytes(int bitcount) { - return ImBitArrayGetStorageSizeInBytes(bitcount); -} -CIMGUI_API void igImBitArrayClearAllBits(ImU32* arr, int bitcount) { - return ImBitArrayClearAllBits(arr, bitcount); -} -CIMGUI_API bool igImBitArrayTestBit(const ImU32* arr, int n) { - return ImBitArrayTestBit(arr, n); -} -CIMGUI_API void igImBitArrayClearBit(ImU32* arr, int n) { - return ImBitArrayClearBit(arr, n); -} -CIMGUI_API void igImBitArraySetBit(ImU32* arr, int n) { - return ImBitArraySetBit(arr, n); -} -CIMGUI_API void igImBitArraySetBitRange(ImU32* arr, int n, int n2) { - return ImBitArraySetBitRange(arr, n, n2); -} -CIMGUI_API void ImBitVector_Create(ImBitVector* self, int sz) { - return self->Create(sz); -} -CIMGUI_API void ImBitVector_Clear(ImBitVector* self) { - return self->Clear(); -} -CIMGUI_API bool ImBitVector_TestBit(ImBitVector* self, int n) { - return self->TestBit(n); -} -CIMGUI_API void ImBitVector_SetBit(ImBitVector* self, int n) { - return self->SetBit(n); -} -CIMGUI_API void ImBitVector_ClearBit(ImBitVector* self, int n) { - return self->ClearBit(n); -} -CIMGUI_API void ImGuiTextIndex_clear(ImGuiTextIndex* self) { - return self->clear(); -} -CIMGUI_API int ImGuiTextIndex_size(ImGuiTextIndex* self) { - return self->size(); -} -CIMGUI_API const char* ImGuiTextIndex_get_line_begin(ImGuiTextIndex* self, - const char* base, - int n) { - return self->get_line_begin(base, n); -} -CIMGUI_API const char* ImGuiTextIndex_get_line_end(ImGuiTextIndex* self, - const char* base, - int n) { - return self->get_line_end(base, n); -} -CIMGUI_API void ImGuiTextIndex_append(ImGuiTextIndex* self, - const char* base, - int old_size, - int new_size) { - return self->append(base, old_size, new_size); -} -CIMGUI_API ImDrawListSharedData* ImDrawListSharedData_ImDrawListSharedData( - void) { - return IM_NEW(ImDrawListSharedData)(); -} -CIMGUI_API void ImDrawListSharedData_destroy(ImDrawListSharedData* self) { - IM_DELETE(self); -} -CIMGUI_API void ImDrawListSharedData_SetCircleTessellationMaxError( - ImDrawListSharedData* self, - float max_error) { - return self->SetCircleTessellationMaxError(max_error); -} -CIMGUI_API ImDrawDataBuilder* ImDrawDataBuilder_ImDrawDataBuilder(void) { - return IM_NEW(ImDrawDataBuilder)(); -} -CIMGUI_API void ImDrawDataBuilder_destroy(ImDrawDataBuilder* self) { - IM_DELETE(self); -} -CIMGUI_API ImGuiStyleMod* ImGuiStyleMod_ImGuiStyleMod_Int(ImGuiStyleVar idx, - int v) { - return IM_NEW(ImGuiStyleMod)(idx, v); -} -CIMGUI_API void ImGuiStyleMod_destroy(ImGuiStyleMod* self) { - IM_DELETE(self); -} -CIMGUI_API ImGuiStyleMod* ImGuiStyleMod_ImGuiStyleMod_Float(ImGuiStyleVar idx, - float v) { - return IM_NEW(ImGuiStyleMod)(idx, v); -} -CIMGUI_API ImGuiStyleMod* ImGuiStyleMod_ImGuiStyleMod_Vec2(ImGuiStyleVar idx, - ImVec2 v) { - return IM_NEW(ImGuiStyleMod)(idx, v); -} -CIMGUI_API ImGuiComboPreviewData* ImGuiComboPreviewData_ImGuiComboPreviewData( - void) { - return IM_NEW(ImGuiComboPreviewData)(); -} -CIMGUI_API void ImGuiComboPreviewData_destroy(ImGuiComboPreviewData* self) { - IM_DELETE(self); -} -CIMGUI_API ImGuiMenuColumns* ImGuiMenuColumns_ImGuiMenuColumns(void) { - return IM_NEW(ImGuiMenuColumns)(); -} -CIMGUI_API void ImGuiMenuColumns_destroy(ImGuiMenuColumns* self) { - IM_DELETE(self); -} -CIMGUI_API void ImGuiMenuColumns_Update(ImGuiMenuColumns* self, - float spacing, - bool window_reappearing) { - return self->Update(spacing, window_reappearing); -} -CIMGUI_API float ImGuiMenuColumns_DeclColumns(ImGuiMenuColumns* self, - float w_icon, - float w_label, - float w_shortcut, - float w_mark) { - return self->DeclColumns(w_icon, w_label, w_shortcut, w_mark); -} -CIMGUI_API void ImGuiMenuColumns_CalcNextTotalWidth(ImGuiMenuColumns* self, - bool update_offsets) { - return self->CalcNextTotalWidth(update_offsets); -} -CIMGUI_API ImGuiInputTextDeactivatedState* -ImGuiInputTextDeactivatedState_ImGuiInputTextDeactivatedState(void) { - return IM_NEW(ImGuiInputTextDeactivatedState)(); -} -CIMGUI_API void ImGuiInputTextDeactivatedState_destroy( - ImGuiInputTextDeactivatedState* self) { - IM_DELETE(self); -} -CIMGUI_API void ImGuiInputTextDeactivatedState_ClearFreeMemory( - ImGuiInputTextDeactivatedState* self) { - return self->ClearFreeMemory(); -} -CIMGUI_API ImGuiInputTextState* ImGuiInputTextState_ImGuiInputTextState(void) { - return IM_NEW(ImGuiInputTextState)(); -} -CIMGUI_API void ImGuiInputTextState_destroy(ImGuiInputTextState* self) { - IM_DELETE(self); -} -CIMGUI_API void ImGuiInputTextState_ClearText(ImGuiInputTextState* self) { - return self->ClearText(); -} -CIMGUI_API void ImGuiInputTextState_ClearFreeMemory(ImGuiInputTextState* self) { - return self->ClearFreeMemory(); -} -CIMGUI_API int ImGuiInputTextState_GetUndoAvailCount( - ImGuiInputTextState* self) { - return self->GetUndoAvailCount(); -} -CIMGUI_API int ImGuiInputTextState_GetRedoAvailCount( - ImGuiInputTextState* self) { - return self->GetRedoAvailCount(); -} -CIMGUI_API void ImGuiInputTextState_OnKeyPressed(ImGuiInputTextState* self, - int key) { - return self->OnKeyPressed(key); -} -CIMGUI_API void ImGuiInputTextState_CursorAnimReset(ImGuiInputTextState* self) { - return self->CursorAnimReset(); -} -CIMGUI_API void ImGuiInputTextState_CursorClamp(ImGuiInputTextState* self) { - return self->CursorClamp(); -} -CIMGUI_API bool ImGuiInputTextState_HasSelection(ImGuiInputTextState* self) { - return self->HasSelection(); -} -CIMGUI_API void ImGuiInputTextState_ClearSelection(ImGuiInputTextState* self) { - return self->ClearSelection(); -} -CIMGUI_API int ImGuiInputTextState_GetCursorPos(ImGuiInputTextState* self) { - return self->GetCursorPos(); -} -CIMGUI_API int ImGuiInputTextState_GetSelectionStart( - ImGuiInputTextState* self) { - return self->GetSelectionStart(); -} -CIMGUI_API int ImGuiInputTextState_GetSelectionEnd(ImGuiInputTextState* self) { - return self->GetSelectionEnd(); -} -CIMGUI_API void ImGuiInputTextState_SelectAll(ImGuiInputTextState* self) { - return self->SelectAll(); -} -CIMGUI_API void ImGuiInputTextState_ReloadUserBufAndSelectAll( - ImGuiInputTextState* self) { - return self->ReloadUserBufAndSelectAll(); -} -CIMGUI_API void ImGuiInputTextState_ReloadUserBufAndKeepSelection( - ImGuiInputTextState* self) { - return self->ReloadUserBufAndKeepSelection(); -} -CIMGUI_API void ImGuiInputTextState_ReloadUserBufAndMoveToEnd( - ImGuiInputTextState* self) { - return self->ReloadUserBufAndMoveToEnd(); -} -CIMGUI_API ImGuiNextWindowData* ImGuiNextWindowData_ImGuiNextWindowData(void) { - return IM_NEW(ImGuiNextWindowData)(); -} -CIMGUI_API void ImGuiNextWindowData_destroy(ImGuiNextWindowData* self) { - IM_DELETE(self); -} -CIMGUI_API void ImGuiNextWindowData_ClearFlags(ImGuiNextWindowData* self) { - return self->ClearFlags(); -} -CIMGUI_API ImGuiNextItemData* ImGuiNextItemData_ImGuiNextItemData(void) { - return IM_NEW(ImGuiNextItemData)(); -} -CIMGUI_API void ImGuiNextItemData_destroy(ImGuiNextItemData* self) { - IM_DELETE(self); -} -CIMGUI_API void ImGuiNextItemData_ClearFlags(ImGuiNextItemData* self) { - return self->ClearFlags(); -} -CIMGUI_API ImGuiLastItemData* ImGuiLastItemData_ImGuiLastItemData(void) { - return IM_NEW(ImGuiLastItemData)(); -} -CIMGUI_API void ImGuiLastItemData_destroy(ImGuiLastItemData* self) { - IM_DELETE(self); -} -CIMGUI_API ImGuiStackSizes* ImGuiStackSizes_ImGuiStackSizes(void) { - return IM_NEW(ImGuiStackSizes)(); -} -CIMGUI_API void ImGuiStackSizes_destroy(ImGuiStackSizes* self) { - IM_DELETE(self); -} -CIMGUI_API void ImGuiStackSizes_SetToContextState(ImGuiStackSizes* self, - ImGuiContext* ctx) { - return self->SetToContextState(ctx); -} -CIMGUI_API void ImGuiStackSizes_CompareWithContextState(ImGuiStackSizes* self, - ImGuiContext* ctx) { - return self->CompareWithContextState(ctx); -} -CIMGUI_API ImGuiPtrOrIndex* ImGuiPtrOrIndex_ImGuiPtrOrIndex_Ptr(void* ptr) { - return IM_NEW(ImGuiPtrOrIndex)(ptr); -} -CIMGUI_API void ImGuiPtrOrIndex_destroy(ImGuiPtrOrIndex* self) { - IM_DELETE(self); -} -CIMGUI_API ImGuiPtrOrIndex* ImGuiPtrOrIndex_ImGuiPtrOrIndex_Int(int index) { - return IM_NEW(ImGuiPtrOrIndex)(index); -} -CIMGUI_API void* ImGuiDataVarInfo_GetVarPtr(ImGuiDataVarInfo* self, - void* parent) { - return self->GetVarPtr(parent); -} -CIMGUI_API ImGuiPopupData* ImGuiPopupData_ImGuiPopupData(void) { - return IM_NEW(ImGuiPopupData)(); -} -CIMGUI_API void ImGuiPopupData_destroy(ImGuiPopupData* self) { - IM_DELETE(self); -} -CIMGUI_API ImGuiInputEvent* ImGuiInputEvent_ImGuiInputEvent(void) { - return IM_NEW(ImGuiInputEvent)(); -} -CIMGUI_API void ImGuiInputEvent_destroy(ImGuiInputEvent* self) { - IM_DELETE(self); -} -CIMGUI_API ImGuiKeyRoutingData* ImGuiKeyRoutingData_ImGuiKeyRoutingData(void) { - return IM_NEW(ImGuiKeyRoutingData)(); -} -CIMGUI_API void ImGuiKeyRoutingData_destroy(ImGuiKeyRoutingData* self) { - IM_DELETE(self); -} -CIMGUI_API ImGuiKeyRoutingTable* ImGuiKeyRoutingTable_ImGuiKeyRoutingTable( - void) { - return IM_NEW(ImGuiKeyRoutingTable)(); -} -CIMGUI_API void ImGuiKeyRoutingTable_destroy(ImGuiKeyRoutingTable* self) { - IM_DELETE(self); -} -CIMGUI_API void ImGuiKeyRoutingTable_Clear(ImGuiKeyRoutingTable* self) { - return self->Clear(); -} -CIMGUI_API ImGuiKeyOwnerData* ImGuiKeyOwnerData_ImGuiKeyOwnerData(void) { - return IM_NEW(ImGuiKeyOwnerData)(); -} -CIMGUI_API void ImGuiKeyOwnerData_destroy(ImGuiKeyOwnerData* self) { - IM_DELETE(self); -} -CIMGUI_API ImGuiListClipperRange ImGuiListClipperRange_FromIndices(int min, - int max) { - return ImGuiListClipperRange::FromIndices(min, max); -} -CIMGUI_API ImGuiListClipperRange -ImGuiListClipperRange_FromPositions(float y1, - float y2, - int off_min, - int off_max) { - return ImGuiListClipperRange::FromPositions(y1, y2, off_min, off_max); -} -CIMGUI_API ImGuiListClipperData* ImGuiListClipperData_ImGuiListClipperData( - void) { - return IM_NEW(ImGuiListClipperData)(); -} -CIMGUI_API void ImGuiListClipperData_destroy(ImGuiListClipperData* self) { - IM_DELETE(self); -} -CIMGUI_API void ImGuiListClipperData_Reset(ImGuiListClipperData* self, - ImGuiListClipper* clipper) { - return self->Reset(clipper); -} -CIMGUI_API ImGuiNavItemData* ImGuiNavItemData_ImGuiNavItemData(void) { - return IM_NEW(ImGuiNavItemData)(); -} -CIMGUI_API void ImGuiNavItemData_destroy(ImGuiNavItemData* self) { - IM_DELETE(self); -} -CIMGUI_API void ImGuiNavItemData_Clear(ImGuiNavItemData* self) { - return self->Clear(); -} -CIMGUI_API ImGuiTypingSelectState* -ImGuiTypingSelectState_ImGuiTypingSelectState(void) { - return IM_NEW(ImGuiTypingSelectState)(); -} -CIMGUI_API void ImGuiTypingSelectState_destroy(ImGuiTypingSelectState* self) { - IM_DELETE(self); -} -CIMGUI_API void ImGuiTypingSelectState_Clear(ImGuiTypingSelectState* self) { - return self->Clear(); -} -CIMGUI_API ImGuiOldColumnData* ImGuiOldColumnData_ImGuiOldColumnData(void) { - return IM_NEW(ImGuiOldColumnData)(); -} -CIMGUI_API void ImGuiOldColumnData_destroy(ImGuiOldColumnData* self) { - IM_DELETE(self); -} -CIMGUI_API ImGuiOldColumns* ImGuiOldColumns_ImGuiOldColumns(void) { - return IM_NEW(ImGuiOldColumns)(); -} -CIMGUI_API void ImGuiOldColumns_destroy(ImGuiOldColumns* self) { - IM_DELETE(self); -} -CIMGUI_API ImGuiDockNode* ImGuiDockNode_ImGuiDockNode(ImGuiID id) { - return IM_NEW(ImGuiDockNode)(id); -} -CIMGUI_API void ImGuiDockNode_destroy(ImGuiDockNode* self) { - IM_DELETE(self); -} -CIMGUI_API bool ImGuiDockNode_IsRootNode(ImGuiDockNode* self) { - return self->IsRootNode(); -} -CIMGUI_API bool ImGuiDockNode_IsDockSpace(ImGuiDockNode* self) { - return self->IsDockSpace(); -} -CIMGUI_API bool ImGuiDockNode_IsFloatingNode(ImGuiDockNode* self) { - return self->IsFloatingNode(); -} -CIMGUI_API bool ImGuiDockNode_IsCentralNode(ImGuiDockNode* self) { - return self->IsCentralNode(); -} -CIMGUI_API bool ImGuiDockNode_IsHiddenTabBar(ImGuiDockNode* self) { - return self->IsHiddenTabBar(); -} -CIMGUI_API bool ImGuiDockNode_IsNoTabBar(ImGuiDockNode* self) { - return self->IsNoTabBar(); -} -CIMGUI_API bool ImGuiDockNode_IsSplitNode(ImGuiDockNode* self) { - return self->IsSplitNode(); -} -CIMGUI_API bool ImGuiDockNode_IsLeafNode(ImGuiDockNode* self) { - return self->IsLeafNode(); -} -CIMGUI_API bool ImGuiDockNode_IsEmpty(ImGuiDockNode* self) { - return self->IsEmpty(); -} -CIMGUI_API void ImGuiDockNode_Rect(ImRect* pOut, ImGuiDockNode* self) { - *pOut = self->Rect(); -} -CIMGUI_API void ImGuiDockNode_SetLocalFlags(ImGuiDockNode* self, - ImGuiDockNodeFlags flags) { - return self->SetLocalFlags(flags); -} -CIMGUI_API void ImGuiDockNode_UpdateMergedFlags(ImGuiDockNode* self) { - return self->UpdateMergedFlags(); -} -CIMGUI_API ImGuiDockContext* ImGuiDockContext_ImGuiDockContext(void) { - return IM_NEW(ImGuiDockContext)(); -} -CIMGUI_API void ImGuiDockContext_destroy(ImGuiDockContext* self) { - IM_DELETE(self); -} -CIMGUI_API ImGuiViewportP* ImGuiViewportP_ImGuiViewportP(void) { - return IM_NEW(ImGuiViewportP)(); -} -CIMGUI_API void ImGuiViewportP_destroy(ImGuiViewportP* self) { - IM_DELETE(self); -} -CIMGUI_API void ImGuiViewportP_ClearRequestFlags(ImGuiViewportP* self) { - return self->ClearRequestFlags(); -} -CIMGUI_API void ImGuiViewportP_CalcWorkRectPos(ImVec2* pOut, - ImGuiViewportP* self, - const ImVec2 off_min) { - *pOut = self->CalcWorkRectPos(off_min); -} -CIMGUI_API void ImGuiViewportP_CalcWorkRectSize(ImVec2* pOut, - ImGuiViewportP* self, - const ImVec2 off_min, - const ImVec2 off_max) { - *pOut = self->CalcWorkRectSize(off_min, off_max); -} -CIMGUI_API void ImGuiViewportP_UpdateWorkRect(ImGuiViewportP* self) { - return self->UpdateWorkRect(); -} -CIMGUI_API void ImGuiViewportP_GetMainRect(ImRect* pOut, ImGuiViewportP* self) { - *pOut = self->GetMainRect(); -} -CIMGUI_API void ImGuiViewportP_GetWorkRect(ImRect* pOut, ImGuiViewportP* self) { - *pOut = self->GetWorkRect(); -} -CIMGUI_API void ImGuiViewportP_GetBuildWorkRect(ImRect* pOut, - ImGuiViewportP* self) { - *pOut = self->GetBuildWorkRect(); -} -CIMGUI_API ImGuiWindowSettings* ImGuiWindowSettings_ImGuiWindowSettings(void) { - return IM_NEW(ImGuiWindowSettings)(); -} -CIMGUI_API void ImGuiWindowSettings_destroy(ImGuiWindowSettings* self) { - IM_DELETE(self); -} -CIMGUI_API char* ImGuiWindowSettings_GetName(ImGuiWindowSettings* self) { - return self->GetName(); -} -CIMGUI_API ImGuiSettingsHandler* ImGuiSettingsHandler_ImGuiSettingsHandler( - void) { - return IM_NEW(ImGuiSettingsHandler)(); -} -CIMGUI_API void ImGuiSettingsHandler_destroy(ImGuiSettingsHandler* self) { - IM_DELETE(self); -} -CIMGUI_API ImGuiDebugAllocInfo* ImGuiDebugAllocInfo_ImGuiDebugAllocInfo(void) { - return IM_NEW(ImGuiDebugAllocInfo)(); -} -CIMGUI_API void ImGuiDebugAllocInfo_destroy(ImGuiDebugAllocInfo* self) { - IM_DELETE(self); -} -CIMGUI_API ImGuiStackLevelInfo* ImGuiStackLevelInfo_ImGuiStackLevelInfo(void) { - return IM_NEW(ImGuiStackLevelInfo)(); -} -CIMGUI_API void ImGuiStackLevelInfo_destroy(ImGuiStackLevelInfo* self) { - IM_DELETE(self); -} -CIMGUI_API ImGuiIDStackTool* ImGuiIDStackTool_ImGuiIDStackTool(void) { - return IM_NEW(ImGuiIDStackTool)(); -} -CIMGUI_API void ImGuiIDStackTool_destroy(ImGuiIDStackTool* self) { - IM_DELETE(self); -} -CIMGUI_API ImGuiContextHook* ImGuiContextHook_ImGuiContextHook(void) { - return IM_NEW(ImGuiContextHook)(); -} -CIMGUI_API void ImGuiContextHook_destroy(ImGuiContextHook* self) { - IM_DELETE(self); -} -CIMGUI_API ImGuiContext* ImGuiContext_ImGuiContext( - ImFontAtlas* shared_font_atlas) { - return IM_NEW(ImGuiContext)(shared_font_atlas); -} -CIMGUI_API void ImGuiContext_destroy(ImGuiContext* self) { - IM_DELETE(self); -} -CIMGUI_API ImGuiWindow* ImGuiWindow_ImGuiWindow(ImGuiContext* context, - const char* name) { - return IM_NEW(ImGuiWindow)(context, name); -} -CIMGUI_API void ImGuiWindow_destroy(ImGuiWindow* self) { - IM_DELETE(self); -} -CIMGUI_API ImGuiID ImGuiWindow_GetID_Str(ImGuiWindow* self, - const char* str, - const char* str_end) { - return self->GetID(str, str_end); -} -CIMGUI_API ImGuiID ImGuiWindow_GetID_Ptr(ImGuiWindow* self, const void* ptr) { - return self->GetID(ptr); -} -CIMGUI_API ImGuiID ImGuiWindow_GetID_Int(ImGuiWindow* self, int n) { - return self->GetID(n); -} -CIMGUI_API ImGuiID ImGuiWindow_GetIDFromRectangle(ImGuiWindow* self, - const ImRect r_abs) { - return self->GetIDFromRectangle(r_abs); -} -CIMGUI_API void ImGuiWindow_Rect(ImRect* pOut, ImGuiWindow* self) { - *pOut = self->Rect(); -} -CIMGUI_API float ImGuiWindow_CalcFontSize(ImGuiWindow* self) { - return self->CalcFontSize(); -} -CIMGUI_API float ImGuiWindow_TitleBarHeight(ImGuiWindow* self) { - return self->TitleBarHeight(); -} -CIMGUI_API void ImGuiWindow_TitleBarRect(ImRect* pOut, ImGuiWindow* self) { - *pOut = self->TitleBarRect(); -} -CIMGUI_API float ImGuiWindow_MenuBarHeight(ImGuiWindow* self) { - return self->MenuBarHeight(); -} -CIMGUI_API void ImGuiWindow_MenuBarRect(ImRect* pOut, ImGuiWindow* self) { - *pOut = self->MenuBarRect(); -} -CIMGUI_API ImGuiTabItem* ImGuiTabItem_ImGuiTabItem(void) { - return IM_NEW(ImGuiTabItem)(); -} -CIMGUI_API void ImGuiTabItem_destroy(ImGuiTabItem* self) { - IM_DELETE(self); -} -CIMGUI_API ImGuiTabBar* ImGuiTabBar_ImGuiTabBar(void) { - return IM_NEW(ImGuiTabBar)(); -} -CIMGUI_API void ImGuiTabBar_destroy(ImGuiTabBar* self) { - IM_DELETE(self); -} -CIMGUI_API ImGuiTableColumn* ImGuiTableColumn_ImGuiTableColumn(void) { - return IM_NEW(ImGuiTableColumn)(); -} -CIMGUI_API void ImGuiTableColumn_destroy(ImGuiTableColumn* self) { - IM_DELETE(self); -} -CIMGUI_API ImGuiTableInstanceData* -ImGuiTableInstanceData_ImGuiTableInstanceData(void) { - return IM_NEW(ImGuiTableInstanceData)(); -} -CIMGUI_API void ImGuiTableInstanceData_destroy(ImGuiTableInstanceData* self) { - IM_DELETE(self); -} -CIMGUI_API ImGuiTable* ImGuiTable_ImGuiTable(void) { - return IM_NEW(ImGuiTable)(); -} -CIMGUI_API void ImGuiTable_destroy(ImGuiTable* self) { - IM_DELETE(self); -} -CIMGUI_API ImGuiTableTempData* ImGuiTableTempData_ImGuiTableTempData(void) { - return IM_NEW(ImGuiTableTempData)(); -} -CIMGUI_API void ImGuiTableTempData_destroy(ImGuiTableTempData* self) { - IM_DELETE(self); -} -CIMGUI_API ImGuiTableColumnSettings* -ImGuiTableColumnSettings_ImGuiTableColumnSettings(void) { - return IM_NEW(ImGuiTableColumnSettings)(); -} -CIMGUI_API void ImGuiTableColumnSettings_destroy( - ImGuiTableColumnSettings* self) { - IM_DELETE(self); -} -CIMGUI_API ImGuiTableSettings* ImGuiTableSettings_ImGuiTableSettings(void) { - return IM_NEW(ImGuiTableSettings)(); -} -CIMGUI_API void ImGuiTableSettings_destroy(ImGuiTableSettings* self) { - IM_DELETE(self); -} -CIMGUI_API ImGuiTableColumnSettings* ImGuiTableSettings_GetColumnSettings( - ImGuiTableSettings* self) { - return self->GetColumnSettings(); -} -CIMGUI_API ImGuiWindow* igGetCurrentWindowRead() { - return ImGui::GetCurrentWindowRead(); -} -CIMGUI_API ImGuiWindow* igGetCurrentWindow() { - return ImGui::GetCurrentWindow(); -} -CIMGUI_API ImGuiWindow* igFindWindowByID(ImGuiID id) { - return ImGui::FindWindowByID(id); -} -CIMGUI_API ImGuiWindow* igFindWindowByName(const char* name) { - return ImGui::FindWindowByName(name); -} -CIMGUI_API void igUpdateWindowParentAndRootLinks(ImGuiWindow* window, - ImGuiWindowFlags flags, - ImGuiWindow* parent_window) { - return ImGui::UpdateWindowParentAndRootLinks(window, flags, parent_window); -} -CIMGUI_API void igUpdateWindowSkipRefresh(ImGuiWindow* window) { - return ImGui::UpdateWindowSkipRefresh(window); -} -CIMGUI_API void igCalcWindowNextAutoFitSize(ImVec2* pOut, ImGuiWindow* window) { - *pOut = ImGui::CalcWindowNextAutoFitSize(window); -} -CIMGUI_API bool igIsWindowChildOf(ImGuiWindow* window, - ImGuiWindow* potential_parent, - bool popup_hierarchy, - bool dock_hierarchy) { - return ImGui::IsWindowChildOf(window, potential_parent, popup_hierarchy, - dock_hierarchy); -} -CIMGUI_API bool igIsWindowWithinBeginStackOf(ImGuiWindow* window, - ImGuiWindow* potential_parent) { - return ImGui::IsWindowWithinBeginStackOf(window, potential_parent); -} -CIMGUI_API bool igIsWindowAbove(ImGuiWindow* potential_above, - ImGuiWindow* potential_below) { - return ImGui::IsWindowAbove(potential_above, potential_below); -} -CIMGUI_API bool igIsWindowNavFocusable(ImGuiWindow* window) { - return ImGui::IsWindowNavFocusable(window); -} -CIMGUI_API void igSetWindowPos_WindowPtr(ImGuiWindow* window, - const ImVec2 pos, - ImGuiCond cond) { - return ImGui::SetWindowPos(window, pos, cond); -} -CIMGUI_API void igSetWindowSize_WindowPtr(ImGuiWindow* window, - const ImVec2 size, - ImGuiCond cond) { - return ImGui::SetWindowSize(window, size, cond); -} -CIMGUI_API void igSetWindowCollapsed_WindowPtr(ImGuiWindow* window, - bool collapsed, - ImGuiCond cond) { - return ImGui::SetWindowCollapsed(window, collapsed, cond); -} -CIMGUI_API void igSetWindowHitTestHole(ImGuiWindow* window, - const ImVec2 pos, - const ImVec2 size) { - return ImGui::SetWindowHitTestHole(window, pos, size); -} -CIMGUI_API void igSetWindowHiddenAndSkipItemsForCurrentFrame( - ImGuiWindow* window) { - return ImGui::SetWindowHiddenAndSkipItemsForCurrentFrame(window); -} -CIMGUI_API void igSetWindowParentWindowForFocusRoute( - ImGuiWindow* window, - ImGuiWindow* parent_window) { - return ImGui::SetWindowParentWindowForFocusRoute(window, parent_window); -} -CIMGUI_API void igWindowRectAbsToRel(ImRect* pOut, - ImGuiWindow* window, - const ImRect r) { - *pOut = ImGui::WindowRectAbsToRel(window, r); -} -CIMGUI_API void igWindowRectRelToAbs(ImRect* pOut, - ImGuiWindow* window, - const ImRect r) { - *pOut = ImGui::WindowRectRelToAbs(window, r); -} -CIMGUI_API void igWindowPosRelToAbs(ImVec2* pOut, - ImGuiWindow* window, - const ImVec2 p) { - *pOut = ImGui::WindowPosRelToAbs(window, p); -} -CIMGUI_API void igFocusWindow(ImGuiWindow* window, - ImGuiFocusRequestFlags flags) { - return ImGui::FocusWindow(window, flags); -} -CIMGUI_API void igFocusTopMostWindowUnderOne(ImGuiWindow* under_this_window, - ImGuiWindow* ignore_window, - ImGuiViewport* filter_viewport, - ImGuiFocusRequestFlags flags) { - return ImGui::FocusTopMostWindowUnderOne(under_this_window, ignore_window, - filter_viewport, flags); -} -CIMGUI_API void igBringWindowToFocusFront(ImGuiWindow* window) { - return ImGui::BringWindowToFocusFront(window); -} -CIMGUI_API void igBringWindowToDisplayFront(ImGuiWindow* window) { - return ImGui::BringWindowToDisplayFront(window); -} -CIMGUI_API void igBringWindowToDisplayBack(ImGuiWindow* window) { - return ImGui::BringWindowToDisplayBack(window); -} -CIMGUI_API void igBringWindowToDisplayBehind(ImGuiWindow* window, - ImGuiWindow* above_window) { - return ImGui::BringWindowToDisplayBehind(window, above_window); -} -CIMGUI_API int igFindWindowDisplayIndex(ImGuiWindow* window) { - return ImGui::FindWindowDisplayIndex(window); -} -CIMGUI_API ImGuiWindow* igFindBottomMostVisibleWindowWithinBeginStack( - ImGuiWindow* window) { - return ImGui::FindBottomMostVisibleWindowWithinBeginStack(window); -} -CIMGUI_API void igSetNextWindowRefreshPolicy(ImGuiWindowRefreshFlags flags) { - return ImGui::SetNextWindowRefreshPolicy(flags); -} -CIMGUI_API void igSetCurrentFont(ImFont* font) { - return ImGui::SetCurrentFont(font); -} -CIMGUI_API ImFont* igGetDefaultFont() { - return ImGui::GetDefaultFont(); -} -CIMGUI_API ImDrawList* igGetForegroundDrawList_WindowPtr(ImGuiWindow* window) { - return ImGui::GetForegroundDrawList(window); -} -CIMGUI_API void igAddDrawListToDrawDataEx(ImDrawData* draw_data, - ImVector_ImDrawListPtr* out_list, - ImDrawList* draw_list) { - return ImGui::AddDrawListToDrawDataEx(draw_data, out_list, draw_list); -} -CIMGUI_API void igInitialize() { - return ImGui::Initialize(); -} -CIMGUI_API void igShutdown() { - return ImGui::Shutdown(); -} -CIMGUI_API void igUpdateInputEvents(bool trickle_fast_inputs) { - return ImGui::UpdateInputEvents(trickle_fast_inputs); -} -CIMGUI_API void igUpdateHoveredWindowAndCaptureFlags() { - return ImGui::UpdateHoveredWindowAndCaptureFlags(); -} -CIMGUI_API void igStartMouseMovingWindow(ImGuiWindow* window) { - return ImGui::StartMouseMovingWindow(window); -} -CIMGUI_API void igStartMouseMovingWindowOrNode(ImGuiWindow* window, - ImGuiDockNode* node, - bool undock) { - return ImGui::StartMouseMovingWindowOrNode(window, node, undock); -} -CIMGUI_API void igUpdateMouseMovingWindowNewFrame() { - return ImGui::UpdateMouseMovingWindowNewFrame(); -} -CIMGUI_API void igUpdateMouseMovingWindowEndFrame() { - return ImGui::UpdateMouseMovingWindowEndFrame(); -} -CIMGUI_API ImGuiID igAddContextHook(ImGuiContext* context, - const ImGuiContextHook* hook) { - return ImGui::AddContextHook(context, hook); -} -CIMGUI_API void igRemoveContextHook(ImGuiContext* context, - ImGuiID hook_to_remove) { - return ImGui::RemoveContextHook(context, hook_to_remove); -} -CIMGUI_API void igCallContextHooks(ImGuiContext* context, - ImGuiContextHookType type) { - return ImGui::CallContextHooks(context, type); -} -CIMGUI_API void igTranslateWindowsInViewport(ImGuiViewportP* viewport, - const ImVec2 old_pos, - const ImVec2 new_pos) { - return ImGui::TranslateWindowsInViewport(viewport, old_pos, new_pos); -} -CIMGUI_API void igScaleWindowsInViewport(ImGuiViewportP* viewport, - float scale) { - return ImGui::ScaleWindowsInViewport(viewport, scale); -} -CIMGUI_API void igDestroyPlatformWindow(ImGuiViewportP* viewport) { - return ImGui::DestroyPlatformWindow(viewport); -} -CIMGUI_API void igSetWindowViewport(ImGuiWindow* window, - ImGuiViewportP* viewport) { - return ImGui::SetWindowViewport(window, viewport); -} -CIMGUI_API void igSetCurrentViewport(ImGuiWindow* window, - ImGuiViewportP* viewport) { - return ImGui::SetCurrentViewport(window, viewport); -} -CIMGUI_API const ImGuiPlatformMonitor* igGetViewportPlatformMonitor( - ImGuiViewport* viewport) { - return ImGui::GetViewportPlatformMonitor(viewport); -} -CIMGUI_API ImGuiViewportP* igFindHoveredViewportFromPlatformWindowStack( - const ImVec2 mouse_platform_pos) { - return ImGui::FindHoveredViewportFromPlatformWindowStack(mouse_platform_pos); -} -CIMGUI_API void igMarkIniSettingsDirty_Nil() { - return ImGui::MarkIniSettingsDirty(); -} -CIMGUI_API void igMarkIniSettingsDirty_WindowPtr(ImGuiWindow* window) { - return ImGui::MarkIniSettingsDirty(window); -} -CIMGUI_API void igClearIniSettings() { - return ImGui::ClearIniSettings(); -} -CIMGUI_API void igAddSettingsHandler(const ImGuiSettingsHandler* handler) { - return ImGui::AddSettingsHandler(handler); -} -CIMGUI_API void igRemoveSettingsHandler(const char* type_name) { - return ImGui::RemoveSettingsHandler(type_name); -} -CIMGUI_API ImGuiSettingsHandler* igFindSettingsHandler(const char* type_name) { - return ImGui::FindSettingsHandler(type_name); -} -CIMGUI_API ImGuiWindowSettings* igCreateNewWindowSettings(const char* name) { - return ImGui::CreateNewWindowSettings(name); -} -CIMGUI_API ImGuiWindowSettings* igFindWindowSettingsByID(ImGuiID id) { - return ImGui::FindWindowSettingsByID(id); -} -CIMGUI_API ImGuiWindowSettings* igFindWindowSettingsByWindow( - ImGuiWindow* window) { - return ImGui::FindWindowSettingsByWindow(window); -} -CIMGUI_API void igClearWindowSettings(const char* name) { - return ImGui::ClearWindowSettings(name); -} -CIMGUI_API void igLocalizeRegisterEntries(const ImGuiLocEntry* entries, - int count) { - return ImGui::LocalizeRegisterEntries(entries, count); -} -CIMGUI_API const char* igLocalizeGetMsg(ImGuiLocKey key) { - return ImGui::LocalizeGetMsg(key); -} -CIMGUI_API void igSetScrollX_WindowPtr(ImGuiWindow* window, float scroll_x) { - return ImGui::SetScrollX(window, scroll_x); -} -CIMGUI_API void igSetScrollY_WindowPtr(ImGuiWindow* window, float scroll_y) { - return ImGui::SetScrollY(window, scroll_y); -} -CIMGUI_API void igSetScrollFromPosX_WindowPtr(ImGuiWindow* window, - float local_x, - float center_x_ratio) { - return ImGui::SetScrollFromPosX(window, local_x, center_x_ratio); -} -CIMGUI_API void igSetScrollFromPosY_WindowPtr(ImGuiWindow* window, - float local_y, - float center_y_ratio) { - return ImGui::SetScrollFromPosY(window, local_y, center_y_ratio); -} -CIMGUI_API void igScrollToItem(ImGuiScrollFlags flags) { - return ImGui::ScrollToItem(flags); -} -CIMGUI_API void igScrollToRect(ImGuiWindow* window, - const ImRect rect, - ImGuiScrollFlags flags) { - return ImGui::ScrollToRect(window, rect, flags); -} -CIMGUI_API void igScrollToRectEx(ImVec2* pOut, - ImGuiWindow* window, - const ImRect rect, - ImGuiScrollFlags flags) { - *pOut = ImGui::ScrollToRectEx(window, rect, flags); -} -CIMGUI_API void igScrollToBringRectIntoView(ImGuiWindow* window, - const ImRect rect) { - return ImGui::ScrollToBringRectIntoView(window, rect); -} -CIMGUI_API ImGuiItemStatusFlags igGetItemStatusFlags() { - return ImGui::GetItemStatusFlags(); -} -CIMGUI_API ImGuiItemFlags igGetItemFlags() { - return ImGui::GetItemFlags(); -} -CIMGUI_API ImGuiID igGetActiveID() { - return ImGui::GetActiveID(); -} -CIMGUI_API ImGuiID igGetFocusID() { - return ImGui::GetFocusID(); -} -CIMGUI_API void igSetActiveID(ImGuiID id, ImGuiWindow* window) { - return ImGui::SetActiveID(id, window); -} -CIMGUI_API void igSetFocusID(ImGuiID id, ImGuiWindow* window) { - return ImGui::SetFocusID(id, window); -} -CIMGUI_API void igClearActiveID() { - return ImGui::ClearActiveID(); -} -CIMGUI_API ImGuiID igGetHoveredID() { - return ImGui::GetHoveredID(); -} -CIMGUI_API void igSetHoveredID(ImGuiID id) { - return ImGui::SetHoveredID(id); -} -CIMGUI_API void igKeepAliveID(ImGuiID id) { - return ImGui::KeepAliveID(id); -} -CIMGUI_API void igMarkItemEdited(ImGuiID id) { - return ImGui::MarkItemEdited(id); -} -CIMGUI_API void igPushOverrideID(ImGuiID id) { - return ImGui::PushOverrideID(id); -} -CIMGUI_API ImGuiID igGetIDWithSeed_Str(const char* str_id_begin, - const char* str_id_end, - ImGuiID seed) { - return ImGui::GetIDWithSeed(str_id_begin, str_id_end, seed); -} -CIMGUI_API ImGuiID igGetIDWithSeed_Int(int n, ImGuiID seed) { - return ImGui::GetIDWithSeed(n, seed); -} -CIMGUI_API void igItemSize_Vec2(const ImVec2 size, float text_baseline_y) { - return ImGui::ItemSize(size, text_baseline_y); -} -CIMGUI_API void igItemSize_Rect(const ImRect bb, float text_baseline_y) { - return ImGui::ItemSize(bb, text_baseline_y); -} -CIMGUI_API bool igItemAdd(const ImRect bb, - ImGuiID id, - const ImRect* nav_bb, - ImGuiItemFlags extra_flags) { - return ImGui::ItemAdd(bb, id, nav_bb, extra_flags); -} -CIMGUI_API bool igItemHoverable(const ImRect bb, - ImGuiID id, - ImGuiItemFlags item_flags) { - return ImGui::ItemHoverable(bb, id, item_flags); -} -CIMGUI_API bool igIsWindowContentHoverable(ImGuiWindow* window, - ImGuiHoveredFlags flags) { - return ImGui::IsWindowContentHoverable(window, flags); -} -CIMGUI_API bool igIsClippedEx(const ImRect bb, ImGuiID id) { - return ImGui::IsClippedEx(bb, id); -} -CIMGUI_API void igSetLastItemData(ImGuiID item_id, - ImGuiItemFlags in_flags, - ImGuiItemStatusFlags status_flags, - const ImRect item_rect) { - return ImGui::SetLastItemData(item_id, in_flags, status_flags, item_rect); -} -CIMGUI_API void igCalcItemSize(ImVec2* pOut, - ImVec2 size, - float default_w, - float default_h) { - *pOut = ImGui::CalcItemSize(size, default_w, default_h); -} -CIMGUI_API float igCalcWrapWidthForPos(const ImVec2 pos, float wrap_pos_x) { - return ImGui::CalcWrapWidthForPos(pos, wrap_pos_x); -} -CIMGUI_API void igPushMultiItemsWidths(int components, float width_full) { - return ImGui::PushMultiItemsWidths(components, width_full); -} -CIMGUI_API bool igIsItemToggledSelection() { - return ImGui::IsItemToggledSelection(); -} -CIMGUI_API void igGetContentRegionMaxAbs(ImVec2* pOut) { - *pOut = ImGui::GetContentRegionMaxAbs(); -} -CIMGUI_API void igShrinkWidths(ImGuiShrinkWidthItem* items, - int count, - float width_excess) { - return ImGui::ShrinkWidths(items, count, width_excess); -} -CIMGUI_API void igPushItemFlag(ImGuiItemFlags option, bool enabled) { - return ImGui::PushItemFlag(option, enabled); -} -CIMGUI_API void igPopItemFlag() { - return ImGui::PopItemFlag(); -} -CIMGUI_API const ImGuiDataVarInfo* igGetStyleVarInfo(ImGuiStyleVar idx) { - return ImGui::GetStyleVarInfo(idx); -} -CIMGUI_API void igLogBegin(ImGuiLogType type, int auto_open_depth) { - return ImGui::LogBegin(type, auto_open_depth); -} -CIMGUI_API void igLogToBuffer(int auto_open_depth) { - return ImGui::LogToBuffer(auto_open_depth); -} -CIMGUI_API void igLogRenderedText(const ImVec2* ref_pos, - const char* text, - const char* text_end) { - return ImGui::LogRenderedText(ref_pos, text, text_end); -} -CIMGUI_API void igLogSetNextTextDecoration(const char* prefix, - const char* suffix) { - return ImGui::LogSetNextTextDecoration(prefix, suffix); -} -CIMGUI_API bool igBeginChildEx(const char* name, - ImGuiID id, - const ImVec2 size_arg, - ImGuiChildFlags child_flags, - ImGuiWindowFlags window_flags) { - return ImGui::BeginChildEx(name, id, size_arg, child_flags, window_flags); -} -CIMGUI_API void igOpenPopupEx(ImGuiID id, ImGuiPopupFlags popup_flags) { - return ImGui::OpenPopupEx(id, popup_flags); -} -CIMGUI_API void igClosePopupToLevel(int remaining, - bool restore_focus_to_window_under_popup) { - return ImGui::ClosePopupToLevel(remaining, - restore_focus_to_window_under_popup); -} -CIMGUI_API void igClosePopupsOverWindow( - ImGuiWindow* ref_window, - bool restore_focus_to_window_under_popup) { - return ImGui::ClosePopupsOverWindow(ref_window, - restore_focus_to_window_under_popup); -} -CIMGUI_API void igClosePopupsExceptModals() { - return ImGui::ClosePopupsExceptModals(); -} -CIMGUI_API bool igIsPopupOpen_ID(ImGuiID id, ImGuiPopupFlags popup_flags) { - return ImGui::IsPopupOpen(id, popup_flags); -} -CIMGUI_API bool igBeginPopupEx(ImGuiID id, ImGuiWindowFlags extra_flags) { - return ImGui::BeginPopupEx(id, extra_flags); -} -CIMGUI_API bool igBeginTooltipEx(ImGuiTooltipFlags tooltip_flags, - ImGuiWindowFlags extra_window_flags) { - return ImGui::BeginTooltipEx(tooltip_flags, extra_window_flags); -} -CIMGUI_API bool igBeginTooltipHidden() { - return ImGui::BeginTooltipHidden(); -} -CIMGUI_API void igGetPopupAllowedExtentRect(ImRect* pOut, ImGuiWindow* window) { - *pOut = ImGui::GetPopupAllowedExtentRect(window); -} -CIMGUI_API ImGuiWindow* igGetTopMostPopupModal() { - return ImGui::GetTopMostPopupModal(); -} -CIMGUI_API ImGuiWindow* igGetTopMostAndVisiblePopupModal() { - return ImGui::GetTopMostAndVisiblePopupModal(); -} -CIMGUI_API ImGuiWindow* igFindBlockingModal(ImGuiWindow* window) { - return ImGui::FindBlockingModal(window); -} -CIMGUI_API void igFindBestWindowPosForPopup(ImVec2* pOut, ImGuiWindow* window) { - *pOut = ImGui::FindBestWindowPosForPopup(window); -} -CIMGUI_API void igFindBestWindowPosForPopupEx(ImVec2* pOut, - const ImVec2 ref_pos, - const ImVec2 size, - ImGuiDir* last_dir, - const ImRect r_outer, - const ImRect r_avoid, - ImGuiPopupPositionPolicy policy) { - *pOut = ImGui::FindBestWindowPosForPopupEx(ref_pos, size, last_dir, r_outer, - r_avoid, policy); -} -CIMGUI_API bool igBeginViewportSideBar(const char* name, - ImGuiViewport* viewport, - ImGuiDir dir, - float size, - ImGuiWindowFlags window_flags) { - return ImGui::BeginViewportSideBar(name, viewport, dir, size, window_flags); -} -CIMGUI_API bool igBeginMenuEx(const char* label, - const char* icon, - bool enabled) { - return ImGui::BeginMenuEx(label, icon, enabled); -} -CIMGUI_API bool igMenuItemEx(const char* label, - const char* icon, - const char* shortcut, - bool selected, - bool enabled) { - return ImGui::MenuItemEx(label, icon, shortcut, selected, enabled); -} -CIMGUI_API bool igBeginComboPopup(ImGuiID popup_id, - const ImRect bb, - ImGuiComboFlags flags) { - return ImGui::BeginComboPopup(popup_id, bb, flags); -} -CIMGUI_API bool igBeginComboPreview() { - return ImGui::BeginComboPreview(); -} -CIMGUI_API void igEndComboPreview() { - return ImGui::EndComboPreview(); -} -CIMGUI_API void igNavInitWindow(ImGuiWindow* window, bool force_reinit) { - return ImGui::NavInitWindow(window, force_reinit); -} -CIMGUI_API void igNavInitRequestApplyResult() { - return ImGui::NavInitRequestApplyResult(); -} -CIMGUI_API bool igNavMoveRequestButNoResultYet() { - return ImGui::NavMoveRequestButNoResultYet(); -} -CIMGUI_API void igNavMoveRequestSubmit(ImGuiDir move_dir, - ImGuiDir clip_dir, - ImGuiNavMoveFlags move_flags, - ImGuiScrollFlags scroll_flags) { - return ImGui::NavMoveRequestSubmit(move_dir, clip_dir, move_flags, - scroll_flags); -} -CIMGUI_API void igNavMoveRequestForward(ImGuiDir move_dir, - ImGuiDir clip_dir, - ImGuiNavMoveFlags move_flags, - ImGuiScrollFlags scroll_flags) { - return ImGui::NavMoveRequestForward(move_dir, clip_dir, move_flags, - scroll_flags); -} -CIMGUI_API void igNavMoveRequestResolveWithLastItem(ImGuiNavItemData* result) { - return ImGui::NavMoveRequestResolveWithLastItem(result); -} -CIMGUI_API void igNavMoveRequestResolveWithPastTreeNode( - ImGuiNavItemData* result, - ImGuiNavTreeNodeData* tree_node_data) { - return ImGui::NavMoveRequestResolveWithPastTreeNode(result, tree_node_data); -} -CIMGUI_API void igNavMoveRequestCancel() { - return ImGui::NavMoveRequestCancel(); -} -CIMGUI_API void igNavMoveRequestApplyResult() { - return ImGui::NavMoveRequestApplyResult(); -} -CIMGUI_API void igNavMoveRequestTryWrapping(ImGuiWindow* window, - ImGuiNavMoveFlags move_flags) { - return ImGui::NavMoveRequestTryWrapping(window, move_flags); -} -CIMGUI_API void igNavHighlightActivated(ImGuiID id) { - return ImGui::NavHighlightActivated(id); -} -CIMGUI_API void igNavClearPreferredPosForAxis(ImGuiAxis axis) { - return ImGui::NavClearPreferredPosForAxis(axis); -} -CIMGUI_API void igNavRestoreHighlightAfterMove() { - return ImGui::NavRestoreHighlightAfterMove(); -} -CIMGUI_API void igNavUpdateCurrentWindowIsScrollPushableX() { - return ImGui::NavUpdateCurrentWindowIsScrollPushableX(); -} -CIMGUI_API void igSetNavWindow(ImGuiWindow* window) { - return ImGui::SetNavWindow(window); -} -CIMGUI_API void igSetNavID(ImGuiID id, - ImGuiNavLayer nav_layer, - ImGuiID focus_scope_id, - const ImRect rect_rel) { - return ImGui::SetNavID(id, nav_layer, focus_scope_id, rect_rel); -} -CIMGUI_API void igSetNavFocusScope(ImGuiID focus_scope_id) { - return ImGui::SetNavFocusScope(focus_scope_id); -} -CIMGUI_API void igFocusItem() { - return ImGui::FocusItem(); -} -CIMGUI_API void igActivateItemByID(ImGuiID id) { - return ImGui::ActivateItemByID(id); -} -CIMGUI_API bool igIsNamedKey(ImGuiKey key) { - return ImGui::IsNamedKey(key); -} -CIMGUI_API bool igIsNamedKeyOrModKey(ImGuiKey key) { - return ImGui::IsNamedKeyOrModKey(key); -} -CIMGUI_API bool igIsLegacyKey(ImGuiKey key) { - return ImGui::IsLegacyKey(key); -} -CIMGUI_API bool igIsKeyboardKey(ImGuiKey key) { - return ImGui::IsKeyboardKey(key); -} -CIMGUI_API bool igIsGamepadKey(ImGuiKey key) { - return ImGui::IsGamepadKey(key); -} -CIMGUI_API bool igIsMouseKey(ImGuiKey key) { - return ImGui::IsMouseKey(key); -} -CIMGUI_API bool igIsAliasKey(ImGuiKey key) { - return ImGui::IsAliasKey(key); -} -CIMGUI_API bool igIsModKey(ImGuiKey key) { - return ImGui::IsModKey(key); -} -CIMGUI_API ImGuiKeyChord igFixupKeyChord(ImGuiContext* ctx, - ImGuiKeyChord key_chord) { - return ImGui::FixupKeyChord(ctx, key_chord); -} -CIMGUI_API ImGuiKey igConvertSingleModFlagToKey(ImGuiContext* ctx, - ImGuiKey key) { - return ImGui::ConvertSingleModFlagToKey(ctx, key); -} -CIMGUI_API ImGuiKeyData* igGetKeyData_ContextPtr(ImGuiContext* ctx, - ImGuiKey key) { - return ImGui::GetKeyData(ctx, key); -} -CIMGUI_API ImGuiKeyData* igGetKeyData_Key(ImGuiKey key) { - return ImGui::GetKeyData(key); -} -CIMGUI_API const char* igGetKeyChordName(ImGuiKeyChord key_chord) { - return ImGui::GetKeyChordName(key_chord); -} -CIMGUI_API ImGuiKey igMouseButtonToKey(ImGuiMouseButton button) { - return ImGui::MouseButtonToKey(button); -} -CIMGUI_API bool igIsMouseDragPastThreshold(ImGuiMouseButton button, - float lock_threshold) { - return ImGui::IsMouseDragPastThreshold(button, lock_threshold); -} -CIMGUI_API void igGetKeyMagnitude2d(ImVec2* pOut, - ImGuiKey key_left, - ImGuiKey key_right, - ImGuiKey key_up, - ImGuiKey key_down) { - *pOut = ImGui::GetKeyMagnitude2d(key_left, key_right, key_up, key_down); -} -CIMGUI_API float igGetNavTweakPressedAmount(ImGuiAxis axis) { - return ImGui::GetNavTweakPressedAmount(axis); -} -CIMGUI_API int igCalcTypematicRepeatAmount(float t0, - float t1, - float repeat_delay, - float repeat_rate) { - return ImGui::CalcTypematicRepeatAmount(t0, t1, repeat_delay, repeat_rate); -} -CIMGUI_API void igGetTypematicRepeatRate(ImGuiInputFlags flags, - float* repeat_delay, - float* repeat_rate) { - return ImGui::GetTypematicRepeatRate(flags, repeat_delay, repeat_rate); -} -CIMGUI_API void igTeleportMousePos(const ImVec2 pos) { - return ImGui::TeleportMousePos(pos); -} -CIMGUI_API void igSetActiveIdUsingAllKeyboardKeys() { - return ImGui::SetActiveIdUsingAllKeyboardKeys(); -} -CIMGUI_API bool igIsActiveIdUsingNavDir(ImGuiDir dir) { - return ImGui::IsActiveIdUsingNavDir(dir); -} -CIMGUI_API ImGuiID igGetKeyOwner(ImGuiKey key) { - return ImGui::GetKeyOwner(key); -} -CIMGUI_API void igSetKeyOwner(ImGuiKey key, - ImGuiID owner_id, - ImGuiInputFlags flags) { - return ImGui::SetKeyOwner(key, owner_id, flags); -} -CIMGUI_API void igSetKeyOwnersForKeyChord(ImGuiKeyChord key, - ImGuiID owner_id, - ImGuiInputFlags flags) { - return ImGui::SetKeyOwnersForKeyChord(key, owner_id, flags); -} -CIMGUI_API void igSetItemKeyOwner(ImGuiKey key, ImGuiInputFlags flags) { - return ImGui::SetItemKeyOwner(key, flags); -} -CIMGUI_API bool igTestKeyOwner(ImGuiKey key, ImGuiID owner_id) { - return ImGui::TestKeyOwner(key, owner_id); -} -CIMGUI_API ImGuiKeyOwnerData* igGetKeyOwnerData(ImGuiContext* ctx, - ImGuiKey key) { - return ImGui::GetKeyOwnerData(ctx, key); -} -CIMGUI_API bool igIsKeyDown_ID(ImGuiKey key, ImGuiID owner_id) { - return ImGui::IsKeyDown(key, owner_id); -} -CIMGUI_API bool igIsKeyPressed_ID(ImGuiKey key, - ImGuiID owner_id, - ImGuiInputFlags flags) { - return ImGui::IsKeyPressed(key, owner_id, flags); -} -CIMGUI_API bool igIsKeyReleased_ID(ImGuiKey key, ImGuiID owner_id) { - return ImGui::IsKeyReleased(key, owner_id); -} -CIMGUI_API bool igIsMouseDown_ID(ImGuiMouseButton button, ImGuiID owner_id) { - return ImGui::IsMouseDown(button, owner_id); -} -CIMGUI_API bool igIsMouseClicked_ID(ImGuiMouseButton button, - ImGuiID owner_id, - ImGuiInputFlags flags) { - return ImGui::IsMouseClicked(button, owner_id, flags); -} -CIMGUI_API bool igIsMouseReleased_ID(ImGuiMouseButton button, - ImGuiID owner_id) { - return ImGui::IsMouseReleased(button, owner_id); -} -CIMGUI_API bool igIsMouseDoubleClicked_ID(ImGuiMouseButton button, - ImGuiID owner_id) { - return ImGui::IsMouseDoubleClicked(button, owner_id); -} -CIMGUI_API bool igIsKeyChordPressed_ID(ImGuiKeyChord key_chord, - ImGuiID owner_id, - ImGuiInputFlags flags) { - return ImGui::IsKeyChordPressed(key_chord, owner_id, flags); -} -CIMGUI_API void igSetNextItemShortcut(ImGuiKeyChord key_chord) { - return ImGui::SetNextItemShortcut(key_chord); -} -CIMGUI_API bool igShortcut(ImGuiKeyChord key_chord, - ImGuiID owner_id, - ImGuiInputFlags flags) { - return ImGui::Shortcut(key_chord, owner_id, flags); -} -CIMGUI_API bool igSetShortcutRouting(ImGuiKeyChord key_chord, - ImGuiID owner_id, - ImGuiInputFlags flags) { - return ImGui::SetShortcutRouting(key_chord, owner_id, flags); -} -CIMGUI_API bool igTestShortcutRouting(ImGuiKeyChord key_chord, - ImGuiID owner_id) { - return ImGui::TestShortcutRouting(key_chord, owner_id); -} -CIMGUI_API ImGuiKeyRoutingData* igGetShortcutRoutingData( - ImGuiKeyChord key_chord) { - return ImGui::GetShortcutRoutingData(key_chord); -} -CIMGUI_API void igDockContextInitialize(ImGuiContext* ctx) { - return ImGui::DockContextInitialize(ctx); -} -CIMGUI_API void igDockContextShutdown(ImGuiContext* ctx) { - return ImGui::DockContextShutdown(ctx); -} -CIMGUI_API void igDockContextClearNodes(ImGuiContext* ctx, - ImGuiID root_id, - bool clear_settings_refs) { - return ImGui::DockContextClearNodes(ctx, root_id, clear_settings_refs); -} -CIMGUI_API void igDockContextRebuildNodes(ImGuiContext* ctx) { - return ImGui::DockContextRebuildNodes(ctx); -} -CIMGUI_API void igDockContextNewFrameUpdateUndocking(ImGuiContext* ctx) { - return ImGui::DockContextNewFrameUpdateUndocking(ctx); -} -CIMGUI_API void igDockContextNewFrameUpdateDocking(ImGuiContext* ctx) { - return ImGui::DockContextNewFrameUpdateDocking(ctx); -} -CIMGUI_API void igDockContextEndFrame(ImGuiContext* ctx) { - return ImGui::DockContextEndFrame(ctx); -} -CIMGUI_API ImGuiID igDockContextGenNodeID(ImGuiContext* ctx) { - return ImGui::DockContextGenNodeID(ctx); -} -CIMGUI_API void igDockContextQueueDock(ImGuiContext* ctx, - ImGuiWindow* target, - ImGuiDockNode* target_node, - ImGuiWindow* payload, - ImGuiDir split_dir, - float split_ratio, - bool split_outer) { - return ImGui::DockContextQueueDock(ctx, target, target_node, payload, - split_dir, split_ratio, split_outer); -} -CIMGUI_API void igDockContextQueueUndockWindow(ImGuiContext* ctx, - ImGuiWindow* window) { - return ImGui::DockContextQueueUndockWindow(ctx, window); -} -CIMGUI_API void igDockContextQueueUndockNode(ImGuiContext* ctx, - ImGuiDockNode* node) { - return ImGui::DockContextQueueUndockNode(ctx, node); -} -CIMGUI_API void igDockContextProcessUndockWindow( - ImGuiContext* ctx, - ImGuiWindow* window, - bool clear_persistent_docking_ref) { - return ImGui::DockContextProcessUndockWindow(ctx, window, - clear_persistent_docking_ref); -} -CIMGUI_API void igDockContextProcessUndockNode(ImGuiContext* ctx, - ImGuiDockNode* node) { - return ImGui::DockContextProcessUndockNode(ctx, node); -} -CIMGUI_API bool igDockContextCalcDropPosForDocking(ImGuiWindow* target, - ImGuiDockNode* target_node, - ImGuiWindow* payload_window, - ImGuiDockNode* payload_node, - ImGuiDir split_dir, - bool split_outer, - ImVec2* out_pos) { - return ImGui::DockContextCalcDropPosForDocking( - target, target_node, payload_window, payload_node, split_dir, split_outer, - out_pos); -} -CIMGUI_API ImGuiDockNode* igDockContextFindNodeByID(ImGuiContext* ctx, - ImGuiID id) { - return ImGui::DockContextFindNodeByID(ctx, id); -} -CIMGUI_API void igDockNodeWindowMenuHandler_Default(ImGuiContext* ctx, - ImGuiDockNode* node, - ImGuiTabBar* tab_bar) { - return ImGui::DockNodeWindowMenuHandler_Default(ctx, node, tab_bar); -} -CIMGUI_API bool igDockNodeBeginAmendTabBar(ImGuiDockNode* node) { - return ImGui::DockNodeBeginAmendTabBar(node); -} -CIMGUI_API void igDockNodeEndAmendTabBar() { - return ImGui::DockNodeEndAmendTabBar(); -} -CIMGUI_API ImGuiDockNode* igDockNodeGetRootNode(ImGuiDockNode* node) { - return ImGui::DockNodeGetRootNode(node); -} -CIMGUI_API bool igDockNodeIsInHierarchyOf(ImGuiDockNode* node, - ImGuiDockNode* parent) { - return ImGui::DockNodeIsInHierarchyOf(node, parent); -} -CIMGUI_API int igDockNodeGetDepth(const ImGuiDockNode* node) { - return ImGui::DockNodeGetDepth(node); -} -CIMGUI_API ImGuiID igDockNodeGetWindowMenuButtonId(const ImGuiDockNode* node) { - return ImGui::DockNodeGetWindowMenuButtonId(node); -} -CIMGUI_API ImGuiDockNode* igGetWindowDockNode() { - return ImGui::GetWindowDockNode(); -} -CIMGUI_API bool igGetWindowAlwaysWantOwnTabBar(ImGuiWindow* window) { - return ImGui::GetWindowAlwaysWantOwnTabBar(window); -} -CIMGUI_API void igBeginDocked(ImGuiWindow* window, bool* p_open) { - return ImGui::BeginDocked(window, p_open); -} -CIMGUI_API void igBeginDockableDragDropSource(ImGuiWindow* window) { - return ImGui::BeginDockableDragDropSource(window); -} -CIMGUI_API void igBeginDockableDragDropTarget(ImGuiWindow* window) { - return ImGui::BeginDockableDragDropTarget(window); -} -CIMGUI_API void igSetWindowDock(ImGuiWindow* window, - ImGuiID dock_id, - ImGuiCond cond) { - return ImGui::SetWindowDock(window, dock_id, cond); -} -CIMGUI_API void igDockBuilderDockWindow(const char* window_name, - ImGuiID node_id) { - return ImGui::DockBuilderDockWindow(window_name, node_id); -} -CIMGUI_API ImGuiDockNode* igDockBuilderGetNode(ImGuiID node_id) { - return ImGui::DockBuilderGetNode(node_id); -} -CIMGUI_API ImGuiDockNode* igDockBuilderGetCentralNode(ImGuiID node_id) { - return ImGui::DockBuilderGetCentralNode(node_id); -} -CIMGUI_API ImGuiID igDockBuilderAddNode(ImGuiID node_id, - ImGuiDockNodeFlags flags) { - return ImGui::DockBuilderAddNode(node_id, flags); -} -CIMGUI_API void igDockBuilderRemoveNode(ImGuiID node_id) { - return ImGui::DockBuilderRemoveNode(node_id); -} -CIMGUI_API void igDockBuilderRemoveNodeDockedWindows(ImGuiID node_id, - bool clear_settings_refs) { - return ImGui::DockBuilderRemoveNodeDockedWindows(node_id, - clear_settings_refs); -} -CIMGUI_API void igDockBuilderRemoveNodeChildNodes(ImGuiID node_id) { - return ImGui::DockBuilderRemoveNodeChildNodes(node_id); -} -CIMGUI_API void igDockBuilderSetNodePos(ImGuiID node_id, ImVec2 pos) { - return ImGui::DockBuilderSetNodePos(node_id, pos); -} -CIMGUI_API void igDockBuilderSetNodeSize(ImGuiID node_id, ImVec2 size) { - return ImGui::DockBuilderSetNodeSize(node_id, size); -} -CIMGUI_API ImGuiID igDockBuilderSplitNode(ImGuiID node_id, - ImGuiDir split_dir, - float size_ratio_for_node_at_dir, - ImGuiID* out_id_at_dir, - ImGuiID* out_id_at_opposite_dir) { - return ImGui::DockBuilderSplitNode(node_id, split_dir, - size_ratio_for_node_at_dir, out_id_at_dir, - out_id_at_opposite_dir); -} -CIMGUI_API void igDockBuilderCopyDockSpace( - ImGuiID src_dockspace_id, - ImGuiID dst_dockspace_id, - ImVector_const_charPtr* in_window_remap_pairs) { - return ImGui::DockBuilderCopyDockSpace(src_dockspace_id, dst_dockspace_id, - in_window_remap_pairs); -} -CIMGUI_API void igDockBuilderCopyNode(ImGuiID src_node_id, - ImGuiID dst_node_id, - ImVector_ImGuiID* out_node_remap_pairs) { - return ImGui::DockBuilderCopyNode(src_node_id, dst_node_id, - out_node_remap_pairs); -} -CIMGUI_API void igDockBuilderCopyWindowSettings(const char* src_name, - const char* dst_name) { - return ImGui::DockBuilderCopyWindowSettings(src_name, dst_name); -} -CIMGUI_API void igDockBuilderFinish(ImGuiID node_id) { - return ImGui::DockBuilderFinish(node_id); -} -CIMGUI_API void igPushFocusScope(ImGuiID id) { - return ImGui::PushFocusScope(id); -} -CIMGUI_API void igPopFocusScope() { - return ImGui::PopFocusScope(); -} -CIMGUI_API ImGuiID igGetCurrentFocusScope() { - return ImGui::GetCurrentFocusScope(); -} -CIMGUI_API bool igIsDragDropActive() { - return ImGui::IsDragDropActive(); -} -CIMGUI_API bool igBeginDragDropTargetCustom(const ImRect bb, ImGuiID id) { - return ImGui::BeginDragDropTargetCustom(bb, id); -} -CIMGUI_API void igClearDragDrop() { - return ImGui::ClearDragDrop(); -} -CIMGUI_API bool igIsDragDropPayloadBeingAccepted() { - return ImGui::IsDragDropPayloadBeingAccepted(); -} -CIMGUI_API void igRenderDragDropTargetRect(const ImRect bb, - const ImRect item_clip_rect) { - return ImGui::RenderDragDropTargetRect(bb, item_clip_rect); -} -CIMGUI_API ImGuiTypingSelectRequest* igGetTypingSelectRequest( - ImGuiTypingSelectFlags flags) { - return ImGui::GetTypingSelectRequest(flags); -} -CIMGUI_API int igTypingSelectFindMatch(ImGuiTypingSelectRequest* req, - int items_count, - const char* (*get_item_name_func)(void*, - int), - void* user_data, - int nav_item_idx) { - return ImGui::TypingSelectFindMatch(req, items_count, get_item_name_func, - user_data, nav_item_idx); -} -CIMGUI_API int igTypingSelectFindNextSingleCharMatch( - ImGuiTypingSelectRequest* req, - int items_count, - const char* (*get_item_name_func)(void*, int), - void* user_data, - int nav_item_idx) { - return ImGui::TypingSelectFindNextSingleCharMatch( - req, items_count, get_item_name_func, user_data, nav_item_idx); -} -CIMGUI_API int igTypingSelectFindBestLeadingMatch( - ImGuiTypingSelectRequest* req, - int items_count, - const char* (*get_item_name_func)(void*, int), - void* user_data) { - return ImGui::TypingSelectFindBestLeadingMatch(req, items_count, - get_item_name_func, user_data); -} -CIMGUI_API void igSetWindowClipRectBeforeSetChannel(ImGuiWindow* window, - const ImRect clip_rect) { - return ImGui::SetWindowClipRectBeforeSetChannel(window, clip_rect); -} -CIMGUI_API void igBeginColumns(const char* str_id, - int count, - ImGuiOldColumnFlags flags) { - return ImGui::BeginColumns(str_id, count, flags); -} -CIMGUI_API void igEndColumns() { - return ImGui::EndColumns(); -} -CIMGUI_API void igPushColumnClipRect(int column_index) { - return ImGui::PushColumnClipRect(column_index); -} -CIMGUI_API void igPushColumnsBackground() { - return ImGui::PushColumnsBackground(); -} -CIMGUI_API void igPopColumnsBackground() { - return ImGui::PopColumnsBackground(); -} -CIMGUI_API ImGuiID igGetColumnsID(const char* str_id, int count) { - return ImGui::GetColumnsID(str_id, count); -} -CIMGUI_API ImGuiOldColumns* igFindOrCreateColumns(ImGuiWindow* window, - ImGuiID id) { - return ImGui::FindOrCreateColumns(window, id); -} -CIMGUI_API float igGetColumnOffsetFromNorm(const ImGuiOldColumns* columns, - float offset_norm) { - return ImGui::GetColumnOffsetFromNorm(columns, offset_norm); -} -CIMGUI_API float igGetColumnNormFromOffset(const ImGuiOldColumns* columns, - float offset) { - return ImGui::GetColumnNormFromOffset(columns, offset); -} -CIMGUI_API void igTableOpenContextMenu(int column_n) { - return ImGui::TableOpenContextMenu(column_n); -} -CIMGUI_API void igTableSetColumnWidth(int column_n, float width) { - return ImGui::TableSetColumnWidth(column_n, width); -} -CIMGUI_API void igTableSetColumnSortDirection(int column_n, - ImGuiSortDirection sort_direction, - bool append_to_sort_specs) { - return ImGui::TableSetColumnSortDirection(column_n, sort_direction, - append_to_sort_specs); -} -CIMGUI_API int igTableGetHoveredColumn() { - return ImGui::TableGetHoveredColumn(); -} -CIMGUI_API int igTableGetHoveredRow() { - return ImGui::TableGetHoveredRow(); -} -CIMGUI_API float igTableGetHeaderRowHeight() { - return ImGui::TableGetHeaderRowHeight(); -} -CIMGUI_API float igTableGetHeaderAngledMaxLabelWidth() { - return ImGui::TableGetHeaderAngledMaxLabelWidth(); -} -CIMGUI_API void igTablePushBackgroundChannel() { - return ImGui::TablePushBackgroundChannel(); -} -CIMGUI_API void igTablePopBackgroundChannel() { - return ImGui::TablePopBackgroundChannel(); -} -CIMGUI_API void igTableAngledHeadersRowEx(ImGuiID row_id, - float angle, - float max_label_width, - const ImGuiTableHeaderData* data, - int data_count) { - return ImGui::TableAngledHeadersRowEx(row_id, angle, max_label_width, data, - data_count); -} -CIMGUI_API ImGuiTable* igGetCurrentTable() { - return ImGui::GetCurrentTable(); -} -CIMGUI_API ImGuiTable* igTableFindByID(ImGuiID id) { - return ImGui::TableFindByID(id); -} -CIMGUI_API bool igBeginTableEx(const char* name, - ImGuiID id, - int columns_count, - ImGuiTableFlags flags, - const ImVec2 outer_size, - float inner_width) { - return ImGui::BeginTableEx(name, id, columns_count, flags, outer_size, - inner_width); -} -CIMGUI_API void igTableBeginInitMemory(ImGuiTable* table, int columns_count) { - return ImGui::TableBeginInitMemory(table, columns_count); -} -CIMGUI_API void igTableBeginApplyRequests(ImGuiTable* table) { - return ImGui::TableBeginApplyRequests(table); -} -CIMGUI_API void igTableSetupDrawChannels(ImGuiTable* table) { - return ImGui::TableSetupDrawChannels(table); -} -CIMGUI_API void igTableUpdateLayout(ImGuiTable* table) { - return ImGui::TableUpdateLayout(table); -} -CIMGUI_API void igTableUpdateBorders(ImGuiTable* table) { - return ImGui::TableUpdateBorders(table); -} -CIMGUI_API void igTableUpdateColumnsWeightFromWidth(ImGuiTable* table) { - return ImGui::TableUpdateColumnsWeightFromWidth(table); -} -CIMGUI_API void igTableDrawBorders(ImGuiTable* table) { - return ImGui::TableDrawBorders(table); -} -CIMGUI_API void igTableDrawDefaultContextMenu( - ImGuiTable* table, - ImGuiTableFlags flags_for_section_to_display) { - return ImGui::TableDrawDefaultContextMenu(table, - flags_for_section_to_display); -} -CIMGUI_API bool igTableBeginContextMenuPopup(ImGuiTable* table) { - return ImGui::TableBeginContextMenuPopup(table); -} -CIMGUI_API void igTableMergeDrawChannels(ImGuiTable* table) { - return ImGui::TableMergeDrawChannels(table); -} -CIMGUI_API ImGuiTableInstanceData* igTableGetInstanceData(ImGuiTable* table, - int instance_no) { - return ImGui::TableGetInstanceData(table, instance_no); -} -CIMGUI_API ImGuiID igTableGetInstanceID(ImGuiTable* table, int instance_no) { - return ImGui::TableGetInstanceID(table, instance_no); -} -CIMGUI_API void igTableSortSpecsSanitize(ImGuiTable* table) { - return ImGui::TableSortSpecsSanitize(table); -} -CIMGUI_API void igTableSortSpecsBuild(ImGuiTable* table) { - return ImGui::TableSortSpecsBuild(table); -} -CIMGUI_API ImGuiSortDirection -igTableGetColumnNextSortDirection(ImGuiTableColumn* column) { - return ImGui::TableGetColumnNextSortDirection(column); -} -CIMGUI_API void igTableFixColumnSortDirection(ImGuiTable* table, - ImGuiTableColumn* column) { - return ImGui::TableFixColumnSortDirection(table, column); -} -CIMGUI_API float igTableGetColumnWidthAuto(ImGuiTable* table, - ImGuiTableColumn* column) { - return ImGui::TableGetColumnWidthAuto(table, column); -} -CIMGUI_API void igTableBeginRow(ImGuiTable* table) { - return ImGui::TableBeginRow(table); -} -CIMGUI_API void igTableEndRow(ImGuiTable* table) { - return ImGui::TableEndRow(table); -} -CIMGUI_API void igTableBeginCell(ImGuiTable* table, int column_n) { - return ImGui::TableBeginCell(table, column_n); -} -CIMGUI_API void igTableEndCell(ImGuiTable* table) { - return ImGui::TableEndCell(table); -} -CIMGUI_API void igTableGetCellBgRect(ImRect* pOut, - const ImGuiTable* table, - int column_n) { - *pOut = ImGui::TableGetCellBgRect(table, column_n); -} -CIMGUI_API const char* igTableGetColumnName_TablePtr(const ImGuiTable* table, - int column_n) { - return ImGui::TableGetColumnName(table, column_n); -} -CIMGUI_API ImGuiID igTableGetColumnResizeID(ImGuiTable* table, - int column_n, - int instance_no) { - return ImGui::TableGetColumnResizeID(table, column_n, instance_no); -} -CIMGUI_API float igTableGetMaxColumnWidth(const ImGuiTable* table, - int column_n) { - return ImGui::TableGetMaxColumnWidth(table, column_n); -} -CIMGUI_API void igTableSetColumnWidthAutoSingle(ImGuiTable* table, - int column_n) { - return ImGui::TableSetColumnWidthAutoSingle(table, column_n); -} -CIMGUI_API void igTableSetColumnWidthAutoAll(ImGuiTable* table) { - return ImGui::TableSetColumnWidthAutoAll(table); -} -CIMGUI_API void igTableRemove(ImGuiTable* table) { - return ImGui::TableRemove(table); -} -CIMGUI_API void igTableGcCompactTransientBuffers_TablePtr(ImGuiTable* table) { - return ImGui::TableGcCompactTransientBuffers(table); -} -CIMGUI_API void igTableGcCompactTransientBuffers_TableTempDataPtr( - ImGuiTableTempData* table) { - return ImGui::TableGcCompactTransientBuffers(table); -} -CIMGUI_API void igTableGcCompactSettings() { - return ImGui::TableGcCompactSettings(); -} -CIMGUI_API void igTableLoadSettings(ImGuiTable* table) { - return ImGui::TableLoadSettings(table); -} -CIMGUI_API void igTableSaveSettings(ImGuiTable* table) { - return ImGui::TableSaveSettings(table); -} -CIMGUI_API void igTableResetSettings(ImGuiTable* table) { - return ImGui::TableResetSettings(table); -} -CIMGUI_API ImGuiTableSettings* igTableGetBoundSettings(ImGuiTable* table) { - return ImGui::TableGetBoundSettings(table); -} -CIMGUI_API void igTableSettingsAddSettingsHandler() { - return ImGui::TableSettingsAddSettingsHandler(); -} -CIMGUI_API ImGuiTableSettings* igTableSettingsCreate(ImGuiID id, - int columns_count) { - return ImGui::TableSettingsCreate(id, columns_count); -} -CIMGUI_API ImGuiTableSettings* igTableSettingsFindByID(ImGuiID id) { - return ImGui::TableSettingsFindByID(id); -} -CIMGUI_API ImGuiTabBar* igGetCurrentTabBar() { - return ImGui::GetCurrentTabBar(); -} -CIMGUI_API bool igBeginTabBarEx(ImGuiTabBar* tab_bar, - const ImRect bb, - ImGuiTabBarFlags flags) { - return ImGui::BeginTabBarEx(tab_bar, bb, flags); -} -CIMGUI_API ImGuiTabItem* igTabBarFindTabByID(ImGuiTabBar* tab_bar, - ImGuiID tab_id) { - return ImGui::TabBarFindTabByID(tab_bar, tab_id); -} -CIMGUI_API ImGuiTabItem* igTabBarFindTabByOrder(ImGuiTabBar* tab_bar, - int order) { - return ImGui::TabBarFindTabByOrder(tab_bar, order); -} -CIMGUI_API ImGuiTabItem* igTabBarFindMostRecentlySelectedTabForActiveWindow( - ImGuiTabBar* tab_bar) { - return ImGui::TabBarFindMostRecentlySelectedTabForActiveWindow(tab_bar); -} -CIMGUI_API ImGuiTabItem* igTabBarGetCurrentTab(ImGuiTabBar* tab_bar) { - return ImGui::TabBarGetCurrentTab(tab_bar); -} -CIMGUI_API int igTabBarGetTabOrder(ImGuiTabBar* tab_bar, ImGuiTabItem* tab) { - return ImGui::TabBarGetTabOrder(tab_bar, tab); -} -CIMGUI_API const char* igTabBarGetTabName(ImGuiTabBar* tab_bar, - ImGuiTabItem* tab) { - return ImGui::TabBarGetTabName(tab_bar, tab); -} -CIMGUI_API void igTabBarAddTab(ImGuiTabBar* tab_bar, - ImGuiTabItemFlags tab_flags, - ImGuiWindow* window) { - return ImGui::TabBarAddTab(tab_bar, tab_flags, window); -} -CIMGUI_API void igTabBarRemoveTab(ImGuiTabBar* tab_bar, ImGuiID tab_id) { - return ImGui::TabBarRemoveTab(tab_bar, tab_id); -} -CIMGUI_API void igTabBarCloseTab(ImGuiTabBar* tab_bar, ImGuiTabItem* tab) { - return ImGui::TabBarCloseTab(tab_bar, tab); -} -CIMGUI_API void igTabBarQueueFocus(ImGuiTabBar* tab_bar, ImGuiTabItem* tab) { - return ImGui::TabBarQueueFocus(tab_bar, tab); -} -CIMGUI_API void igTabBarQueueReorder(ImGuiTabBar* tab_bar, - ImGuiTabItem* tab, - int offset) { - return ImGui::TabBarQueueReorder(tab_bar, tab, offset); -} -CIMGUI_API void igTabBarQueueReorderFromMousePos(ImGuiTabBar* tab_bar, - ImGuiTabItem* tab, - ImVec2 mouse_pos) { - return ImGui::TabBarQueueReorderFromMousePos(tab_bar, tab, mouse_pos); -} -CIMGUI_API bool igTabBarProcessReorder(ImGuiTabBar* tab_bar) { - return ImGui::TabBarProcessReorder(tab_bar); -} -CIMGUI_API bool igTabItemEx(ImGuiTabBar* tab_bar, - const char* label, - bool* p_open, - ImGuiTabItemFlags flags, - ImGuiWindow* docked_window) { - return ImGui::TabItemEx(tab_bar, label, p_open, flags, docked_window); -} -CIMGUI_API void igTabItemCalcSize_Str(ImVec2* pOut, - const char* label, - bool has_close_button_or_unsaved_marker) { - *pOut = ImGui::TabItemCalcSize(label, has_close_button_or_unsaved_marker); -} -CIMGUI_API void igTabItemCalcSize_WindowPtr(ImVec2* pOut, ImGuiWindow* window) { - *pOut = ImGui::TabItemCalcSize(window); -} -CIMGUI_API void igTabItemBackground(ImDrawList* draw_list, - const ImRect bb, - ImGuiTabItemFlags flags, - ImU32 col) { - return ImGui::TabItemBackground(draw_list, bb, flags, col); -} -CIMGUI_API void igTabItemLabelAndCloseButton(ImDrawList* draw_list, - const ImRect bb, - ImGuiTabItemFlags flags, - ImVec2 frame_padding, - const char* label, - ImGuiID tab_id, - ImGuiID close_button_id, - bool is_contents_visible, - bool* out_just_closed, - bool* out_text_clipped) { - return ImGui::TabItemLabelAndCloseButton( - draw_list, bb, flags, frame_padding, label, tab_id, close_button_id, - is_contents_visible, out_just_closed, out_text_clipped); -} -CIMGUI_API void igRenderText(ImVec2 pos, - const char* text, - const char* text_end, - bool hide_text_after_hash) { - return ImGui::RenderText(pos, text, text_end, hide_text_after_hash); -} -CIMGUI_API void igRenderTextWrapped(ImVec2 pos, - const char* text, - const char* text_end, - float wrap_width) { - return ImGui::RenderTextWrapped(pos, text, text_end, wrap_width); -} -CIMGUI_API void igRenderTextClipped(const ImVec2 pos_min, - const ImVec2 pos_max, - const char* text, - const char* text_end, - const ImVec2* text_size_if_known, - const ImVec2 align, - const ImRect* clip_rect) { - return ImGui::RenderTextClipped(pos_min, pos_max, text, text_end, - text_size_if_known, align, clip_rect); -} -CIMGUI_API void igRenderTextClippedEx(ImDrawList* draw_list, - const ImVec2 pos_min, - const ImVec2 pos_max, - const char* text, - const char* text_end, - const ImVec2* text_size_if_known, - const ImVec2 align, - const ImRect* clip_rect) { - return ImGui::RenderTextClippedEx(draw_list, pos_min, pos_max, text, text_end, - text_size_if_known, align, clip_rect); -} -CIMGUI_API void igRenderTextEllipsis(ImDrawList* draw_list, - const ImVec2 pos_min, - const ImVec2 pos_max, - float clip_max_x, - float ellipsis_max_x, - const char* text, - const char* text_end, - const ImVec2* text_size_if_known) { - return ImGui::RenderTextEllipsis(draw_list, pos_min, pos_max, clip_max_x, - ellipsis_max_x, text, text_end, - text_size_if_known); -} -CIMGUI_API void igRenderFrame(ImVec2 p_min, - ImVec2 p_max, - ImU32 fill_col, - bool border, - float rounding) { - return ImGui::RenderFrame(p_min, p_max, fill_col, border, rounding); -} -CIMGUI_API void igRenderFrameBorder(ImVec2 p_min, - ImVec2 p_max, - float rounding) { - return ImGui::RenderFrameBorder(p_min, p_max, rounding); -} -CIMGUI_API void igRenderColorRectWithAlphaCheckerboard(ImDrawList* draw_list, - ImVec2 p_min, - ImVec2 p_max, - ImU32 fill_col, - float grid_step, - ImVec2 grid_off, - float rounding, - ImDrawFlags flags) { - return ImGui::RenderColorRectWithAlphaCheckerboard( - draw_list, p_min, p_max, fill_col, grid_step, grid_off, rounding, flags); -} -CIMGUI_API void igRenderNavHighlight(const ImRect bb, - ImGuiID id, - ImGuiNavHighlightFlags flags) { - return ImGui::RenderNavHighlight(bb, id, flags); -} -CIMGUI_API const char* igFindRenderedTextEnd(const char* text, - const char* text_end) { - return ImGui::FindRenderedTextEnd(text, text_end); -} -CIMGUI_API void igRenderMouseCursor(ImVec2 pos, - float scale, - ImGuiMouseCursor mouse_cursor, - ImU32 col_fill, - ImU32 col_border, - ImU32 col_shadow) { - return ImGui::RenderMouseCursor(pos, scale, mouse_cursor, col_fill, - col_border, col_shadow); -} -CIMGUI_API void igRenderArrow(ImDrawList* draw_list, - ImVec2 pos, - ImU32 col, - ImGuiDir dir, - float scale) { - return ImGui::RenderArrow(draw_list, pos, col, dir, scale); -} -CIMGUI_API void igRenderBullet(ImDrawList* draw_list, ImVec2 pos, ImU32 col) { - return ImGui::RenderBullet(draw_list, pos, col); -} -CIMGUI_API void igRenderCheckMark(ImDrawList* draw_list, - ImVec2 pos, - ImU32 col, - float sz) { - return ImGui::RenderCheckMark(draw_list, pos, col, sz); -} -CIMGUI_API void igRenderArrowPointingAt(ImDrawList* draw_list, - ImVec2 pos, - ImVec2 half_sz, - ImGuiDir direction, - ImU32 col) { - return ImGui::RenderArrowPointingAt(draw_list, pos, half_sz, direction, col); -} -CIMGUI_API void igRenderArrowDockMenu(ImDrawList* draw_list, - ImVec2 p_min, - float sz, - ImU32 col) { - return ImGui::RenderArrowDockMenu(draw_list, p_min, sz, col); -} -CIMGUI_API void igRenderRectFilledRangeH(ImDrawList* draw_list, - const ImRect rect, - ImU32 col, - float x_start_norm, - float x_end_norm, - float rounding) { - return ImGui::RenderRectFilledRangeH(draw_list, rect, col, x_start_norm, - x_end_norm, rounding); -} -CIMGUI_API void igRenderRectFilledWithHole(ImDrawList* draw_list, - const ImRect outer, - const ImRect inner, - ImU32 col, - float rounding) { - return ImGui::RenderRectFilledWithHole(draw_list, outer, inner, col, - rounding); -} -CIMGUI_API ImDrawFlags igCalcRoundingFlagsForRectInRect(const ImRect r_in, - const ImRect r_outer, - float threshold) { - return ImGui::CalcRoundingFlagsForRectInRect(r_in, r_outer, threshold); -} -CIMGUI_API void igTextEx(const char* text, - const char* text_end, - ImGuiTextFlags flags) { - return ImGui::TextEx(text, text_end, flags); -} -CIMGUI_API bool igButtonEx(const char* label, - const ImVec2 size_arg, - ImGuiButtonFlags flags) { - return ImGui::ButtonEx(label, size_arg, flags); -} -CIMGUI_API bool igArrowButtonEx(const char* str_id, - ImGuiDir dir, - ImVec2 size_arg, - ImGuiButtonFlags flags) { - return ImGui::ArrowButtonEx(str_id, dir, size_arg, flags); -} -CIMGUI_API bool igImageButtonEx(ImGuiID id, - ImTextureID texture_id, - const ImVec2 image_size, - const ImVec2 uv0, - const ImVec2 uv1, - const ImVec4 bg_col, - const ImVec4 tint_col, - ImGuiButtonFlags flags) { - return ImGui::ImageButtonEx(id, texture_id, image_size, uv0, uv1, bg_col, - tint_col, flags); -} -CIMGUI_API void igSeparatorEx(ImGuiSeparatorFlags flags, float thickness) { - return ImGui::SeparatorEx(flags, thickness); -} -CIMGUI_API void igSeparatorTextEx(ImGuiID id, - const char* label, - const char* label_end, - float extra_width) { - return ImGui::SeparatorTextEx(id, label, label_end, extra_width); -} -CIMGUI_API bool igCheckboxFlags_S64Ptr(const char* label, - ImS64* flags, - ImS64 flags_value) { - return ImGui::CheckboxFlags(label, flags, flags_value); -} -CIMGUI_API bool igCheckboxFlags_U64Ptr(const char* label, - ImU64* flags, - ImU64 flags_value) { - return ImGui::CheckboxFlags(label, flags, flags_value); -} -CIMGUI_API bool igCloseButton(ImGuiID id, const ImVec2 pos) { - return ImGui::CloseButton(id, pos); -} -CIMGUI_API bool igCollapseButton(ImGuiID id, - const ImVec2 pos, - ImGuiDockNode* dock_node) { - return ImGui::CollapseButton(id, pos, dock_node); -} -CIMGUI_API void igScrollbar(ImGuiAxis axis) { - return ImGui::Scrollbar(axis); -} -CIMGUI_API bool igScrollbarEx(const ImRect bb, - ImGuiID id, - ImGuiAxis axis, - ImS64* p_scroll_v, - ImS64 avail_v, - ImS64 contents_v, - ImDrawFlags flags) { - return ImGui::ScrollbarEx(bb, id, axis, p_scroll_v, avail_v, contents_v, - flags); -} -CIMGUI_API void igGetWindowScrollbarRect(ImRect* pOut, - ImGuiWindow* window, - ImGuiAxis axis) { - *pOut = ImGui::GetWindowScrollbarRect(window, axis); -} -CIMGUI_API ImGuiID igGetWindowScrollbarID(ImGuiWindow* window, ImGuiAxis axis) { - return ImGui::GetWindowScrollbarID(window, axis); -} -CIMGUI_API ImGuiID igGetWindowResizeCornerID(ImGuiWindow* window, int n) { - return ImGui::GetWindowResizeCornerID(window, n); -} -CIMGUI_API ImGuiID igGetWindowResizeBorderID(ImGuiWindow* window, - ImGuiDir dir) { - return ImGui::GetWindowResizeBorderID(window, dir); -} -CIMGUI_API bool igButtonBehavior(const ImRect bb, - ImGuiID id, - bool* out_hovered, - bool* out_held, - ImGuiButtonFlags flags) { - return ImGui::ButtonBehavior(bb, id, out_hovered, out_held, flags); -} -CIMGUI_API bool igDragBehavior(ImGuiID id, - ImGuiDataType data_type, - void* p_v, - float v_speed, - const void* p_min, - const void* p_max, - const char* format, - ImGuiSliderFlags flags) { - return ImGui::DragBehavior(id, data_type, p_v, v_speed, p_min, p_max, format, - flags); -} -CIMGUI_API bool igSliderBehavior(const ImRect bb, - ImGuiID id, - ImGuiDataType data_type, - void* p_v, - const void* p_min, - const void* p_max, - const char* format, - ImGuiSliderFlags flags, - ImRect* out_grab_bb) { - return ImGui::SliderBehavior(bb, id, data_type, p_v, p_min, p_max, format, - flags, out_grab_bb); -} -CIMGUI_API bool igSplitterBehavior(const ImRect bb, - ImGuiID id, - ImGuiAxis axis, - float* size1, - float* size2, - float min_size1, - float min_size2, - float hover_extend, - float hover_visibility_delay, - ImU32 bg_col) { - return ImGui::SplitterBehavior(bb, id, axis, size1, size2, min_size1, - min_size2, hover_extend, - hover_visibility_delay, bg_col); -} -CIMGUI_API bool igTreeNodeBehavior(ImGuiID id, - ImGuiTreeNodeFlags flags, - const char* label, - const char* label_end) { - return ImGui::TreeNodeBehavior(id, flags, label, label_end); -} -CIMGUI_API void igTreePushOverrideID(ImGuiID id) { - return ImGui::TreePushOverrideID(id); -} -CIMGUI_API void igTreeNodeSetOpen(ImGuiID id, bool open) { - return ImGui::TreeNodeSetOpen(id, open); -} -CIMGUI_API bool igTreeNodeUpdateNextOpen(ImGuiID id, ImGuiTreeNodeFlags flags) { - return ImGui::TreeNodeUpdateNextOpen(id, flags); -} -CIMGUI_API void igSetNextItemSelectionUserData( - ImGuiSelectionUserData selection_user_data) { - return ImGui::SetNextItemSelectionUserData(selection_user_data); -} -CIMGUI_API const ImGuiDataTypeInfo* igDataTypeGetInfo(ImGuiDataType data_type) { - return ImGui::DataTypeGetInfo(data_type); -} -CIMGUI_API int igDataTypeFormatString(char* buf, - int buf_size, - ImGuiDataType data_type, - const void* p_data, - const char* format) { - return ImGui::DataTypeFormatString(buf, buf_size, data_type, p_data, format); -} -CIMGUI_API void igDataTypeApplyOp(ImGuiDataType data_type, - int op, - void* output, - const void* arg_1, - const void* arg_2) { - return ImGui::DataTypeApplyOp(data_type, op, output, arg_1, arg_2); -} -CIMGUI_API bool igDataTypeApplyFromText(const char* buf, - ImGuiDataType data_type, - void* p_data, - const char* format) { - return ImGui::DataTypeApplyFromText(buf, data_type, p_data, format); -} -CIMGUI_API int igDataTypeCompare(ImGuiDataType data_type, - const void* arg_1, - const void* arg_2) { - return ImGui::DataTypeCompare(data_type, arg_1, arg_2); -} -CIMGUI_API bool igDataTypeClamp(ImGuiDataType data_type, - void* p_data, - const void* p_min, - const void* p_max) { - return ImGui::DataTypeClamp(data_type, p_data, p_min, p_max); -} -CIMGUI_API bool igInputTextEx(const char* label, - const char* hint, - char* buf, - int buf_size, - const ImVec2 size_arg, - ImGuiInputTextFlags flags, - ImGuiInputTextCallback callback, - void* user_data) { - return ImGui::InputTextEx(label, hint, buf, buf_size, size_arg, flags, - callback, user_data); -} -CIMGUI_API void igInputTextDeactivateHook(ImGuiID id) { - return ImGui::InputTextDeactivateHook(id); -} -CIMGUI_API bool igTempInputText(const ImRect bb, - ImGuiID id, - const char* label, - char* buf, - int buf_size, - ImGuiInputTextFlags flags) { - return ImGui::TempInputText(bb, id, label, buf, buf_size, flags); -} -CIMGUI_API bool igTempInputScalar(const ImRect bb, - ImGuiID id, - const char* label, - ImGuiDataType data_type, - void* p_data, - const char* format, - const void* p_clamp_min, - const void* p_clamp_max) { - return ImGui::TempInputScalar(bb, id, label, data_type, p_data, format, - p_clamp_min, p_clamp_max); -} -CIMGUI_API bool igTempInputIsActive(ImGuiID id) { - return ImGui::TempInputIsActive(id); -} -CIMGUI_API ImGuiInputTextState* igGetInputTextState(ImGuiID id) { - return ImGui::GetInputTextState(id); -} -CIMGUI_API void igColorTooltip(const char* text, - const float* col, - ImGuiColorEditFlags flags) { - return ImGui::ColorTooltip(text, col, flags); -} -CIMGUI_API void igColorEditOptionsPopup(const float* col, - ImGuiColorEditFlags flags) { - return ImGui::ColorEditOptionsPopup(col, flags); -} -CIMGUI_API void igColorPickerOptionsPopup(const float* ref_col, - ImGuiColorEditFlags flags) { - return ImGui::ColorPickerOptionsPopup(ref_col, flags); -} -CIMGUI_API int igPlotEx(ImGuiPlotType plot_type, - const char* label, - float (*values_getter)(void* data, int idx), - void* data, - int values_count, - int values_offset, - const char* overlay_text, - float scale_min, - float scale_max, - const ImVec2 size_arg) { - return ImGui::PlotEx(plot_type, label, values_getter, data, values_count, - values_offset, overlay_text, scale_min, scale_max, - size_arg); -} -CIMGUI_API void igShadeVertsLinearColorGradientKeepAlpha(ImDrawList* draw_list, - int vert_start_idx, - int vert_end_idx, - ImVec2 gradient_p0, - ImVec2 gradient_p1, - ImU32 col0, - ImU32 col1) { - return ImGui::ShadeVertsLinearColorGradientKeepAlpha( - draw_list, vert_start_idx, vert_end_idx, gradient_p0, gradient_p1, col0, - col1); -} -CIMGUI_API void igShadeVertsLinearUV(ImDrawList* draw_list, - int vert_start_idx, - int vert_end_idx, - const ImVec2 a, - const ImVec2 b, - const ImVec2 uv_a, - const ImVec2 uv_b, - bool clamp) { - return ImGui::ShadeVertsLinearUV(draw_list, vert_start_idx, vert_end_idx, a, - b, uv_a, uv_b, clamp); -} -CIMGUI_API void igShadeVertsTransformPos(ImDrawList* draw_list, - int vert_start_idx, - int vert_end_idx, - const ImVec2 pivot_in, - float cos_a, - float sin_a, - const ImVec2 pivot_out) { - return ImGui::ShadeVertsTransformPos(draw_list, vert_start_idx, vert_end_idx, - pivot_in, cos_a, sin_a, pivot_out); -} -CIMGUI_API void igGcCompactTransientMiscBuffers() { - return ImGui::GcCompactTransientMiscBuffers(); -} -CIMGUI_API void igGcCompactTransientWindowBuffers(ImGuiWindow* window) { - return ImGui::GcCompactTransientWindowBuffers(window); -} -CIMGUI_API void igGcAwakeTransientWindowBuffers(ImGuiWindow* window) { - return ImGui::GcAwakeTransientWindowBuffers(window); -} -CIMGUI_API void igDebugLog(const char* fmt, ...) { - va_list args; - va_start(args, fmt); - ImGui::DebugLogV(fmt, args); - va_end(args); -} -CIMGUI_API void igDebugLogV(const char* fmt, va_list args) { - return ImGui::DebugLogV(fmt, args); -} -CIMGUI_API void igDebugAllocHook(ImGuiDebugAllocInfo* info, - int frame_count, - void* ptr, - size_t size) { - return ImGui::DebugAllocHook(info, frame_count, ptr, size); -} -CIMGUI_API void igErrorCheckEndFrameRecover(ImGuiErrorLogCallback log_callback, - void* user_data) { - return ImGui::ErrorCheckEndFrameRecover(log_callback, user_data); -} -CIMGUI_API void igErrorCheckEndWindowRecover(ImGuiErrorLogCallback log_callback, - void* user_data) { - return ImGui::ErrorCheckEndWindowRecover(log_callback, user_data); -} -CIMGUI_API void igErrorCheckUsingSetCursorPosToExtendParentBoundaries() { - return ImGui::ErrorCheckUsingSetCursorPosToExtendParentBoundaries(); -} -CIMGUI_API void igDebugDrawCursorPos(ImU32 col) { - return ImGui::DebugDrawCursorPos(col); -} -CIMGUI_API void igDebugDrawLineExtents(ImU32 col) { - return ImGui::DebugDrawLineExtents(col); -} -CIMGUI_API void igDebugDrawItemRect(ImU32 col) { - return ImGui::DebugDrawItemRect(col); -} -CIMGUI_API void igDebugLocateItem(ImGuiID target_id) { - return ImGui::DebugLocateItem(target_id); -} -CIMGUI_API void igDebugLocateItemOnHover(ImGuiID target_id) { - return ImGui::DebugLocateItemOnHover(target_id); -} -CIMGUI_API void igDebugLocateItemResolveWithLastItem() { - return ImGui::DebugLocateItemResolveWithLastItem(); -} -CIMGUI_API void igDebugBreakClearData() { - return ImGui::DebugBreakClearData(); -} -CIMGUI_API bool igDebugBreakButton(const char* label, - const char* description_of_location) { - return ImGui::DebugBreakButton(label, description_of_location); -} -CIMGUI_API void igDebugBreakButtonTooltip(bool keyboard_only, - const char* description_of_location) { - return ImGui::DebugBreakButtonTooltip(keyboard_only, description_of_location); -} -CIMGUI_API void igShowFontAtlas(ImFontAtlas* atlas) { - return ImGui::ShowFontAtlas(atlas); -} -CIMGUI_API void igDebugHookIdInfo(ImGuiID id, - ImGuiDataType data_type, - const void* data_id, - const void* data_id_end) { - return ImGui::DebugHookIdInfo(id, data_type, data_id, data_id_end); -} -CIMGUI_API void igDebugNodeColumns(ImGuiOldColumns* columns) { - return ImGui::DebugNodeColumns(columns); -} -CIMGUI_API void igDebugNodeDockNode(ImGuiDockNode* node, const char* label) { - return ImGui::DebugNodeDockNode(node, label); -} -CIMGUI_API void igDebugNodeDrawList(ImGuiWindow* window, - ImGuiViewportP* viewport, - const ImDrawList* draw_list, - const char* label) { - return ImGui::DebugNodeDrawList(window, viewport, draw_list, label); -} -CIMGUI_API void igDebugNodeDrawCmdShowMeshAndBoundingBox( - ImDrawList* out_draw_list, - const ImDrawList* draw_list, - const ImDrawCmd* draw_cmd, - bool show_mesh, - bool show_aabb) { - return ImGui::DebugNodeDrawCmdShowMeshAndBoundingBox( - out_draw_list, draw_list, draw_cmd, show_mesh, show_aabb); -} -CIMGUI_API void igDebugNodeFont(ImFont* font) { - return ImGui::DebugNodeFont(font); -} -CIMGUI_API void igDebugNodeFontGlyph(ImFont* font, const ImFontGlyph* glyph) { - return ImGui::DebugNodeFontGlyph(font, glyph); -} -CIMGUI_API void igDebugNodeStorage(ImGuiStorage* storage, const char* label) { - return ImGui::DebugNodeStorage(storage, label); -} -CIMGUI_API void igDebugNodeTabBar(ImGuiTabBar* tab_bar, const char* label) { - return ImGui::DebugNodeTabBar(tab_bar, label); -} -CIMGUI_API void igDebugNodeTable(ImGuiTable* table) { - return ImGui::DebugNodeTable(table); -} -CIMGUI_API void igDebugNodeTableSettings(ImGuiTableSettings* settings) { - return ImGui::DebugNodeTableSettings(settings); -} -CIMGUI_API void igDebugNodeInputTextState(ImGuiInputTextState* state) { - return ImGui::DebugNodeInputTextState(state); -} -CIMGUI_API void igDebugNodeTypingSelectState(ImGuiTypingSelectState* state) { - return ImGui::DebugNodeTypingSelectState(state); -} -CIMGUI_API void igDebugNodeWindow(ImGuiWindow* window, const char* label) { - return ImGui::DebugNodeWindow(window, label); -} -CIMGUI_API void igDebugNodeWindowSettings(ImGuiWindowSettings* settings) { - return ImGui::DebugNodeWindowSettings(settings); -} -CIMGUI_API void igDebugNodeWindowsList(ImVector_ImGuiWindowPtr* windows, - const char* label) { - return ImGui::DebugNodeWindowsList(windows, label); -} -CIMGUI_API void igDebugNodeWindowsListByBeginStackParent( - ImGuiWindow** windows, - int windows_size, - ImGuiWindow* parent_in_begin_stack) { - return ImGui::DebugNodeWindowsListByBeginStackParent(windows, windows_size, - parent_in_begin_stack); -} -CIMGUI_API void igDebugNodeViewport(ImGuiViewportP* viewport) { - return ImGui::DebugNodeViewport(viewport); -} -CIMGUI_API void igDebugRenderKeyboardPreview(ImDrawList* draw_list) { - return ImGui::DebugRenderKeyboardPreview(draw_list); -} -CIMGUI_API void igDebugRenderViewportThumbnail(ImDrawList* draw_list, - ImGuiViewportP* viewport, - const ImRect bb) { - return ImGui::DebugRenderViewportThumbnail(draw_list, viewport, bb); -} - -CIMGUI_API void igImFontAtlasUpdateConfigDataPointers(ImFontAtlas* atlas) { - return ImFontAtlasUpdateConfigDataPointers(atlas); -} -CIMGUI_API void igImFontAtlasBuildInit(ImFontAtlas* atlas) { - return ImFontAtlasBuildInit(atlas); -} -CIMGUI_API void igImFontAtlasBuildSetupFont(ImFontAtlas* atlas, - ImFont* font, - ImFontConfig* font_config, - float ascent, - float descent) { - return ImFontAtlasBuildSetupFont(atlas, font, font_config, ascent, descent); -} -CIMGUI_API void igImFontAtlasBuildPackCustomRects(ImFontAtlas* atlas, - void* stbrp_context_opaque) { - return ImFontAtlasBuildPackCustomRects(atlas, stbrp_context_opaque); -} -CIMGUI_API void igImFontAtlasBuildFinish(ImFontAtlas* atlas) { - return ImFontAtlasBuildFinish(atlas); -} -CIMGUI_API void igImFontAtlasBuildRender8bppRectFromString( - ImFontAtlas* atlas, - int x, - int y, - int w, - int h, - const char* in_str, - char in_marker_char, - unsigned char in_marker_pixel_value) { - return ImFontAtlasBuildRender8bppRectFromString( - atlas, x, y, w, h, in_str, in_marker_char, in_marker_pixel_value); -} -CIMGUI_API void igImFontAtlasBuildRender32bppRectFromString( - ImFontAtlas* atlas, - int x, - int y, - int w, - int h, - const char* in_str, - char in_marker_char, - unsigned int in_marker_pixel_value) { - return ImFontAtlasBuildRender32bppRectFromString( - atlas, x, y, w, h, in_str, in_marker_char, in_marker_pixel_value); -} -CIMGUI_API void igImFontAtlasBuildMultiplyCalcLookupTable( - unsigned char out_table[256], - float in_multiply_factor) { - return ImFontAtlasBuildMultiplyCalcLookupTable(out_table, in_multiply_factor); -} -CIMGUI_API void igImFontAtlasBuildMultiplyRectAlpha8( - const unsigned char table[256], - unsigned char* pixels, - int x, - int y, - int w, - int h, - int stride) { - return ImFontAtlasBuildMultiplyRectAlpha8(table, pixels, x, y, w, h, stride); -} - -/////////////////////////////manual written functions -CIMGUI_API void igLogText(CONST char* fmt, ...) { - char buffer[256]; - va_list args; - va_start(args, fmt); - vsnprintf(buffer, 256, fmt, args); - va_end(args); - - ImGui::LogText("%s", buffer); -} -CIMGUI_API void ImGuiTextBuffer_appendf(struct ImGuiTextBuffer* buffer, - const char* fmt, - ...) { - va_list args; - va_start(args, fmt); - buffer->appendfv(fmt, args); - va_end(args); -} - -CIMGUI_API float igGET_FLT_MAX() { - return FLT_MAX; -} - -CIMGUI_API float igGET_FLT_MIN() { - return FLT_MIN; -} - -CIMGUI_API ImVector_ImWchar* ImVector_ImWchar_create() { - return IM_NEW(ImVector)(); -} - -CIMGUI_API void ImVector_ImWchar_destroy(ImVector_ImWchar* self) { - IM_DELETE(self); -} - -CIMGUI_API void ImVector_ImWchar_Init(ImVector_ImWchar* p) { - IM_PLACEMENT_NEW(p) ImVector(); -} -CIMGUI_API void ImVector_ImWchar_UnInit(ImVector_ImWchar* p) { - p->~ImVector(); -} - -#ifdef IMGUI_HAS_DOCK - -// NOTE: Some function pointers in the ImGuiPlatformIO structure are not -// C-compatible because of their use of a complex return type. To work around -// this, we store a custom CimguiStorage object inside -// ImGuiIO::BackendLanguageUserData, which contains C-compatible function -// pointer variants for these functions. When a user function pointer is -// provided, we hook up the underlying ImGuiPlatformIO function pointer to a -// thunk which accesses the user function pointer through CimguiStorage. - -struct CimguiStorage { - void (*Platform_GetWindowPos)(ImGuiViewport* vp, ImVec2* out_pos); - void (*Platform_GetWindowSize)(ImGuiViewport* vp, ImVec2* out_pos); -}; - -// Gets a reference to the CimguiStorage object stored in the current ImGui -// context's BackendLanguageUserData. -CimguiStorage& GetCimguiStorage() { - ImGuiIO& io = ImGui::GetIO(); - if (io.BackendLanguageUserData == NULL) { - io.BackendLanguageUserData = new CimguiStorage(); - } - - return *(CimguiStorage*)io.BackendLanguageUserData; -} - -// Thunk satisfying the signature of ImGuiPlatformIO::Platform_GetWindowPos. -ImVec2 Platform_GetWindowPos_hook(ImGuiViewport* vp) { - ImVec2 pos; - GetCimguiStorage().Platform_GetWindowPos(vp, &pos); - return pos; -}; - -// Fully C-compatible function pointer setter for -// ImGuiPlatformIO::Platform_GetWindowPos. -CIMGUI_API void ImGuiPlatformIO_Set_Platform_GetWindowPos( - ImGuiPlatformIO* platform_io, - void (*user_callback)(ImGuiViewport* vp, ImVec2* out_pos)) { - CimguiStorage& storage = GetCimguiStorage(); - storage.Platform_GetWindowPos = user_callback; - platform_io->Platform_GetWindowPos = &Platform_GetWindowPos_hook; -} - -// Thunk satisfying the signature of ImGuiPlatformIO::Platform_GetWindowSize. -ImVec2 Platform_GetWindowSize_hook(ImGuiViewport* vp) { - ImVec2 size; - GetCimguiStorage().Platform_GetWindowSize(vp, &size); - return size; -}; - -// Fully C-compatible function pointer setter for -// ImGuiPlatformIO::Platform_GetWindowSize. -CIMGUI_API void ImGuiPlatformIO_Set_Platform_GetWindowSize( - ImGuiPlatformIO* platform_io, - void (*user_callback)(ImGuiViewport* vp, ImVec2* out_size)) { - CimguiStorage& storage = GetCimguiStorage(); - storage.Platform_GetWindowSize = user_callback; - platform_io->Platform_GetWindowSize = &Platform_GetWindowSize_hook; -} - -#endif diff --git a/pkg/cimgui/vendor/cimgui.h b/pkg/cimgui/vendor/cimgui.h deleted file mode 100644 index f00b4d9b7..000000000 --- a/pkg/cimgui/vendor/cimgui.h +++ /dev/null @@ -1,6554 +0,0 @@ -// This file is automatically generated by generator.lua from -// https://github.com/cimgui/cimgui based on imgui.h file version "1.90.6" 19060 -// from Dear ImGui https://github.com/ocornut/imgui with imgui_internal.h api -// docking branch -#ifndef CIMGUI_INCLUDED -#define CIMGUI_INCLUDED -#include -#include -#if defined _WIN32 || defined __CYGWIN__ -#ifdef CIMGUI_NO_EXPORT -#define API -#else -#define API __declspec(dllexport) -#endif -#else -#ifdef __GNUC__ -#define API __attribute__((__visibility__("default"))) -#else -#define API -#endif -#endif - -#if defined __cplusplus -#define EXTERN extern "C" -#else -#include -#include -#define EXTERN extern -#endif - -#define CIMGUI_API EXTERN API -#define CONST const - -#ifdef _MSC_VER -typedef unsigned __int64 ImU64; -#else -// typedef unsigned long long ImU64; -#endif - -#ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS - -typedef struct ImDrawChannel ImDrawChannel; -typedef struct ImDrawCmd ImDrawCmd; -typedef struct ImDrawData ImDrawData; -typedef struct ImDrawList ImDrawList; -typedef struct ImDrawListSharedData ImDrawListSharedData; -typedef struct ImDrawListSplitter ImDrawListSplitter; -typedef struct ImDrawVert ImDrawVert; -typedef struct ImFont ImFont; -typedef struct ImFontAtlas ImFontAtlas; -typedef struct ImFontBuilderIO ImFontBuilderIO; -typedef struct ImFontConfig ImFontConfig; -typedef struct ImFontGlyph ImFontGlyph; -typedef struct ImFontGlyphRangesBuilder ImFontGlyphRangesBuilder; -typedef struct ImColor ImColor; -typedef struct ImGuiContext ImGuiContext; -typedef struct ImGuiIO ImGuiIO; -typedef struct ImGuiInputTextCallbackData ImGuiInputTextCallbackData; -typedef struct ImGuiKeyData ImGuiKeyData; -typedef struct ImGuiListClipper ImGuiListClipper; -typedef struct ImGuiOnceUponAFrame ImGuiOnceUponAFrame; -typedef struct ImGuiPayload ImGuiPayload; -typedef struct ImGuiPlatformIO ImGuiPlatformIO; -typedef struct ImGuiPlatformMonitor ImGuiPlatformMonitor; -typedef struct ImGuiPlatformImeData ImGuiPlatformImeData; -typedef struct ImGuiSizeCallbackData ImGuiSizeCallbackData; -typedef struct ImGuiStorage ImGuiStorage; -typedef struct ImGuiStyle ImGuiStyle; -typedef struct ImGuiTableSortSpecs ImGuiTableSortSpecs; -typedef struct ImGuiTableColumnSortSpecs ImGuiTableColumnSortSpecs; -typedef struct ImGuiTextBuffer ImGuiTextBuffer; -typedef struct ImGuiTextFilter ImGuiTextFilter; -typedef struct ImGuiViewport ImGuiViewport; -typedef struct ImGuiWindowClass ImGuiWindowClass; -typedef struct ImBitVector ImBitVector; -typedef struct ImRect ImRect; -typedef struct ImDrawDataBuilder ImDrawDataBuilder; -typedef struct ImGuiColorMod ImGuiColorMod; -typedef struct ImGuiContextHook ImGuiContextHook; -typedef struct ImGuiDataVarInfo ImGuiDataVarInfo; -typedef struct ImGuiDataTypeInfo ImGuiDataTypeInfo; -typedef struct ImGuiDockContext ImGuiDockContext; -typedef struct ImGuiDockRequest ImGuiDockRequest; -typedef struct ImGuiDockNode ImGuiDockNode; -typedef struct ImGuiDockNodeSettings ImGuiDockNodeSettings; -typedef struct ImGuiGroupData ImGuiGroupData; -typedef struct ImGuiInputTextState ImGuiInputTextState; -typedef struct ImGuiInputTextDeactivateData ImGuiInputTextDeactivateData; -typedef struct ImGuiLastItemData ImGuiLastItemData; -typedef struct ImGuiLocEntry ImGuiLocEntry; -typedef struct ImGuiMenuColumns ImGuiMenuColumns; -typedef struct ImGuiNavItemData ImGuiNavItemData; -typedef struct ImGuiNavTreeNodeData ImGuiNavTreeNodeData; -typedef struct ImGuiMetricsConfig ImGuiMetricsConfig; -typedef struct ImGuiNextWindowData ImGuiNextWindowData; -typedef struct ImGuiNextItemData ImGuiNextItemData; -typedef struct ImGuiOldColumnData ImGuiOldColumnData; -typedef struct ImGuiOldColumns ImGuiOldColumns; -typedef struct ImGuiPopupData ImGuiPopupData; -typedef struct ImGuiSettingsHandler ImGuiSettingsHandler; -typedef struct ImGuiStackSizes ImGuiStackSizes; -typedef struct ImGuiStyleMod ImGuiStyleMod; -typedef struct ImGuiTabBar ImGuiTabBar; -typedef struct ImGuiTabItem ImGuiTabItem; -typedef struct ImGuiTable ImGuiTable; -typedef struct ImGuiTableHeaderData ImGuiTableHeaderData; -typedef struct ImGuiTableColumn ImGuiTableColumn; -typedef struct ImGuiTableInstanceData ImGuiTableInstanceData; -typedef struct ImGuiTableTempData ImGuiTableTempData; -typedef struct ImGuiTableSettings ImGuiTableSettings; -typedef struct ImGuiTableColumnsSettings ImGuiTableColumnsSettings; -typedef struct ImGuiTypingSelectState ImGuiTypingSelectState; -typedef struct ImGuiTypingSelectRequest ImGuiTypingSelectRequest; -typedef struct ImGuiWindow ImGuiWindow; -typedef struct ImGuiWindowDockStyle ImGuiWindowDockStyle; -typedef struct ImGuiWindowTempData ImGuiWindowTempData; -typedef struct ImGuiWindowSettings ImGuiWindowSettings; -typedef struct ImVector_const_charPtr { - int Size; - int Capacity; - const char** Data; -} ImVector_const_charPtr; - -struct ImDrawChannel; -struct ImDrawCmd; -struct ImDrawData; -struct ImDrawList; -struct ImDrawListSharedData; -struct ImDrawListSplitter; -struct ImDrawVert; -struct ImFont; -struct ImFontAtlas; -struct ImFontBuilderIO; -struct ImFontConfig; -struct ImFontGlyph; -struct ImFontGlyphRangesBuilder; -struct ImColor; -struct ImGuiContext; -struct ImGuiIO; -struct ImGuiInputTextCallbackData; -struct ImGuiKeyData; -struct ImGuiListClipper; -struct ImGuiOnceUponAFrame; -struct ImGuiPayload; -struct ImGuiPlatformIO; -struct ImGuiPlatformMonitor; -struct ImGuiPlatformImeData; -struct ImGuiSizeCallbackData; -struct ImGuiStorage; -struct ImGuiStyle; -struct ImGuiTableSortSpecs; -struct ImGuiTableColumnSortSpecs; -struct ImGuiTextBuffer; -struct ImGuiTextFilter; -struct ImGuiViewport; -struct ImGuiWindowClass; -typedef int ImGuiCol; -typedef int ImGuiCond; -typedef int ImGuiDataType; -typedef int ImGuiDir; -typedef int ImGuiMouseButton; -typedef int ImGuiMouseCursor; -typedef int ImGuiSortDirection; -typedef int ImGuiStyleVar; -typedef int ImGuiTableBgTarget; -typedef int ImDrawFlags; -typedef int ImDrawListFlags; -typedef int ImFontAtlasFlags; -typedef int ImGuiBackendFlags; -typedef int ImGuiButtonFlags; -typedef int ImGuiChildFlags; -typedef int ImGuiColorEditFlags; -typedef int ImGuiConfigFlags; -typedef int ImGuiComboFlags; -typedef int ImGuiDockNodeFlags; -typedef int ImGuiDragDropFlags; -typedef int ImGuiFocusedFlags; -typedef int ImGuiHoveredFlags; -typedef int ImGuiInputTextFlags; -typedef int ImGuiKeyChord; -typedef int ImGuiPopupFlags; -typedef int ImGuiSelectableFlags; -typedef int ImGuiSliderFlags; -typedef int ImGuiTabBarFlags; -typedef int ImGuiTabItemFlags; -typedef int ImGuiTableFlags; -typedef int ImGuiTableColumnFlags; -typedef int ImGuiTableRowFlags; -typedef int ImGuiTreeNodeFlags; -typedef int ImGuiViewportFlags; -typedef int ImGuiWindowFlags; -typedef void* ImTextureID; -typedef unsigned short ImDrawIdx; -typedef unsigned int ImGuiID; -typedef signed char ImS8; -typedef unsigned char ImU8; -typedef signed short ImS16; -typedef unsigned short ImU16; -typedef signed int ImS32; -typedef unsigned int ImU32; -typedef signed long long ImS64; -typedef unsigned long long ImU64; -typedef unsigned int ImWchar32; -typedef unsigned short ImWchar16; -typedef ImWchar16 ImWchar; -typedef int (*ImGuiInputTextCallback)(ImGuiInputTextCallbackData* data); -typedef void (*ImGuiSizeCallback)(ImGuiSizeCallbackData* data); -typedef void* (*ImGuiMemAllocFunc)(size_t sz, void* user_data); -typedef void (*ImGuiMemFreeFunc)(void* ptr, void* user_data); -typedef struct ImVec2 ImVec2; -struct ImVec2 { - float x, y; -}; -typedef struct ImVec4 ImVec4; -struct ImVec4 { - float x, y, z, w; -}; -typedef enum { - ImGuiWindowFlags_None = 0, - ImGuiWindowFlags_NoTitleBar = 1 << 0, - ImGuiWindowFlags_NoResize = 1 << 1, - ImGuiWindowFlags_NoMove = 1 << 2, - ImGuiWindowFlags_NoScrollbar = 1 << 3, - ImGuiWindowFlags_NoScrollWithMouse = 1 << 4, - ImGuiWindowFlags_NoCollapse = 1 << 5, - ImGuiWindowFlags_AlwaysAutoResize = 1 << 6, - ImGuiWindowFlags_NoBackground = 1 << 7, - ImGuiWindowFlags_NoSavedSettings = 1 << 8, - ImGuiWindowFlags_NoMouseInputs = 1 << 9, - ImGuiWindowFlags_MenuBar = 1 << 10, - ImGuiWindowFlags_HorizontalScrollbar = 1 << 11, - ImGuiWindowFlags_NoFocusOnAppearing = 1 << 12, - ImGuiWindowFlags_NoBringToFrontOnFocus = 1 << 13, - ImGuiWindowFlags_AlwaysVerticalScrollbar = 1 << 14, - ImGuiWindowFlags_AlwaysHorizontalScrollbar = 1 << 15, - ImGuiWindowFlags_NoNavInputs = 1 << 16, - ImGuiWindowFlags_NoNavFocus = 1 << 17, - ImGuiWindowFlags_UnsavedDocument = 1 << 18, - ImGuiWindowFlags_NoDocking = 1 << 19, - ImGuiWindowFlags_NoNav = - ImGuiWindowFlags_NoNavInputs | ImGuiWindowFlags_NoNavFocus, - ImGuiWindowFlags_NoDecoration = - ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | - ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoCollapse, - ImGuiWindowFlags_NoInputs = ImGuiWindowFlags_NoMouseInputs | - ImGuiWindowFlags_NoNavInputs | - ImGuiWindowFlags_NoNavFocus, - ImGuiWindowFlags_NavFlattened = 1 << 23, - ImGuiWindowFlags_ChildWindow = 1 << 24, - ImGuiWindowFlags_Tooltip = 1 << 25, - ImGuiWindowFlags_Popup = 1 << 26, - ImGuiWindowFlags_Modal = 1 << 27, - ImGuiWindowFlags_ChildMenu = 1 << 28, - ImGuiWindowFlags_DockNodeHost = 1 << 29, -} ImGuiWindowFlags_; -typedef enum { - ImGuiChildFlags_None = 0, - ImGuiChildFlags_Border = 1 << 0, - ImGuiChildFlags_AlwaysUseWindowPadding = 1 << 1, - ImGuiChildFlags_ResizeX = 1 << 2, - ImGuiChildFlags_ResizeY = 1 << 3, - ImGuiChildFlags_AutoResizeX = 1 << 4, - ImGuiChildFlags_AutoResizeY = 1 << 5, - ImGuiChildFlags_AlwaysAutoResize = 1 << 6, - ImGuiChildFlags_FrameStyle = 1 << 7, -} ImGuiChildFlags_; -typedef enum { - ImGuiInputTextFlags_None = 0, - ImGuiInputTextFlags_CharsDecimal = 1 << 0, - ImGuiInputTextFlags_CharsHexadecimal = 1 << 1, - ImGuiInputTextFlags_CharsUppercase = 1 << 2, - ImGuiInputTextFlags_CharsNoBlank = 1 << 3, - ImGuiInputTextFlags_AutoSelectAll = 1 << 4, - ImGuiInputTextFlags_EnterReturnsTrue = 1 << 5, - ImGuiInputTextFlags_CallbackCompletion = 1 << 6, - ImGuiInputTextFlags_CallbackHistory = 1 << 7, - ImGuiInputTextFlags_CallbackAlways = 1 << 8, - ImGuiInputTextFlags_CallbackCharFilter = 1 << 9, - ImGuiInputTextFlags_AllowTabInput = 1 << 10, - ImGuiInputTextFlags_CtrlEnterForNewLine = 1 << 11, - ImGuiInputTextFlags_NoHorizontalScroll = 1 << 12, - ImGuiInputTextFlags_AlwaysOverwrite = 1 << 13, - ImGuiInputTextFlags_ReadOnly = 1 << 14, - ImGuiInputTextFlags_Password = 1 << 15, - ImGuiInputTextFlags_NoUndoRedo = 1 << 16, - ImGuiInputTextFlags_CharsScientific = 1 << 17, - ImGuiInputTextFlags_CallbackResize = 1 << 18, - ImGuiInputTextFlags_CallbackEdit = 1 << 19, - ImGuiInputTextFlags_EscapeClearsAll = 1 << 20, -} ImGuiInputTextFlags_; -typedef enum { - ImGuiTreeNodeFlags_None = 0, - ImGuiTreeNodeFlags_Selected = 1 << 0, - ImGuiTreeNodeFlags_Framed = 1 << 1, - ImGuiTreeNodeFlags_AllowOverlap = 1 << 2, - ImGuiTreeNodeFlags_NoTreePushOnOpen = 1 << 3, - ImGuiTreeNodeFlags_NoAutoOpenOnLog = 1 << 4, - ImGuiTreeNodeFlags_DefaultOpen = 1 << 5, - ImGuiTreeNodeFlags_OpenOnDoubleClick = 1 << 6, - ImGuiTreeNodeFlags_OpenOnArrow = 1 << 7, - ImGuiTreeNodeFlags_Leaf = 1 << 8, - ImGuiTreeNodeFlags_Bullet = 1 << 9, - ImGuiTreeNodeFlags_FramePadding = 1 << 10, - ImGuiTreeNodeFlags_SpanAvailWidth = 1 << 11, - ImGuiTreeNodeFlags_SpanFullWidth = 1 << 12, - ImGuiTreeNodeFlags_SpanTextWidth = 1 << 13, - ImGuiTreeNodeFlags_SpanAllColumns = 1 << 14, - ImGuiTreeNodeFlags_NavLeftJumpsBackHere = 1 << 15, - ImGuiTreeNodeFlags_CollapsingHeader = ImGuiTreeNodeFlags_Framed | - ImGuiTreeNodeFlags_NoTreePushOnOpen | - ImGuiTreeNodeFlags_NoAutoOpenOnLog, -} ImGuiTreeNodeFlags_; -typedef enum { - ImGuiPopupFlags_None = 0, - ImGuiPopupFlags_MouseButtonLeft = 0, - ImGuiPopupFlags_MouseButtonRight = 1, - ImGuiPopupFlags_MouseButtonMiddle = 2, - ImGuiPopupFlags_MouseButtonMask_ = 0x1F, - ImGuiPopupFlags_MouseButtonDefault_ = 1, - ImGuiPopupFlags_NoReopen = 1 << 5, - ImGuiPopupFlags_NoOpenOverExistingPopup = 1 << 7, - ImGuiPopupFlags_NoOpenOverItems = 1 << 8, - ImGuiPopupFlags_AnyPopupId = 1 << 10, - ImGuiPopupFlags_AnyPopupLevel = 1 << 11, - ImGuiPopupFlags_AnyPopup = - ImGuiPopupFlags_AnyPopupId | ImGuiPopupFlags_AnyPopupLevel, -} ImGuiPopupFlags_; -typedef enum { - ImGuiSelectableFlags_None = 0, - ImGuiSelectableFlags_DontClosePopups = 1 << 0, - ImGuiSelectableFlags_SpanAllColumns = 1 << 1, - ImGuiSelectableFlags_AllowDoubleClick = 1 << 2, - ImGuiSelectableFlags_Disabled = 1 << 3, - ImGuiSelectableFlags_AllowOverlap = 1 << 4, -} ImGuiSelectableFlags_; -typedef enum { - ImGuiComboFlags_None = 0, - ImGuiComboFlags_PopupAlignLeft = 1 << 0, - ImGuiComboFlags_HeightSmall = 1 << 1, - ImGuiComboFlags_HeightRegular = 1 << 2, - ImGuiComboFlags_HeightLarge = 1 << 3, - ImGuiComboFlags_HeightLargest = 1 << 4, - ImGuiComboFlags_NoArrowButton = 1 << 5, - ImGuiComboFlags_NoPreview = 1 << 6, - ImGuiComboFlags_WidthFitPreview = 1 << 7, - ImGuiComboFlags_HeightMask_ = - ImGuiComboFlags_HeightSmall | ImGuiComboFlags_HeightRegular | - ImGuiComboFlags_HeightLarge | ImGuiComboFlags_HeightLargest, -} ImGuiComboFlags_; -typedef enum { - ImGuiTabBarFlags_None = 0, - ImGuiTabBarFlags_Reorderable = 1 << 0, - ImGuiTabBarFlags_AutoSelectNewTabs = 1 << 1, - ImGuiTabBarFlags_TabListPopupButton = 1 << 2, - ImGuiTabBarFlags_NoCloseWithMiddleMouseButton = 1 << 3, - ImGuiTabBarFlags_NoTabListScrollingButtons = 1 << 4, - ImGuiTabBarFlags_NoTooltip = 1 << 5, - ImGuiTabBarFlags_FittingPolicyResizeDown = 1 << 6, - ImGuiTabBarFlags_FittingPolicyScroll = 1 << 7, - ImGuiTabBarFlags_FittingPolicyMask_ = - ImGuiTabBarFlags_FittingPolicyResizeDown | - ImGuiTabBarFlags_FittingPolicyScroll, - ImGuiTabBarFlags_FittingPolicyDefault_ = - ImGuiTabBarFlags_FittingPolicyResizeDown, -} ImGuiTabBarFlags_; -typedef enum { - ImGuiTabItemFlags_None = 0, - ImGuiTabItemFlags_UnsavedDocument = 1 << 0, - ImGuiTabItemFlags_SetSelected = 1 << 1, - ImGuiTabItemFlags_NoCloseWithMiddleMouseButton = 1 << 2, - ImGuiTabItemFlags_NoPushId = 1 << 3, - ImGuiTabItemFlags_NoTooltip = 1 << 4, - ImGuiTabItemFlags_NoReorder = 1 << 5, - ImGuiTabItemFlags_Leading = 1 << 6, - ImGuiTabItemFlags_Trailing = 1 << 7, - ImGuiTabItemFlags_NoAssumedClosure = 1 << 8, -} ImGuiTabItemFlags_; -typedef enum { - ImGuiFocusedFlags_None = 0, - ImGuiFocusedFlags_ChildWindows = 1 << 0, - ImGuiFocusedFlags_RootWindow = 1 << 1, - ImGuiFocusedFlags_AnyWindow = 1 << 2, - ImGuiFocusedFlags_NoPopupHierarchy = 1 << 3, - ImGuiFocusedFlags_DockHierarchy = 1 << 4, - ImGuiFocusedFlags_RootAndChildWindows = - ImGuiFocusedFlags_RootWindow | ImGuiFocusedFlags_ChildWindows, -} ImGuiFocusedFlags_; -typedef enum { - ImGuiHoveredFlags_None = 0, - ImGuiHoveredFlags_ChildWindows = 1 << 0, - ImGuiHoveredFlags_RootWindow = 1 << 1, - ImGuiHoveredFlags_AnyWindow = 1 << 2, - ImGuiHoveredFlags_NoPopupHierarchy = 1 << 3, - ImGuiHoveredFlags_DockHierarchy = 1 << 4, - ImGuiHoveredFlags_AllowWhenBlockedByPopup = 1 << 5, - ImGuiHoveredFlags_AllowWhenBlockedByActiveItem = 1 << 7, - ImGuiHoveredFlags_AllowWhenOverlappedByItem = 1 << 8, - ImGuiHoveredFlags_AllowWhenOverlappedByWindow = 1 << 9, - ImGuiHoveredFlags_AllowWhenDisabled = 1 << 10, - ImGuiHoveredFlags_NoNavOverride = 1 << 11, - ImGuiHoveredFlags_AllowWhenOverlapped = - ImGuiHoveredFlags_AllowWhenOverlappedByItem | - ImGuiHoveredFlags_AllowWhenOverlappedByWindow, - ImGuiHoveredFlags_RectOnly = ImGuiHoveredFlags_AllowWhenBlockedByPopup | - ImGuiHoveredFlags_AllowWhenBlockedByActiveItem | - ImGuiHoveredFlags_AllowWhenOverlapped, - ImGuiHoveredFlags_RootAndChildWindows = - ImGuiHoveredFlags_RootWindow | ImGuiHoveredFlags_ChildWindows, - ImGuiHoveredFlags_ForTooltip = 1 << 12, - ImGuiHoveredFlags_Stationary = 1 << 13, - ImGuiHoveredFlags_DelayNone = 1 << 14, - ImGuiHoveredFlags_DelayShort = 1 << 15, - ImGuiHoveredFlags_DelayNormal = 1 << 16, - ImGuiHoveredFlags_NoSharedDelay = 1 << 17, -} ImGuiHoveredFlags_; -typedef enum { - ImGuiDockNodeFlags_None = 0, - ImGuiDockNodeFlags_KeepAliveOnly = 1 << 0, - ImGuiDockNodeFlags_NoDockingOverCentralNode = 1 << 2, - ImGuiDockNodeFlags_PassthruCentralNode = 1 << 3, - ImGuiDockNodeFlags_NoDockingSplit = 1 << 4, - ImGuiDockNodeFlags_NoResize = 1 << 5, - ImGuiDockNodeFlags_AutoHideTabBar = 1 << 6, - ImGuiDockNodeFlags_NoUndocking = 1 << 7, -} ImGuiDockNodeFlags_; -typedef enum { - ImGuiDragDropFlags_None = 0, - ImGuiDragDropFlags_SourceNoPreviewTooltip = 1 << 0, - ImGuiDragDropFlags_SourceNoDisableHover = 1 << 1, - ImGuiDragDropFlags_SourceNoHoldToOpenOthers = 1 << 2, - ImGuiDragDropFlags_SourceAllowNullID = 1 << 3, - ImGuiDragDropFlags_SourceExtern = 1 << 4, - ImGuiDragDropFlags_SourceAutoExpirePayload = 1 << 5, - ImGuiDragDropFlags_AcceptBeforeDelivery = 1 << 10, - ImGuiDragDropFlags_AcceptNoDrawDefaultRect = 1 << 11, - ImGuiDragDropFlags_AcceptNoPreviewTooltip = 1 << 12, - ImGuiDragDropFlags_AcceptPeekOnly = - ImGuiDragDropFlags_AcceptBeforeDelivery | - ImGuiDragDropFlags_AcceptNoDrawDefaultRect, -} ImGuiDragDropFlags_; -typedef enum { - ImGuiDataType_S8, - ImGuiDataType_U8, - ImGuiDataType_S16, - ImGuiDataType_U16, - ImGuiDataType_S32, - ImGuiDataType_U32, - ImGuiDataType_S64, - ImGuiDataType_U64, - ImGuiDataType_Float, - ImGuiDataType_Double, - ImGuiDataType_COUNT -} ImGuiDataType_; -typedef enum { - ImGuiDir_None = -1, - ImGuiDir_Left = 0, - ImGuiDir_Right = 1, - ImGuiDir_Up = 2, - ImGuiDir_Down = 3, - ImGuiDir_COUNT -} ImGuiDir_; -typedef enum { - ImGuiSortDirection_None = 0, - ImGuiSortDirection_Ascending = 1, - ImGuiSortDirection_Descending = 2 -} ImGuiSortDirection_; -typedef enum { - ImGuiKey_None = 0, - ImGuiKey_Tab = 512, - ImGuiKey_LeftArrow = 513, - ImGuiKey_RightArrow = 514, - ImGuiKey_UpArrow = 515, - ImGuiKey_DownArrow = 516, - ImGuiKey_PageUp = 517, - ImGuiKey_PageDown = 518, - ImGuiKey_Home = 519, - ImGuiKey_End = 520, - ImGuiKey_Insert = 521, - ImGuiKey_Delete = 522, - ImGuiKey_Backspace = 523, - ImGuiKey_Space = 524, - ImGuiKey_Enter = 525, - ImGuiKey_Escape = 526, - ImGuiKey_LeftCtrl = 527, - ImGuiKey_LeftShift = 528, - ImGuiKey_LeftAlt = 529, - ImGuiKey_LeftSuper = 530, - ImGuiKey_RightCtrl = 531, - ImGuiKey_RightShift = 532, - ImGuiKey_RightAlt = 533, - ImGuiKey_RightSuper = 534, - ImGuiKey_Menu = 535, - ImGuiKey_0 = 536, - ImGuiKey_1 = 537, - ImGuiKey_2 = 538, - ImGuiKey_3 = 539, - ImGuiKey_4 = 540, - ImGuiKey_5 = 541, - ImGuiKey_6 = 542, - ImGuiKey_7 = 543, - ImGuiKey_8 = 544, - ImGuiKey_9 = 545, - ImGuiKey_A = 546, - ImGuiKey_B = 547, - ImGuiKey_C = 548, - ImGuiKey_D = 549, - ImGuiKey_E = 550, - ImGuiKey_F = 551, - ImGuiKey_G = 552, - ImGuiKey_H = 553, - ImGuiKey_I = 554, - ImGuiKey_J = 555, - ImGuiKey_K = 556, - ImGuiKey_L = 557, - ImGuiKey_M = 558, - ImGuiKey_N = 559, - ImGuiKey_O = 560, - ImGuiKey_P = 561, - ImGuiKey_Q = 562, - ImGuiKey_R = 563, - ImGuiKey_S = 564, - ImGuiKey_T = 565, - ImGuiKey_U = 566, - ImGuiKey_V = 567, - ImGuiKey_W = 568, - ImGuiKey_X = 569, - ImGuiKey_Y = 570, - ImGuiKey_Z = 571, - ImGuiKey_F1 = 572, - ImGuiKey_F2 = 573, - ImGuiKey_F3 = 574, - ImGuiKey_F4 = 575, - ImGuiKey_F5 = 576, - ImGuiKey_F6 = 577, - ImGuiKey_F7 = 578, - ImGuiKey_F8 = 579, - ImGuiKey_F9 = 580, - ImGuiKey_F10 = 581, - ImGuiKey_F11 = 582, - ImGuiKey_F12 = 583, - ImGuiKey_F13 = 584, - ImGuiKey_F14 = 585, - ImGuiKey_F15 = 586, - ImGuiKey_F16 = 587, - ImGuiKey_F17 = 588, - ImGuiKey_F18 = 589, - ImGuiKey_F19 = 590, - ImGuiKey_F20 = 591, - ImGuiKey_F21 = 592, - ImGuiKey_F22 = 593, - ImGuiKey_F23 = 594, - ImGuiKey_F24 = 595, - ImGuiKey_Apostrophe = 596, - ImGuiKey_Comma = 597, - ImGuiKey_Minus = 598, - ImGuiKey_Period = 599, - ImGuiKey_Slash = 600, - ImGuiKey_Semicolon = 601, - ImGuiKey_Equal = 602, - ImGuiKey_LeftBracket = 603, - ImGuiKey_Backslash = 604, - ImGuiKey_RightBracket = 605, - ImGuiKey_GraveAccent = 606, - ImGuiKey_CapsLock = 607, - ImGuiKey_ScrollLock = 608, - ImGuiKey_NumLock = 609, - ImGuiKey_PrintScreen = 610, - ImGuiKey_Pause = 611, - ImGuiKey_Keypad0 = 612, - ImGuiKey_Keypad1 = 613, - ImGuiKey_Keypad2 = 614, - ImGuiKey_Keypad3 = 615, - ImGuiKey_Keypad4 = 616, - ImGuiKey_Keypad5 = 617, - ImGuiKey_Keypad6 = 618, - ImGuiKey_Keypad7 = 619, - ImGuiKey_Keypad8 = 620, - ImGuiKey_Keypad9 = 621, - ImGuiKey_KeypadDecimal = 622, - ImGuiKey_KeypadDivide = 623, - ImGuiKey_KeypadMultiply = 624, - ImGuiKey_KeypadSubtract = 625, - ImGuiKey_KeypadAdd = 626, - ImGuiKey_KeypadEnter = 627, - ImGuiKey_KeypadEqual = 628, - ImGuiKey_AppBack = 629, - ImGuiKey_AppForward = 630, - ImGuiKey_GamepadStart = 631, - ImGuiKey_GamepadBack = 632, - ImGuiKey_GamepadFaceLeft = 633, - ImGuiKey_GamepadFaceRight = 634, - ImGuiKey_GamepadFaceUp = 635, - ImGuiKey_GamepadFaceDown = 636, - ImGuiKey_GamepadDpadLeft = 637, - ImGuiKey_GamepadDpadRight = 638, - ImGuiKey_GamepadDpadUp = 639, - ImGuiKey_GamepadDpadDown = 640, - ImGuiKey_GamepadL1 = 641, - ImGuiKey_GamepadR1 = 642, - ImGuiKey_GamepadL2 = 643, - ImGuiKey_GamepadR2 = 644, - ImGuiKey_GamepadL3 = 645, - ImGuiKey_GamepadR3 = 646, - ImGuiKey_GamepadLStickLeft = 647, - ImGuiKey_GamepadLStickRight = 648, - ImGuiKey_GamepadLStickUp = 649, - ImGuiKey_GamepadLStickDown = 650, - ImGuiKey_GamepadRStickLeft = 651, - ImGuiKey_GamepadRStickRight = 652, - ImGuiKey_GamepadRStickUp = 653, - ImGuiKey_GamepadRStickDown = 654, - ImGuiKey_MouseLeft = 655, - ImGuiKey_MouseRight = 656, - ImGuiKey_MouseMiddle = 657, - ImGuiKey_MouseX1 = 658, - ImGuiKey_MouseX2 = 659, - ImGuiKey_MouseWheelX = 660, - ImGuiKey_MouseWheelY = 661, - ImGuiKey_ReservedForModCtrl = 662, - ImGuiKey_ReservedForModShift = 663, - ImGuiKey_ReservedForModAlt = 664, - ImGuiKey_ReservedForModSuper = 665, - ImGuiKey_COUNT = 666, - ImGuiMod_None = 0, - ImGuiMod_Ctrl = 1 << 12, - ImGuiMod_Shift = 1 << 13, - ImGuiMod_Alt = 1 << 14, - ImGuiMod_Super = 1 << 15, - ImGuiMod_Shortcut = 1 << 11, - ImGuiMod_Mask_ = 0xF800, - ImGuiKey_NamedKey_BEGIN = 512, - ImGuiKey_NamedKey_END = ImGuiKey_COUNT, - ImGuiKey_NamedKey_COUNT = ImGuiKey_NamedKey_END - ImGuiKey_NamedKey_BEGIN, - ImGuiKey_KeysData_SIZE = ImGuiKey_NamedKey_COUNT, - ImGuiKey_KeysData_OFFSET = ImGuiKey_NamedKey_BEGIN, -} ImGuiKey; -typedef enum { - ImGuiConfigFlags_None = 0, - ImGuiConfigFlags_NavEnableKeyboard = 1 << 0, - ImGuiConfigFlags_NavEnableGamepad = 1 << 1, - ImGuiConfigFlags_NavEnableSetMousePos = 1 << 2, - ImGuiConfigFlags_NavNoCaptureKeyboard = 1 << 3, - ImGuiConfigFlags_NoMouse = 1 << 4, - ImGuiConfigFlags_NoMouseCursorChange = 1 << 5, - ImGuiConfigFlags_DockingEnable = 1 << 6, - ImGuiConfigFlags_ViewportsEnable = 1 << 10, - ImGuiConfigFlags_DpiEnableScaleViewports = 1 << 14, - ImGuiConfigFlags_DpiEnableScaleFonts = 1 << 15, - ImGuiConfigFlags_IsSRGB = 1 << 20, - ImGuiConfigFlags_IsTouchScreen = 1 << 21, -} ImGuiConfigFlags_; -typedef enum { - ImGuiBackendFlags_None = 0, - ImGuiBackendFlags_HasGamepad = 1 << 0, - ImGuiBackendFlags_HasMouseCursors = 1 << 1, - ImGuiBackendFlags_HasSetMousePos = 1 << 2, - ImGuiBackendFlags_RendererHasVtxOffset = 1 << 3, - ImGuiBackendFlags_PlatformHasViewports = 1 << 10, - ImGuiBackendFlags_HasMouseHoveredViewport = 1 << 11, - ImGuiBackendFlags_RendererHasViewports = 1 << 12, -} ImGuiBackendFlags_; -typedef enum { - ImGuiCol_Text, - ImGuiCol_TextDisabled, - ImGuiCol_WindowBg, - ImGuiCol_ChildBg, - ImGuiCol_PopupBg, - ImGuiCol_Border, - ImGuiCol_BorderShadow, - ImGuiCol_FrameBg, - ImGuiCol_FrameBgHovered, - ImGuiCol_FrameBgActive, - ImGuiCol_TitleBg, - ImGuiCol_TitleBgActive, - ImGuiCol_TitleBgCollapsed, - ImGuiCol_MenuBarBg, - ImGuiCol_ScrollbarBg, - ImGuiCol_ScrollbarGrab, - ImGuiCol_ScrollbarGrabHovered, - ImGuiCol_ScrollbarGrabActive, - ImGuiCol_CheckMark, - ImGuiCol_SliderGrab, - ImGuiCol_SliderGrabActive, - ImGuiCol_Button, - ImGuiCol_ButtonHovered, - ImGuiCol_ButtonActive, - ImGuiCol_Header, - ImGuiCol_HeaderHovered, - ImGuiCol_HeaderActive, - ImGuiCol_Separator, - ImGuiCol_SeparatorHovered, - ImGuiCol_SeparatorActive, - ImGuiCol_ResizeGrip, - ImGuiCol_ResizeGripHovered, - ImGuiCol_ResizeGripActive, - ImGuiCol_Tab, - ImGuiCol_TabHovered, - ImGuiCol_TabActive, - ImGuiCol_TabUnfocused, - ImGuiCol_TabUnfocusedActive, - ImGuiCol_DockingPreview, - ImGuiCol_DockingEmptyBg, - ImGuiCol_PlotLines, - ImGuiCol_PlotLinesHovered, - ImGuiCol_PlotHistogram, - ImGuiCol_PlotHistogramHovered, - ImGuiCol_TableHeaderBg, - ImGuiCol_TableBorderStrong, - ImGuiCol_TableBorderLight, - ImGuiCol_TableRowBg, - ImGuiCol_TableRowBgAlt, - ImGuiCol_TextSelectedBg, - ImGuiCol_DragDropTarget, - ImGuiCol_NavHighlight, - ImGuiCol_NavWindowingHighlight, - ImGuiCol_NavWindowingDimBg, - ImGuiCol_ModalWindowDimBg, - ImGuiCol_COUNT -} ImGuiCol_; -typedef enum { - ImGuiStyleVar_Alpha, - ImGuiStyleVar_DisabledAlpha, - ImGuiStyleVar_WindowPadding, - ImGuiStyleVar_WindowRounding, - ImGuiStyleVar_WindowBorderSize, - ImGuiStyleVar_WindowMinSize, - ImGuiStyleVar_WindowTitleAlign, - ImGuiStyleVar_ChildRounding, - ImGuiStyleVar_ChildBorderSize, - ImGuiStyleVar_PopupRounding, - ImGuiStyleVar_PopupBorderSize, - ImGuiStyleVar_FramePadding, - ImGuiStyleVar_FrameRounding, - ImGuiStyleVar_FrameBorderSize, - ImGuiStyleVar_ItemSpacing, - ImGuiStyleVar_ItemInnerSpacing, - ImGuiStyleVar_IndentSpacing, - ImGuiStyleVar_CellPadding, - ImGuiStyleVar_ScrollbarSize, - ImGuiStyleVar_ScrollbarRounding, - ImGuiStyleVar_GrabMinSize, - ImGuiStyleVar_GrabRounding, - ImGuiStyleVar_TabRounding, - ImGuiStyleVar_TabBorderSize, - ImGuiStyleVar_TabBarBorderSize, - ImGuiStyleVar_TableAngledHeadersAngle, - ImGuiStyleVar_TableAngledHeadersTextAlign, - ImGuiStyleVar_ButtonTextAlign, - ImGuiStyleVar_SelectableTextAlign, - ImGuiStyleVar_SeparatorTextBorderSize, - ImGuiStyleVar_SeparatorTextAlign, - ImGuiStyleVar_SeparatorTextPadding, - ImGuiStyleVar_DockingSeparatorSize, - ImGuiStyleVar_COUNT -} ImGuiStyleVar_; -typedef enum { - ImGuiButtonFlags_None = 0, - ImGuiButtonFlags_MouseButtonLeft = 1 << 0, - ImGuiButtonFlags_MouseButtonRight = 1 << 1, - ImGuiButtonFlags_MouseButtonMiddle = 1 << 2, - ImGuiButtonFlags_MouseButtonMask_ = ImGuiButtonFlags_MouseButtonLeft | - ImGuiButtonFlags_MouseButtonRight | - ImGuiButtonFlags_MouseButtonMiddle, - ImGuiButtonFlags_MouseButtonDefault_ = ImGuiButtonFlags_MouseButtonLeft, -} ImGuiButtonFlags_; -typedef enum { - ImGuiColorEditFlags_None = 0, - ImGuiColorEditFlags_NoAlpha = 1 << 1, - ImGuiColorEditFlags_NoPicker = 1 << 2, - ImGuiColorEditFlags_NoOptions = 1 << 3, - ImGuiColorEditFlags_NoSmallPreview = 1 << 4, - ImGuiColorEditFlags_NoInputs = 1 << 5, - ImGuiColorEditFlags_NoTooltip = 1 << 6, - ImGuiColorEditFlags_NoLabel = 1 << 7, - ImGuiColorEditFlags_NoSidePreview = 1 << 8, - ImGuiColorEditFlags_NoDragDrop = 1 << 9, - ImGuiColorEditFlags_NoBorder = 1 << 10, - ImGuiColorEditFlags_AlphaBar = 1 << 16, - ImGuiColorEditFlags_AlphaPreview = 1 << 17, - ImGuiColorEditFlags_AlphaPreviewHalf = 1 << 18, - ImGuiColorEditFlags_HDR = 1 << 19, - ImGuiColorEditFlags_DisplayRGB = 1 << 20, - ImGuiColorEditFlags_DisplayHSV = 1 << 21, - ImGuiColorEditFlags_DisplayHex = 1 << 22, - ImGuiColorEditFlags_Uint8 = 1 << 23, - ImGuiColorEditFlags_Float = 1 << 24, - ImGuiColorEditFlags_PickerHueBar = 1 << 25, - ImGuiColorEditFlags_PickerHueWheel = 1 << 26, - ImGuiColorEditFlags_InputRGB = 1 << 27, - ImGuiColorEditFlags_InputHSV = 1 << 28, - ImGuiColorEditFlags_DefaultOptions_ = - ImGuiColorEditFlags_Uint8 | ImGuiColorEditFlags_DisplayRGB | - ImGuiColorEditFlags_InputRGB | ImGuiColorEditFlags_PickerHueBar, - ImGuiColorEditFlags_DisplayMask_ = ImGuiColorEditFlags_DisplayRGB | - ImGuiColorEditFlags_DisplayHSV | - ImGuiColorEditFlags_DisplayHex, - ImGuiColorEditFlags_DataTypeMask_ = - ImGuiColorEditFlags_Uint8 | ImGuiColorEditFlags_Float, - ImGuiColorEditFlags_PickerMask_ = - ImGuiColorEditFlags_PickerHueWheel | ImGuiColorEditFlags_PickerHueBar, - ImGuiColorEditFlags_InputMask_ = - ImGuiColorEditFlags_InputRGB | ImGuiColorEditFlags_InputHSV, -} ImGuiColorEditFlags_; -typedef enum { - ImGuiSliderFlags_None = 0, - ImGuiSliderFlags_AlwaysClamp = 1 << 4, - ImGuiSliderFlags_Logarithmic = 1 << 5, - ImGuiSliderFlags_NoRoundToFormat = 1 << 6, - ImGuiSliderFlags_NoInput = 1 << 7, - ImGuiSliderFlags_InvalidMask_ = 0x7000000F, -} ImGuiSliderFlags_; -typedef enum { - ImGuiMouseButton_Left = 0, - ImGuiMouseButton_Right = 1, - ImGuiMouseButton_Middle = 2, - ImGuiMouseButton_COUNT = 5 -} ImGuiMouseButton_; -typedef enum { - ImGuiMouseCursor_None = -1, - ImGuiMouseCursor_Arrow = 0, - ImGuiMouseCursor_TextInput, - ImGuiMouseCursor_ResizeAll, - ImGuiMouseCursor_ResizeNS, - ImGuiMouseCursor_ResizeEW, - ImGuiMouseCursor_ResizeNESW, - ImGuiMouseCursor_ResizeNWSE, - ImGuiMouseCursor_Hand, - ImGuiMouseCursor_NotAllowed, - ImGuiMouseCursor_COUNT -} ImGuiMouseCursor_; -typedef enum { - ImGuiMouseSource_Mouse = 0, - ImGuiMouseSource_TouchScreen = 1, - ImGuiMouseSource_Pen = 2, - ImGuiMouseSource_COUNT = 3, -} ImGuiMouseSource; -typedef enum { - ImGuiCond_None = 0, - ImGuiCond_Always = 1 << 0, - ImGuiCond_Once = 1 << 1, - ImGuiCond_FirstUseEver = 1 << 2, - ImGuiCond_Appearing = 1 << 3, -} ImGuiCond_; -typedef enum { - ImGuiTableFlags_None = 0, - ImGuiTableFlags_Resizable = 1 << 0, - ImGuiTableFlags_Reorderable = 1 << 1, - ImGuiTableFlags_Hideable = 1 << 2, - ImGuiTableFlags_Sortable = 1 << 3, - ImGuiTableFlags_NoSavedSettings = 1 << 4, - ImGuiTableFlags_ContextMenuInBody = 1 << 5, - ImGuiTableFlags_RowBg = 1 << 6, - ImGuiTableFlags_BordersInnerH = 1 << 7, - ImGuiTableFlags_BordersOuterH = 1 << 8, - ImGuiTableFlags_BordersInnerV = 1 << 9, - ImGuiTableFlags_BordersOuterV = 1 << 10, - ImGuiTableFlags_BordersH = - ImGuiTableFlags_BordersInnerH | ImGuiTableFlags_BordersOuterH, - ImGuiTableFlags_BordersV = - ImGuiTableFlags_BordersInnerV | ImGuiTableFlags_BordersOuterV, - ImGuiTableFlags_BordersInner = - ImGuiTableFlags_BordersInnerV | ImGuiTableFlags_BordersInnerH, - ImGuiTableFlags_BordersOuter = - ImGuiTableFlags_BordersOuterV | ImGuiTableFlags_BordersOuterH, - ImGuiTableFlags_Borders = - ImGuiTableFlags_BordersInner | ImGuiTableFlags_BordersOuter, - ImGuiTableFlags_NoBordersInBody = 1 << 11, - ImGuiTableFlags_NoBordersInBodyUntilResize = 1 << 12, - ImGuiTableFlags_SizingFixedFit = 1 << 13, - ImGuiTableFlags_SizingFixedSame = 2 << 13, - ImGuiTableFlags_SizingStretchProp = 3 << 13, - ImGuiTableFlags_SizingStretchSame = 4 << 13, - ImGuiTableFlags_NoHostExtendX = 1 << 16, - ImGuiTableFlags_NoHostExtendY = 1 << 17, - ImGuiTableFlags_NoKeepColumnsVisible = 1 << 18, - ImGuiTableFlags_PreciseWidths = 1 << 19, - ImGuiTableFlags_NoClip = 1 << 20, - ImGuiTableFlags_PadOuterX = 1 << 21, - ImGuiTableFlags_NoPadOuterX = 1 << 22, - ImGuiTableFlags_NoPadInnerX = 1 << 23, - ImGuiTableFlags_ScrollX = 1 << 24, - ImGuiTableFlags_ScrollY = 1 << 25, - ImGuiTableFlags_SortMulti = 1 << 26, - ImGuiTableFlags_SortTristate = 1 << 27, - ImGuiTableFlags_HighlightHoveredColumn = 1 << 28, - ImGuiTableFlags_SizingMask_ = - ImGuiTableFlags_SizingFixedFit | ImGuiTableFlags_SizingFixedSame | - ImGuiTableFlags_SizingStretchProp | ImGuiTableFlags_SizingStretchSame, -} ImGuiTableFlags_; -typedef enum { - ImGuiTableColumnFlags_None = 0, - ImGuiTableColumnFlags_Disabled = 1 << 0, - ImGuiTableColumnFlags_DefaultHide = 1 << 1, - ImGuiTableColumnFlags_DefaultSort = 1 << 2, - ImGuiTableColumnFlags_WidthStretch = 1 << 3, - ImGuiTableColumnFlags_WidthFixed = 1 << 4, - ImGuiTableColumnFlags_NoResize = 1 << 5, - ImGuiTableColumnFlags_NoReorder = 1 << 6, - ImGuiTableColumnFlags_NoHide = 1 << 7, - ImGuiTableColumnFlags_NoClip = 1 << 8, - ImGuiTableColumnFlags_NoSort = 1 << 9, - ImGuiTableColumnFlags_NoSortAscending = 1 << 10, - ImGuiTableColumnFlags_NoSortDescending = 1 << 11, - ImGuiTableColumnFlags_NoHeaderLabel = 1 << 12, - ImGuiTableColumnFlags_NoHeaderWidth = 1 << 13, - ImGuiTableColumnFlags_PreferSortAscending = 1 << 14, - ImGuiTableColumnFlags_PreferSortDescending = 1 << 15, - ImGuiTableColumnFlags_IndentEnable = 1 << 16, - ImGuiTableColumnFlags_IndentDisable = 1 << 17, - ImGuiTableColumnFlags_AngledHeader = 1 << 18, - ImGuiTableColumnFlags_IsEnabled = 1 << 24, - ImGuiTableColumnFlags_IsVisible = 1 << 25, - ImGuiTableColumnFlags_IsSorted = 1 << 26, - ImGuiTableColumnFlags_IsHovered = 1 << 27, - ImGuiTableColumnFlags_WidthMask_ = - ImGuiTableColumnFlags_WidthStretch | ImGuiTableColumnFlags_WidthFixed, - ImGuiTableColumnFlags_IndentMask_ = - ImGuiTableColumnFlags_IndentEnable | ImGuiTableColumnFlags_IndentDisable, - ImGuiTableColumnFlags_StatusMask_ = - ImGuiTableColumnFlags_IsEnabled | ImGuiTableColumnFlags_IsVisible | - ImGuiTableColumnFlags_IsSorted | ImGuiTableColumnFlags_IsHovered, - ImGuiTableColumnFlags_NoDirectResize_ = 1 << 30, -} ImGuiTableColumnFlags_; -typedef enum { - ImGuiTableRowFlags_None = 0, - ImGuiTableRowFlags_Headers = 1 << 0, -} ImGuiTableRowFlags_; -typedef enum { - ImGuiTableBgTarget_None = 0, - ImGuiTableBgTarget_RowBg0 = 1, - ImGuiTableBgTarget_RowBg1 = 2, - ImGuiTableBgTarget_CellBg = 3, -} ImGuiTableBgTarget_; -struct ImGuiTableSortSpecs { - const ImGuiTableColumnSortSpecs* Specs; - int SpecsCount; - bool SpecsDirty; -}; -struct ImGuiTableColumnSortSpecs { - ImGuiID ColumnUserID; - ImS16 ColumnIndex; - ImS16 SortOrder; - ImGuiSortDirection SortDirection : 8; -}; -struct ImGuiStyle { - float Alpha; - float DisabledAlpha; - ImVec2 WindowPadding; - float WindowRounding; - float WindowBorderSize; - ImVec2 WindowMinSize; - ImVec2 WindowTitleAlign; - ImGuiDir WindowMenuButtonPosition; - float ChildRounding; - float ChildBorderSize; - float PopupRounding; - float PopupBorderSize; - ImVec2 FramePadding; - float FrameRounding; - float FrameBorderSize; - ImVec2 ItemSpacing; - ImVec2 ItemInnerSpacing; - ImVec2 CellPadding; - ImVec2 TouchExtraPadding; - float IndentSpacing; - float ColumnsMinSpacing; - float ScrollbarSize; - float ScrollbarRounding; - float GrabMinSize; - float GrabRounding; - float LogSliderDeadzone; - float TabRounding; - float TabBorderSize; - float TabMinWidthForCloseButton; - float TabBarBorderSize; - float TableAngledHeadersAngle; - ImVec2 TableAngledHeadersTextAlign; - ImGuiDir ColorButtonPosition; - ImVec2 ButtonTextAlign; - ImVec2 SelectableTextAlign; - float SeparatorTextBorderSize; - ImVec2 SeparatorTextAlign; - ImVec2 SeparatorTextPadding; - ImVec2 DisplayWindowPadding; - ImVec2 DisplaySafeAreaPadding; - float DockingSeparatorSize; - float MouseCursorScale; - bool AntiAliasedLines; - bool AntiAliasedLinesUseTex; - bool AntiAliasedFill; - float CurveTessellationTol; - float CircleTessellationMaxError; - ImVec4 Colors[ImGuiCol_COUNT]; - float HoverStationaryDelay; - float HoverDelayShort; - float HoverDelayNormal; - ImGuiHoveredFlags HoverFlagsForTooltipMouse; - ImGuiHoveredFlags HoverFlagsForTooltipNav; -}; -struct ImGuiKeyData { - bool Down; - float DownDuration; - float DownDurationPrev; - float AnalogValue; -}; -typedef struct ImVector_ImWchar { - int Size; - int Capacity; - ImWchar* Data; -} ImVector_ImWchar; - -struct ImGuiIO { - ImGuiConfigFlags ConfigFlags; - ImGuiBackendFlags BackendFlags; - ImVec2 DisplaySize; - float DeltaTime; - float IniSavingRate; - const char* IniFilename; - const char* LogFilename; - void* UserData; - ImFontAtlas* Fonts; - float FontGlobalScale; - bool FontAllowUserScaling; - ImFont* FontDefault; - ImVec2 DisplayFramebufferScale; - bool ConfigDockingNoSplit; - bool ConfigDockingWithShift; - bool ConfigDockingAlwaysTabBar; - bool ConfigDockingTransparentPayload; - bool ConfigViewportsNoAutoMerge; - bool ConfigViewportsNoTaskBarIcon; - bool ConfigViewportsNoDecoration; - bool ConfigViewportsNoDefaultParent; - bool MouseDrawCursor; - bool ConfigMacOSXBehaviors; - bool ConfigInputTrickleEventQueue; - bool ConfigInputTextCursorBlink; - bool ConfigInputTextEnterKeepActive; - bool ConfigDragClickToInputText; - bool ConfigWindowsResizeFromEdges; - bool ConfigWindowsMoveFromTitleBarOnly; - float ConfigMemoryCompactTimer; - float MouseDoubleClickTime; - float MouseDoubleClickMaxDist; - float MouseDragThreshold; - float KeyRepeatDelay; - float KeyRepeatRate; - bool ConfigDebugIsDebuggerPresent; - bool ConfigDebugBeginReturnValueOnce; - bool ConfigDebugBeginReturnValueLoop; - bool ConfigDebugIgnoreFocusLoss; - bool ConfigDebugIniSettings; - const char* BackendPlatformName; - const char* BackendRendererName; - void* BackendPlatformUserData; - void* BackendRendererUserData; - void* BackendLanguageUserData; - const char* (*GetClipboardTextFn)(void* user_data); - void (*SetClipboardTextFn)(void* user_data, const char* text); - void* ClipboardUserData; - void (*SetPlatformImeDataFn)(ImGuiViewport* viewport, - ImGuiPlatformImeData* data); - ImWchar PlatformLocaleDecimalPoint; - bool WantCaptureMouse; - bool WantCaptureKeyboard; - bool WantTextInput; - bool WantSetMousePos; - bool WantSaveIniSettings; - bool NavActive; - bool NavVisible; - float Framerate; - int MetricsRenderVertices; - int MetricsRenderIndices; - int MetricsRenderWindows; - int MetricsActiveWindows; - ImVec2 MouseDelta; - ImGuiContext* Ctx; - ImVec2 MousePos; - bool MouseDown[5]; - float MouseWheel; - float MouseWheelH; - ImGuiMouseSource MouseSource; - ImGuiID MouseHoveredViewport; - bool KeyCtrl; - bool KeyShift; - bool KeyAlt; - bool KeySuper; - ImGuiKeyChord KeyMods; - ImGuiKeyData KeysData[ImGuiKey_KeysData_SIZE]; - bool WantCaptureMouseUnlessPopupClose; - ImVec2 MousePosPrev; - ImVec2 MouseClickedPos[5]; - double MouseClickedTime[5]; - bool MouseClicked[5]; - bool MouseDoubleClicked[5]; - ImU16 MouseClickedCount[5]; - ImU16 MouseClickedLastCount[5]; - bool MouseReleased[5]; - bool MouseDownOwned[5]; - bool MouseDownOwnedUnlessPopupClose[5]; - bool MouseWheelRequestAxisSwap; - float MouseDownDuration[5]; - float MouseDownDurationPrev[5]; - ImVec2 MouseDragMaxDistanceAbs[5]; - float MouseDragMaxDistanceSqr[5]; - float PenPressure; - bool AppFocusLost; - bool AppAcceptingEvents; - ImS8 BackendUsingLegacyKeyArrays; - bool BackendUsingLegacyNavInputArray; - ImWchar16 InputQueueSurrogate; - ImVector_ImWchar InputQueueCharacters; -}; -struct ImGuiInputTextCallbackData { - ImGuiContext* Ctx; - ImGuiInputTextFlags EventFlag; - ImGuiInputTextFlags Flags; - void* UserData; - ImWchar EventChar; - ImGuiKey EventKey; - char* Buf; - int BufTextLen; - int BufSize; - bool BufDirty; - int CursorPos; - int SelectionStart; - int SelectionEnd; -}; -struct ImGuiSizeCallbackData { - void* UserData; - ImVec2 Pos; - ImVec2 CurrentSize; - ImVec2 DesiredSize; -}; -struct ImGuiWindowClass { - ImGuiID ClassId; - ImGuiID ParentViewportId; - ImGuiID FocusRouteParentWindowId; - ImGuiViewportFlags ViewportFlagsOverrideSet; - ImGuiViewportFlags ViewportFlagsOverrideClear; - ImGuiTabItemFlags TabItemFlagsOverrideSet; - ImGuiDockNodeFlags DockNodeFlagsOverrideSet; - bool DockingAlwaysTabBar; - bool DockingAllowUnclassed; -}; -struct ImGuiPayload { - void* Data; - int DataSize; - ImGuiID SourceId; - ImGuiID SourceParentId; - int DataFrameCount; - char DataType[32 + 1]; - bool Preview; - bool Delivery; -}; -struct ImGuiOnceUponAFrame { - int RefFrame; -}; -struct ImGuiTextRange { - const char* b; - const char* e; -}; -typedef struct ImGuiTextRange ImGuiTextRange; - -typedef struct ImVector_ImGuiTextRange { - int Size; - int Capacity; - ImGuiTextRange* Data; -} ImVector_ImGuiTextRange; - -struct ImGuiTextFilter { - char InputBuf[256]; - ImVector_ImGuiTextRange Filters; - int CountGrep; -}; -typedef struct ImGuiTextRange ImGuiTextRange; -typedef struct ImVector_char { - int Size; - int Capacity; - char* Data; -} ImVector_char; - -struct ImGuiTextBuffer { - ImVector_char Buf; -}; -struct ImGuiStoragePair { - ImGuiID key; - union { - int val_i; - float val_f; - void* val_p; - }; -}; -typedef struct ImGuiStoragePair ImGuiStoragePair; - -typedef struct ImVector_ImGuiStoragePair { - int Size; - int Capacity; - ImGuiStoragePair* Data; -} ImVector_ImGuiStoragePair; - -struct ImGuiStorage { - ImVector_ImGuiStoragePair Data; -}; -typedef struct ImGuiStoragePair ImGuiStoragePair; -struct ImGuiListClipper { - ImGuiContext* Ctx; - int DisplayStart; - int DisplayEnd; - int ItemsCount; - float ItemsHeight; - float StartPosY; - void* TempData; -}; -struct ImColor { - ImVec4 Value; -}; -typedef void (*ImDrawCallback)(const ImDrawList* parent_list, - const ImDrawCmd* cmd); -struct ImDrawCmd { - ImVec4 ClipRect; - ImTextureID TextureId; - unsigned int VtxOffset; - unsigned int IdxOffset; - unsigned int ElemCount; - ImDrawCallback UserCallback; - void* UserCallbackData; -}; -struct ImDrawVert { - ImVec2 pos; - ImVec2 uv; - ImU32 col; -}; -typedef struct ImDrawCmdHeader ImDrawCmdHeader; -struct ImDrawCmdHeader { - ImVec4 ClipRect; - ImTextureID TextureId; - unsigned int VtxOffset; -}; -typedef struct ImVector_ImDrawCmd { - int Size; - int Capacity; - ImDrawCmd* Data; -} ImVector_ImDrawCmd; - -typedef struct ImVector_ImDrawIdx { - int Size; - int Capacity; - ImDrawIdx* Data; -} ImVector_ImDrawIdx; - -struct ImDrawChannel { - ImVector_ImDrawCmd _CmdBuffer; - ImVector_ImDrawIdx _IdxBuffer; -}; -typedef struct ImVector_ImDrawChannel { - int Size; - int Capacity; - ImDrawChannel* Data; -} ImVector_ImDrawChannel; - -struct ImDrawListSplitter { - int _Current; - int _Count; - ImVector_ImDrawChannel _Channels; -}; -typedef enum { - ImDrawFlags_None = 0, - ImDrawFlags_Closed = 1 << 0, - ImDrawFlags_RoundCornersTopLeft = 1 << 4, - ImDrawFlags_RoundCornersTopRight = 1 << 5, - ImDrawFlags_RoundCornersBottomLeft = 1 << 6, - ImDrawFlags_RoundCornersBottomRight = 1 << 7, - ImDrawFlags_RoundCornersNone = 1 << 8, - ImDrawFlags_RoundCornersTop = - ImDrawFlags_RoundCornersTopLeft | ImDrawFlags_RoundCornersTopRight, - ImDrawFlags_RoundCornersBottom = - ImDrawFlags_RoundCornersBottomLeft | ImDrawFlags_RoundCornersBottomRight, - ImDrawFlags_RoundCornersLeft = - ImDrawFlags_RoundCornersBottomLeft | ImDrawFlags_RoundCornersTopLeft, - ImDrawFlags_RoundCornersRight = - ImDrawFlags_RoundCornersBottomRight | ImDrawFlags_RoundCornersTopRight, - ImDrawFlags_RoundCornersAll = - ImDrawFlags_RoundCornersTopLeft | ImDrawFlags_RoundCornersTopRight | - ImDrawFlags_RoundCornersBottomLeft | ImDrawFlags_RoundCornersBottomRight, - ImDrawFlags_RoundCornersDefault_ = ImDrawFlags_RoundCornersAll, - ImDrawFlags_RoundCornersMask_ = - ImDrawFlags_RoundCornersAll | ImDrawFlags_RoundCornersNone, -} ImDrawFlags_; -typedef enum { - ImDrawListFlags_None = 0, - ImDrawListFlags_AntiAliasedLines = 1 << 0, - ImDrawListFlags_AntiAliasedLinesUseTex = 1 << 1, - ImDrawListFlags_AntiAliasedFill = 1 << 2, - ImDrawListFlags_AllowVtxOffset = 1 << 3, -} ImDrawListFlags_; -typedef struct ImVector_ImDrawVert { - int Size; - int Capacity; - ImDrawVert* Data; -} ImVector_ImDrawVert; - -typedef struct ImVector_ImVec2 { - int Size; - int Capacity; - ImVec2* Data; -} ImVector_ImVec2; - -typedef struct ImVector_ImVec4 { - int Size; - int Capacity; - ImVec4* Data; -} ImVector_ImVec4; - -typedef struct ImVector_ImTextureID { - int Size; - int Capacity; - ImTextureID* Data; -} ImVector_ImTextureID; - -struct ImDrawList { - ImVector_ImDrawCmd CmdBuffer; - ImVector_ImDrawIdx IdxBuffer; - ImVector_ImDrawVert VtxBuffer; - ImDrawListFlags Flags; - unsigned int _VtxCurrentIdx; - ImDrawListSharedData* _Data; - ImDrawVert* _VtxWritePtr; - ImDrawIdx* _IdxWritePtr; - ImVector_ImVec2 _Path; - ImDrawCmdHeader _CmdHeader; - ImDrawListSplitter _Splitter; - ImVector_ImVec4 _ClipRectStack; - ImVector_ImTextureID _TextureIdStack; - float _FringeScale; - const char* _OwnerName; -}; -typedef struct ImVector_ImDrawListPtr { - int Size; - int Capacity; - ImDrawList** Data; -} ImVector_ImDrawListPtr; - -struct ImDrawData { - bool Valid; - int CmdListsCount; - int TotalIdxCount; - int TotalVtxCount; - ImVector_ImDrawListPtr CmdLists; - ImVec2 DisplayPos; - ImVec2 DisplaySize; - ImVec2 FramebufferScale; - ImGuiViewport* OwnerViewport; -}; -struct ImFontConfig { - void* FontData; - int FontDataSize; - bool FontDataOwnedByAtlas; - int FontNo; - float SizePixels; - int OversampleH; - int OversampleV; - bool PixelSnapH; - ImVec2 GlyphExtraSpacing; - ImVec2 GlyphOffset; - const ImWchar* GlyphRanges; - float GlyphMinAdvanceX; - float GlyphMaxAdvanceX; - bool MergeMode; - unsigned int FontBuilderFlags; - float RasterizerMultiply; - float RasterizerDensity; - ImWchar EllipsisChar; - char Name[40]; - ImFont* DstFont; -}; -struct ImFontGlyph { - unsigned int Colored : 1; - unsigned int Visible : 1; - unsigned int Codepoint : 30; - float AdvanceX; - float X0, Y0, X1, Y1; - float U0, V0, U1, V1; -}; -typedef struct ImVector_ImU32 { - int Size; - int Capacity; - ImU32* Data; -} ImVector_ImU32; - -struct ImFontGlyphRangesBuilder { - ImVector_ImU32 UsedChars; -}; -typedef struct ImFontAtlasCustomRect ImFontAtlasCustomRect; -struct ImFontAtlasCustomRect { - unsigned short Width, Height; - unsigned short X, Y; - unsigned int GlyphID; - float GlyphAdvanceX; - ImVec2 GlyphOffset; - ImFont* Font; -}; -typedef enum { - ImFontAtlasFlags_None = 0, - ImFontAtlasFlags_NoPowerOfTwoHeight = 1 << 0, - ImFontAtlasFlags_NoMouseCursors = 1 << 1, - ImFontAtlasFlags_NoBakedLines = 1 << 2, -} ImFontAtlasFlags_; -typedef struct ImVector_ImFontPtr { - int Size; - int Capacity; - ImFont** Data; -} ImVector_ImFontPtr; - -typedef struct ImVector_ImFontAtlasCustomRect { - int Size; - int Capacity; - ImFontAtlasCustomRect* Data; -} ImVector_ImFontAtlasCustomRect; - -typedef struct ImVector_ImFontConfig { - int Size; - int Capacity; - ImFontConfig* Data; -} ImVector_ImFontConfig; - -struct ImFontAtlas { - ImFontAtlasFlags Flags; - ImTextureID TexID; - int TexDesiredWidth; - int TexGlyphPadding; - bool Locked; - void* UserData; - bool TexReady; - bool TexPixelsUseColors; - unsigned char* TexPixelsAlpha8; - unsigned int* TexPixelsRGBA32; - int TexWidth; - int TexHeight; - ImVec2 TexUvScale; - ImVec2 TexUvWhitePixel; - ImVector_ImFontPtr Fonts; - ImVector_ImFontAtlasCustomRect CustomRects; - ImVector_ImFontConfig ConfigData; - ImVec4 TexUvLines[(63) + 1]; - const ImFontBuilderIO* FontBuilderIO; - unsigned int FontBuilderFlags; - int PackIdMouseCursors; - int PackIdLines; -}; -typedef struct ImVector_float { - int Size; - int Capacity; - float* Data; -} ImVector_float; - -typedef struct ImVector_ImFontGlyph { - int Size; - int Capacity; - ImFontGlyph* Data; -} ImVector_ImFontGlyph; - -struct ImFont { - ImVector_float IndexAdvanceX; - float FallbackAdvanceX; - float FontSize; - ImVector_ImWchar IndexLookup; - ImVector_ImFontGlyph Glyphs; - const ImFontGlyph* FallbackGlyph; - ImFontAtlas* ContainerAtlas; - const ImFontConfig* ConfigData; - short ConfigDataCount; - ImWchar FallbackChar; - ImWchar EllipsisChar; - short EllipsisCharCount; - float EllipsisWidth; - float EllipsisCharStep; - bool DirtyLookupTables; - float Scale; - float Ascent, Descent; - int MetricsTotalSurface; - ImU8 Used4kPagesMap[(0xFFFF + 1) / 4096 / 8]; -}; -typedef enum { - ImGuiViewportFlags_None = 0, - ImGuiViewportFlags_IsPlatformWindow = 1 << 0, - ImGuiViewportFlags_IsPlatformMonitor = 1 << 1, - ImGuiViewportFlags_OwnedByApp = 1 << 2, - ImGuiViewportFlags_NoDecoration = 1 << 3, - ImGuiViewportFlags_NoTaskBarIcon = 1 << 4, - ImGuiViewportFlags_NoFocusOnAppearing = 1 << 5, - ImGuiViewportFlags_NoFocusOnClick = 1 << 6, - ImGuiViewportFlags_NoInputs = 1 << 7, - ImGuiViewportFlags_NoRendererClear = 1 << 8, - ImGuiViewportFlags_NoAutoMerge = 1 << 9, - ImGuiViewportFlags_TopMost = 1 << 10, - ImGuiViewportFlags_CanHostOtherWindows = 1 << 11, - ImGuiViewportFlags_IsMinimized = 1 << 12, - ImGuiViewportFlags_IsFocused = 1 << 13, -} ImGuiViewportFlags_; -struct ImGuiViewport { - ImGuiID ID; - ImGuiViewportFlags Flags; - ImVec2 Pos; - ImVec2 Size; - ImVec2 WorkPos; - ImVec2 WorkSize; - float DpiScale; - ImGuiID ParentViewportId; - ImDrawData* DrawData; - void* RendererUserData; - void* PlatformUserData; - void* PlatformHandle; - void* PlatformHandleRaw; - bool PlatformWindowCreated; - bool PlatformRequestMove; - bool PlatformRequestResize; - bool PlatformRequestClose; -}; -typedef struct ImVector_ImGuiPlatformMonitor { - int Size; - int Capacity; - ImGuiPlatformMonitor* Data; -} ImVector_ImGuiPlatformMonitor; - -typedef struct ImVector_ImGuiViewportPtr { - int Size; - int Capacity; - ImGuiViewport** Data; -} ImVector_ImGuiViewportPtr; - -struct ImGuiPlatformIO { - void (*Platform_CreateWindow)(ImGuiViewport* vp); - void (*Platform_DestroyWindow)(ImGuiViewport* vp); - void (*Platform_ShowWindow)(ImGuiViewport* vp); - void (*Platform_SetWindowPos)(ImGuiViewport* vp, ImVec2 pos); - ImVec2 (*Platform_GetWindowPos)(ImGuiViewport* vp); - void (*Platform_SetWindowSize)(ImGuiViewport* vp, ImVec2 size); - ImVec2 (*Platform_GetWindowSize)(ImGuiViewport* vp); - void (*Platform_SetWindowFocus)(ImGuiViewport* vp); - bool (*Platform_GetWindowFocus)(ImGuiViewport* vp); - bool (*Platform_GetWindowMinimized)(ImGuiViewport* vp); - void (*Platform_SetWindowTitle)(ImGuiViewport* vp, const char* str); - void (*Platform_SetWindowAlpha)(ImGuiViewport* vp, float alpha); - void (*Platform_UpdateWindow)(ImGuiViewport* vp); - void (*Platform_RenderWindow)(ImGuiViewport* vp, void* render_arg); - void (*Platform_SwapBuffers)(ImGuiViewport* vp, void* render_arg); - float (*Platform_GetWindowDpiScale)(ImGuiViewport* vp); - void (*Platform_OnChangedViewport)(ImGuiViewport* vp); - int (*Platform_CreateVkSurface)(ImGuiViewport* vp, - ImU64 vk_inst, - const void* vk_allocators, - ImU64* out_vk_surface); - void (*Renderer_CreateWindow)(ImGuiViewport* vp); - void (*Renderer_DestroyWindow)(ImGuiViewport* vp); - void (*Renderer_SetWindowSize)(ImGuiViewport* vp, ImVec2 size); - void (*Renderer_RenderWindow)(ImGuiViewport* vp, void* render_arg); - void (*Renderer_SwapBuffers)(ImGuiViewport* vp, void* render_arg); - ImVector_ImGuiPlatformMonitor Monitors; - ImVector_ImGuiViewportPtr Viewports; -}; -struct ImGuiPlatformMonitor { - ImVec2 MainPos, MainSize; - ImVec2 WorkPos, WorkSize; - float DpiScale; - void* PlatformHandle; -}; -struct ImGuiPlatformImeData { - bool WantVisible; - ImVec2 InputPos; - float InputLineHeight; -}; -struct ImBitVector; -struct ImRect; -struct ImDrawDataBuilder; -struct ImDrawListSharedData; -struct ImGuiColorMod; -struct ImGuiContext; -struct ImGuiContextHook; -struct ImGuiDataVarInfo; -struct ImGuiDataTypeInfo; -struct ImGuiDockContext; -struct ImGuiDockRequest; -struct ImGuiDockNode; -struct ImGuiDockNodeSettings; -struct ImGuiGroupData; -struct ImGuiInputTextState; -struct ImGuiInputTextDeactivateData; -struct ImGuiLastItemData; -struct ImGuiLocEntry; -struct ImGuiMenuColumns; -struct ImGuiNavItemData; -struct ImGuiNavTreeNodeData; -struct ImGuiMetricsConfig; -struct ImGuiNextWindowData; -struct ImGuiNextItemData; -struct ImGuiOldColumnData; -struct ImGuiOldColumns; -struct ImGuiPopupData; -struct ImGuiSettingsHandler; -struct ImGuiStackSizes; -struct ImGuiStyleMod; -struct ImGuiTabBar; -struct ImGuiTabItem; -struct ImGuiTable; -struct ImGuiTableHeaderData; -struct ImGuiTableColumn; -struct ImGuiTableInstanceData; -struct ImGuiTableTempData; -struct ImGuiTableSettings; -struct ImGuiTableColumnsSettings; -struct ImGuiTypingSelectState; -struct ImGuiTypingSelectRequest; -struct ImGuiWindow; -struct ImGuiWindowDockStyle; -struct ImGuiWindowTempData; -struct ImGuiWindowSettings; -typedef int ImGuiDataAuthority; -typedef int ImGuiLayoutType; -typedef int ImGuiActivateFlags; -typedef int ImGuiDebugLogFlags; -typedef int ImGuiFocusRequestFlags; -typedef int ImGuiInputFlags; -typedef int ImGuiItemFlags; -typedef int ImGuiItemStatusFlags; -typedef int ImGuiOldColumnFlags; -typedef int ImGuiNavHighlightFlags; -typedef int ImGuiNavMoveFlags; -typedef int ImGuiNextItemDataFlags; -typedef int ImGuiNextWindowDataFlags; -typedef int ImGuiScrollFlags; -typedef int ImGuiSeparatorFlags; -typedef int ImGuiTextFlags; -typedef int ImGuiTooltipFlags; -typedef int ImGuiTypingSelectFlags; -typedef int ImGuiWindowRefreshFlags; -typedef void (*ImGuiErrorLogCallback)(void* user_data, const char* fmt, ...); -extern ImGuiContext* GImGui; -typedef struct StbUndoRecord StbUndoRecord; -struct StbUndoRecord { - int where; - int insert_length; - int delete_length; - int char_storage; -}; -typedef struct StbUndoState StbUndoState; -struct StbUndoState { - StbUndoRecord undo_rec[99]; - ImWchar undo_char[999]; - short undo_point, redo_point; - int undo_char_point, redo_char_point; -}; -typedef struct STB_TexteditState STB_TexteditState; -struct STB_TexteditState { - int cursor; - int select_start; - int select_end; - unsigned char insert_mode; - int row_count_per_page; - unsigned char cursor_at_end_of_line; - unsigned char initialized; - unsigned char has_preferred_x; - unsigned char single_line; - unsigned char padding1, padding2, padding3; - float preferred_x; - StbUndoState undostate; -}; -typedef struct StbTexteditRow StbTexteditRow; -struct StbTexteditRow { - float x0, x1; - float baseline_y_delta; - float ymin, ymax; - int num_chars; -}; -typedef FILE* ImFileHandle; -typedef struct ImVec1 ImVec1; -struct ImVec1 { - float x; -}; -typedef struct ImVec2ih ImVec2ih; -struct ImVec2ih { - short x, y; -}; -struct ImRect { - ImVec2 Min; - ImVec2 Max; -}; -typedef ImU32* ImBitArrayPtr; -struct ImBitVector { - ImVector_ImU32 Storage; -}; -typedef int ImPoolIdx; -typedef struct ImGuiTextIndex ImGuiTextIndex; -typedef struct ImVector_int { - int Size; - int Capacity; - int* Data; -} ImVector_int; - -struct ImGuiTextIndex { - ImVector_int LineOffsets; - int EndOffset; -}; -struct ImDrawListSharedData { - ImVec2 TexUvWhitePixel; - ImFont* Font; - float FontSize; - float CurveTessellationTol; - float CircleSegmentMaxError; - ImVec4 ClipRectFullscreen; - ImDrawListFlags InitialFlags; - ImVector_ImVec2 TempBuffer; - ImVec2 ArcFastVtx[48]; - float ArcFastRadiusCutoff; - ImU8 CircleSegmentCounts[64]; - const ImVec4* TexUvLines; -}; -struct ImDrawDataBuilder { - ImVector_ImDrawListPtr* Layers[2]; - ImVector_ImDrawListPtr LayerData1; -}; -typedef enum { - ImGuiItemFlags_None = 0, - ImGuiItemFlags_NoTabStop = 1 << 0, - ImGuiItemFlags_ButtonRepeat = 1 << 1, - ImGuiItemFlags_Disabled = 1 << 2, - ImGuiItemFlags_NoNav = 1 << 3, - ImGuiItemFlags_NoNavDefaultFocus = 1 << 4, - ImGuiItemFlags_SelectableDontClosePopup = 1 << 5, - ImGuiItemFlags_MixedValue = 1 << 6, - ImGuiItemFlags_ReadOnly = 1 << 7, - ImGuiItemFlags_NoWindowHoverableCheck = 1 << 8, - ImGuiItemFlags_AllowOverlap = 1 << 9, - ImGuiItemFlags_Inputable = 1 << 10, - ImGuiItemFlags_HasSelectionUserData = 1 << 11, -} ImGuiItemFlags_; -typedef enum { - ImGuiItemStatusFlags_None = 0, - ImGuiItemStatusFlags_HoveredRect = 1 << 0, - ImGuiItemStatusFlags_HasDisplayRect = 1 << 1, - ImGuiItemStatusFlags_Edited = 1 << 2, - ImGuiItemStatusFlags_ToggledSelection = 1 << 3, - ImGuiItemStatusFlags_ToggledOpen = 1 << 4, - ImGuiItemStatusFlags_HasDeactivated = 1 << 5, - ImGuiItemStatusFlags_Deactivated = 1 << 6, - ImGuiItemStatusFlags_HoveredWindow = 1 << 7, - ImGuiItemStatusFlags_Visible = 1 << 8, - ImGuiItemStatusFlags_HasClipRect = 1 << 9, -} ImGuiItemStatusFlags_; -typedef enum { - ImGuiHoveredFlags_DelayMask_ = - ImGuiHoveredFlags_DelayNone | ImGuiHoveredFlags_DelayShort | - ImGuiHoveredFlags_DelayNormal | ImGuiHoveredFlags_NoSharedDelay, - ImGuiHoveredFlags_AllowedMaskForIsWindowHovered = - ImGuiHoveredFlags_ChildWindows | ImGuiHoveredFlags_RootWindow | - ImGuiHoveredFlags_AnyWindow | ImGuiHoveredFlags_NoPopupHierarchy | - ImGuiHoveredFlags_DockHierarchy | - ImGuiHoveredFlags_AllowWhenBlockedByPopup | - ImGuiHoveredFlags_AllowWhenBlockedByActiveItem | - ImGuiHoveredFlags_ForTooltip | ImGuiHoveredFlags_Stationary, - ImGuiHoveredFlags_AllowedMaskForIsItemHovered = - ImGuiHoveredFlags_AllowWhenBlockedByPopup | - ImGuiHoveredFlags_AllowWhenBlockedByActiveItem | - ImGuiHoveredFlags_AllowWhenOverlapped | - ImGuiHoveredFlags_AllowWhenDisabled | ImGuiHoveredFlags_NoNavOverride | - ImGuiHoveredFlags_ForTooltip | ImGuiHoveredFlags_Stationary | - ImGuiHoveredFlags_DelayMask_, -} ImGuiHoveredFlagsPrivate_; -typedef enum { - ImGuiInputTextFlags_Multiline = 1 << 26, - ImGuiInputTextFlags_NoMarkEdited = 1 << 27, - ImGuiInputTextFlags_MergedItem = 1 << 28, - ImGuiInputTextFlags_LocalizeDecimalPoint = 1 << 29, -} ImGuiInputTextFlagsPrivate_; -typedef enum { - ImGuiButtonFlags_PressedOnClick = 1 << 4, - ImGuiButtonFlags_PressedOnClickRelease = 1 << 5, - ImGuiButtonFlags_PressedOnClickReleaseAnywhere = 1 << 6, - ImGuiButtonFlags_PressedOnRelease = 1 << 7, - ImGuiButtonFlags_PressedOnDoubleClick = 1 << 8, - ImGuiButtonFlags_PressedOnDragDropHold = 1 << 9, - ImGuiButtonFlags_Repeat = 1 << 10, - ImGuiButtonFlags_FlattenChildren = 1 << 11, - ImGuiButtonFlags_AllowOverlap = 1 << 12, - ImGuiButtonFlags_DontClosePopups = 1 << 13, - ImGuiButtonFlags_AlignTextBaseLine = 1 << 15, - ImGuiButtonFlags_NoKeyModifiers = 1 << 16, - ImGuiButtonFlags_NoHoldingActiveId = 1 << 17, - ImGuiButtonFlags_NoNavFocus = 1 << 18, - ImGuiButtonFlags_NoHoveredOnFocus = 1 << 19, - ImGuiButtonFlags_NoSetKeyOwner = 1 << 20, - ImGuiButtonFlags_NoTestKeyOwner = 1 << 21, - ImGuiButtonFlags_PressedOnMask_ = - ImGuiButtonFlags_PressedOnClick | ImGuiButtonFlags_PressedOnClickRelease | - ImGuiButtonFlags_PressedOnClickReleaseAnywhere | - ImGuiButtonFlags_PressedOnRelease | - ImGuiButtonFlags_PressedOnDoubleClick | - ImGuiButtonFlags_PressedOnDragDropHold, - ImGuiButtonFlags_PressedOnDefault_ = ImGuiButtonFlags_PressedOnClickRelease, -} ImGuiButtonFlagsPrivate_; -typedef enum { - ImGuiComboFlags_CustomPreview = 1 << 20, -} ImGuiComboFlagsPrivate_; -typedef enum { - ImGuiSliderFlags_Vertical = 1 << 20, - ImGuiSliderFlags_ReadOnly = 1 << 21, -} ImGuiSliderFlagsPrivate_; -typedef enum { - ImGuiSelectableFlags_NoHoldingActiveID = 1 << 20, - ImGuiSelectableFlags_SelectOnNav = 1 << 21, - ImGuiSelectableFlags_SelectOnClick = 1 << 22, - ImGuiSelectableFlags_SelectOnRelease = 1 << 23, - ImGuiSelectableFlags_SpanAvailWidth = 1 << 24, - ImGuiSelectableFlags_SetNavIdOnHover = 1 << 25, - ImGuiSelectableFlags_NoPadWithHalfSpacing = 1 << 26, - ImGuiSelectableFlags_NoSetKeyOwner = 1 << 27, -} ImGuiSelectableFlagsPrivate_; -typedef enum { - ImGuiTreeNodeFlags_ClipLabelForTrailingButton = 1 << 20, - ImGuiTreeNodeFlags_UpsideDownArrow = 1 << 21, -} ImGuiTreeNodeFlagsPrivate_; -typedef enum { - ImGuiSeparatorFlags_None = 0, - ImGuiSeparatorFlags_Horizontal = 1 << 0, - ImGuiSeparatorFlags_Vertical = 1 << 1, - ImGuiSeparatorFlags_SpanAllColumns = 1 << 2, -} ImGuiSeparatorFlags_; -typedef enum { - ImGuiFocusRequestFlags_None = 0, - ImGuiFocusRequestFlags_RestoreFocusedChild = 1 << 0, - ImGuiFocusRequestFlags_UnlessBelowModal = 1 << 1, -} ImGuiFocusRequestFlags_; -typedef enum { - ImGuiTextFlags_None = 0, - ImGuiTextFlags_NoWidthForLargeClippedText = 1 << 0, -} ImGuiTextFlags_; -typedef enum { - ImGuiTooltipFlags_None = 0, - ImGuiTooltipFlags_OverridePrevious = 1 << 1, -} ImGuiTooltipFlags_; -typedef enum { - ImGuiLayoutType_Horizontal = 0, - ImGuiLayoutType_Vertical = 1 -} ImGuiLayoutType_; -typedef enum { - ImGuiLogType_None = 0, - ImGuiLogType_TTY, - ImGuiLogType_File, - ImGuiLogType_Buffer, - ImGuiLogType_Clipboard, -} ImGuiLogType; -typedef enum { - ImGuiAxis_None = -1, - ImGuiAxis_X = 0, - ImGuiAxis_Y = 1 -} ImGuiAxis; -typedef enum { - ImGuiPlotType_Lines, - ImGuiPlotType_Histogram, -} ImGuiPlotType; -struct ImGuiColorMod { - ImGuiCol Col; - ImVec4 BackupValue; -}; -struct ImGuiStyleMod { - ImGuiStyleVar VarIdx; - union { - int BackupInt[2]; - float BackupFloat[2]; - }; -}; -typedef struct ImGuiComboPreviewData ImGuiComboPreviewData; -struct ImGuiComboPreviewData { - ImRect PreviewRect; - ImVec2 BackupCursorPos; - ImVec2 BackupCursorMaxPos; - ImVec2 BackupCursorPosPrevLine; - float BackupPrevLineTextBaseOffset; - ImGuiLayoutType BackupLayout; -}; -struct ImGuiGroupData { - ImGuiID WindowID; - ImVec2 BackupCursorPos; - ImVec2 BackupCursorMaxPos; - ImVec2 BackupCursorPosPrevLine; - ImVec1 BackupIndent; - ImVec1 BackupGroupOffset; - ImVec2 BackupCurrLineSize; - float BackupCurrLineTextBaseOffset; - ImGuiID BackupActiveIdIsAlive; - bool BackupActiveIdPreviousFrameIsAlive; - bool BackupHoveredIdIsAlive; - bool BackupIsSameLine; - bool EmitItem; -}; -struct ImGuiMenuColumns { - ImU32 TotalWidth; - ImU32 NextTotalWidth; - ImU16 Spacing; - ImU16 OffsetIcon; - ImU16 OffsetLabel; - ImU16 OffsetShortcut; - ImU16 OffsetMark; - ImU16 Widths[4]; -}; -typedef struct ImGuiInputTextDeactivatedState ImGuiInputTextDeactivatedState; -struct ImGuiInputTextDeactivatedState { - ImGuiID ID; - ImVector_char TextA; -}; -struct ImGuiInputTextState { - ImGuiContext* Ctx; - ImGuiID ID; - int CurLenW, CurLenA; - ImVector_ImWchar TextW; - ImVector_char TextA; - ImVector_char InitialTextA; - bool TextAIsValid; - int BufCapacityA; - float ScrollX; - STB_TexteditState Stb; - float CursorAnim; - bool CursorFollow; - bool SelectedAllMouseLock; - bool Edited; - ImGuiInputTextFlags Flags; - bool ReloadUserBuf; - int ReloadSelectionStart; - int ReloadSelectionEnd; -}; -typedef enum { - ImGuiWindowRefreshFlags_None = 0, - ImGuiWindowRefreshFlags_TryToAvoidRefresh = 1 << 0, - ImGuiWindowRefreshFlags_RefreshOnHover = 1 << 1, - ImGuiWindowRefreshFlags_RefreshOnFocus = 1 << 2, -} ImGuiWindowRefreshFlags_; -typedef enum { - ImGuiNextWindowDataFlags_None = 0, - ImGuiNextWindowDataFlags_HasPos = 1 << 0, - ImGuiNextWindowDataFlags_HasSize = 1 << 1, - ImGuiNextWindowDataFlags_HasContentSize = 1 << 2, - ImGuiNextWindowDataFlags_HasCollapsed = 1 << 3, - ImGuiNextWindowDataFlags_HasSizeConstraint = 1 << 4, - ImGuiNextWindowDataFlags_HasFocus = 1 << 5, - ImGuiNextWindowDataFlags_HasBgAlpha = 1 << 6, - ImGuiNextWindowDataFlags_HasScroll = 1 << 7, - ImGuiNextWindowDataFlags_HasChildFlags = 1 << 8, - ImGuiNextWindowDataFlags_HasRefreshPolicy = 1 << 9, - ImGuiNextWindowDataFlags_HasViewport = 1 << 10, - ImGuiNextWindowDataFlags_HasDock = 1 << 11, - ImGuiNextWindowDataFlags_HasWindowClass = 1 << 12, -} ImGuiNextWindowDataFlags_; -struct ImGuiNextWindowData { - ImGuiNextWindowDataFlags Flags; - ImGuiCond PosCond; - ImGuiCond SizeCond; - ImGuiCond CollapsedCond; - ImGuiCond DockCond; - ImVec2 PosVal; - ImVec2 PosPivotVal; - ImVec2 SizeVal; - ImVec2 ContentSizeVal; - ImVec2 ScrollVal; - ImGuiChildFlags ChildFlags; - bool PosUndock; - bool CollapsedVal; - ImRect SizeConstraintRect; - ImGuiSizeCallback SizeCallback; - void* SizeCallbackUserData; - float BgAlphaVal; - ImGuiID ViewportId; - ImGuiID DockId; - ImGuiWindowClass WindowClass; - ImVec2 MenuBarOffsetMinVal; - ImGuiWindowRefreshFlags RefreshFlagsVal; -}; -typedef ImS64 ImGuiSelectionUserData; -typedef enum { - ImGuiNextItemDataFlags_None = 0, - ImGuiNextItemDataFlags_HasWidth = 1 << 0, - ImGuiNextItemDataFlags_HasOpen = 1 << 1, - ImGuiNextItemDataFlags_HasShortcut = 1 << 2, -} ImGuiNextItemDataFlags_; -struct ImGuiNextItemData { - ImGuiNextItemDataFlags Flags; - ImGuiItemFlags ItemFlags; - ImGuiSelectionUserData SelectionUserData; - float Width; - ImGuiKeyChord Shortcut; - bool OpenVal; - ImGuiCond OpenCond : 8; -}; -struct ImGuiLastItemData { - ImGuiID ID; - ImGuiItemFlags InFlags; - ImGuiItemStatusFlags StatusFlags; - ImRect Rect; - ImRect NavRect; - ImRect DisplayRect; - ImRect ClipRect; -}; -struct ImGuiNavTreeNodeData { - ImGuiID ID; - ImGuiItemFlags InFlags; - ImRect NavRect; -}; -struct ImGuiStackSizes { - short SizeOfIDStack; - short SizeOfColorStack; - short SizeOfStyleVarStack; - short SizeOfFontStack; - short SizeOfFocusScopeStack; - short SizeOfGroupStack; - short SizeOfItemFlagsStack; - short SizeOfBeginPopupStack; - short SizeOfDisabledStack; -}; -typedef struct ImGuiWindowStackData ImGuiWindowStackData; -struct ImGuiWindowStackData { - ImGuiWindow* Window; - ImGuiLastItemData ParentLastItemDataBackup; - ImGuiStackSizes StackSizesOnBegin; -}; -typedef struct ImGuiShrinkWidthItem ImGuiShrinkWidthItem; -struct ImGuiShrinkWidthItem { - int Index; - float Width; - float InitialWidth; -}; -typedef struct ImGuiPtrOrIndex ImGuiPtrOrIndex; -struct ImGuiPtrOrIndex { - void* Ptr; - int Index; -}; -struct ImGuiDataVarInfo { - ImGuiDataType Type; - ImU32 Count; - ImU32 Offset; -}; -typedef struct ImGuiDataTypeTempStorage ImGuiDataTypeTempStorage; -struct ImGuiDataTypeTempStorage { - ImU8 Data[8]; -}; -struct ImGuiDataTypeInfo { - size_t Size; - const char* Name; - const char* PrintFmt; - const char* ScanFmt; -}; -typedef enum { - ImGuiDataType_String = ImGuiDataType_COUNT + 1, - ImGuiDataType_Pointer, - ImGuiDataType_ID, -} ImGuiDataTypePrivate_; -typedef enum { - ImGuiPopupPositionPolicy_Default, - ImGuiPopupPositionPolicy_ComboBox, - ImGuiPopupPositionPolicy_Tooltip, -} ImGuiPopupPositionPolicy; -struct ImGuiPopupData { - ImGuiID PopupId; - ImGuiWindow* Window; - ImGuiWindow* RestoreNavWindow; - int ParentNavLayer; - int OpenFrameCount; - ImGuiID OpenParentId; - ImVec2 OpenPopupPos; - ImVec2 OpenMousePos; -}; -typedef struct ImBitArray_ImGuiKey_NamedKey_COUNT__lessImGuiKey_NamedKey_BEGIN { - ImU32 Storage[(ImGuiKey_NamedKey_COUNT + 31) >> 5]; -} ImBitArray_ImGuiKey_NamedKey_COUNT__lessImGuiKey_NamedKey_BEGIN; - -typedef ImBitArray_ImGuiKey_NamedKey_COUNT__lessImGuiKey_NamedKey_BEGIN - ImBitArrayForNamedKeys; -typedef enum { - ImGuiInputEventType_None = 0, - ImGuiInputEventType_MousePos, - ImGuiInputEventType_MouseWheel, - ImGuiInputEventType_MouseButton, - ImGuiInputEventType_MouseViewport, - ImGuiInputEventType_Key, - ImGuiInputEventType_Text, - ImGuiInputEventType_Focus, - ImGuiInputEventType_COUNT -} ImGuiInputEventType; -typedef enum { - ImGuiInputSource_None = 0, - ImGuiInputSource_Mouse, - ImGuiInputSource_Keyboard, - ImGuiInputSource_Gamepad, - ImGuiInputSource_COUNT -} ImGuiInputSource; -typedef struct ImGuiInputEventMousePos ImGuiInputEventMousePos; -struct ImGuiInputEventMousePos { - float PosX, PosY; - ImGuiMouseSource MouseSource; -}; -typedef struct ImGuiInputEventMouseWheel ImGuiInputEventMouseWheel; -struct ImGuiInputEventMouseWheel { - float WheelX, WheelY; - ImGuiMouseSource MouseSource; -}; -typedef struct ImGuiInputEventMouseButton ImGuiInputEventMouseButton; -struct ImGuiInputEventMouseButton { - int Button; - bool Down; - ImGuiMouseSource MouseSource; -}; -typedef struct ImGuiInputEventMouseViewport ImGuiInputEventMouseViewport; -struct ImGuiInputEventMouseViewport { - ImGuiID HoveredViewportID; -}; -typedef struct ImGuiInputEventKey ImGuiInputEventKey; -struct ImGuiInputEventKey { - ImGuiKey Key; - bool Down; - float AnalogValue; -}; -typedef struct ImGuiInputEventText ImGuiInputEventText; -struct ImGuiInputEventText { - unsigned int Char; -}; -typedef struct ImGuiInputEventAppFocused ImGuiInputEventAppFocused; -struct ImGuiInputEventAppFocused { - bool Focused; -}; -typedef struct ImGuiInputEvent ImGuiInputEvent; -struct ImGuiInputEvent { - ImGuiInputEventType Type; - ImGuiInputSource Source; - ImU32 EventId; - union { - ImGuiInputEventMousePos MousePos; - ImGuiInputEventMouseWheel MouseWheel; - ImGuiInputEventMouseButton MouseButton; - ImGuiInputEventMouseViewport MouseViewport; - ImGuiInputEventKey Key; - ImGuiInputEventText Text; - ImGuiInputEventAppFocused AppFocused; - }; - bool AddedByTestEngine; -}; -typedef ImS16 ImGuiKeyRoutingIndex; -typedef struct ImGuiKeyRoutingData ImGuiKeyRoutingData; -struct ImGuiKeyRoutingData { - ImGuiKeyRoutingIndex NextEntryIndex; - ImU16 Mods; - ImU8 RoutingCurrScore; - ImU8 RoutingNextScore; - ImGuiID RoutingCurr; - ImGuiID RoutingNext; -}; -typedef struct ImGuiKeyRoutingTable ImGuiKeyRoutingTable; -typedef struct ImVector_ImGuiKeyRoutingData { - int Size; - int Capacity; - ImGuiKeyRoutingData* Data; -} ImVector_ImGuiKeyRoutingData; - -struct ImGuiKeyRoutingTable { - ImGuiKeyRoutingIndex Index[ImGuiKey_NamedKey_COUNT]; - ImVector_ImGuiKeyRoutingData Entries; - ImVector_ImGuiKeyRoutingData EntriesNext; -}; -typedef struct ImGuiKeyOwnerData ImGuiKeyOwnerData; -struct ImGuiKeyOwnerData { - ImGuiID OwnerCurr; - ImGuiID OwnerNext; - bool LockThisFrame; - bool LockUntilRelease; -}; -typedef enum { - ImGuiInputFlags_None = 0, - ImGuiInputFlags_Repeat = 1 << 0, - ImGuiInputFlags_RepeatRateDefault = 1 << 1, - ImGuiInputFlags_RepeatRateNavMove = 1 << 2, - ImGuiInputFlags_RepeatRateNavTweak = 1 << 3, - ImGuiInputFlags_RepeatUntilRelease = 1 << 4, - ImGuiInputFlags_RepeatUntilKeyModsChange = 1 << 5, - ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone = 1 << 6, - ImGuiInputFlags_RepeatUntilOtherKeyPress = 1 << 7, - ImGuiInputFlags_CondHovered = 1 << 8, - ImGuiInputFlags_CondActive = 1 << 9, - ImGuiInputFlags_CondDefault_ = - ImGuiInputFlags_CondHovered | ImGuiInputFlags_CondActive, - ImGuiInputFlags_LockThisFrame = 1 << 10, - ImGuiInputFlags_LockUntilRelease = 1 << 11, - ImGuiInputFlags_RouteFocused = 1 << 12, - ImGuiInputFlags_RouteGlobalLow = 1 << 13, - ImGuiInputFlags_RouteGlobal = 1 << 14, - ImGuiInputFlags_RouteGlobalHigh = 1 << 15, - ImGuiInputFlags_RouteAlways = 1 << 16, - ImGuiInputFlags_RouteUnlessBgFocused = 1 << 17, - ImGuiInputFlags_RepeatRateMask_ = ImGuiInputFlags_RepeatRateDefault | - ImGuiInputFlags_RepeatRateNavMove | - ImGuiInputFlags_RepeatRateNavTweak, - ImGuiInputFlags_RepeatUntilMask_ = - ImGuiInputFlags_RepeatUntilRelease | - ImGuiInputFlags_RepeatUntilKeyModsChange | - ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone | - ImGuiInputFlags_RepeatUntilOtherKeyPress, - ImGuiInputFlags_RepeatMask_ = ImGuiInputFlags_Repeat | - ImGuiInputFlags_RepeatRateMask_ | - ImGuiInputFlags_RepeatUntilMask_, - ImGuiInputFlags_CondMask_ = - ImGuiInputFlags_CondHovered | ImGuiInputFlags_CondActive, - ImGuiInputFlags_RouteMask_ = - ImGuiInputFlags_RouteFocused | ImGuiInputFlags_RouteGlobal | - ImGuiInputFlags_RouteGlobalLow | ImGuiInputFlags_RouteGlobalHigh, - ImGuiInputFlags_SupportedByIsKeyPressed = ImGuiInputFlags_RepeatMask_, - ImGuiInputFlags_SupportedByIsMouseClicked = ImGuiInputFlags_Repeat, - ImGuiInputFlags_SupportedByShortcut = - ImGuiInputFlags_RepeatMask_ | ImGuiInputFlags_RouteMask_ | - ImGuiInputFlags_RouteAlways | ImGuiInputFlags_RouteUnlessBgFocused, - ImGuiInputFlags_SupportedBySetKeyOwner = - ImGuiInputFlags_LockThisFrame | ImGuiInputFlags_LockUntilRelease, - ImGuiInputFlags_SupportedBySetItemKeyOwner = - ImGuiInputFlags_SupportedBySetKeyOwner | ImGuiInputFlags_CondMask_, -} ImGuiInputFlags_; -typedef struct ImGuiListClipperRange ImGuiListClipperRange; -struct ImGuiListClipperRange { - int Min; - int Max; - bool PosToIndexConvert; - ImS8 PosToIndexOffsetMin; - ImS8 PosToIndexOffsetMax; -}; -typedef struct ImGuiListClipperData ImGuiListClipperData; -typedef struct ImVector_ImGuiListClipperRange { - int Size; - int Capacity; - ImGuiListClipperRange* Data; -} ImVector_ImGuiListClipperRange; - -struct ImGuiListClipperData { - ImGuiListClipper* ListClipper; - float LossynessOffset; - int StepNo; - int ItemsFrozen; - ImVector_ImGuiListClipperRange Ranges; -}; -typedef enum { - ImGuiActivateFlags_None = 0, - ImGuiActivateFlags_PreferInput = 1 << 0, - ImGuiActivateFlags_PreferTweak = 1 << 1, - ImGuiActivateFlags_TryToPreserveState = 1 << 2, - ImGuiActivateFlags_FromTabbing = 1 << 3, - ImGuiActivateFlags_FromShortcut = 1 << 4, -} ImGuiActivateFlags_; -typedef enum { - ImGuiScrollFlags_None = 0, - ImGuiScrollFlags_KeepVisibleEdgeX = 1 << 0, - ImGuiScrollFlags_KeepVisibleEdgeY = 1 << 1, - ImGuiScrollFlags_KeepVisibleCenterX = 1 << 2, - ImGuiScrollFlags_KeepVisibleCenterY = 1 << 3, - ImGuiScrollFlags_AlwaysCenterX = 1 << 4, - ImGuiScrollFlags_AlwaysCenterY = 1 << 5, - ImGuiScrollFlags_NoScrollParent = 1 << 6, - ImGuiScrollFlags_MaskX_ = ImGuiScrollFlags_KeepVisibleEdgeX | - ImGuiScrollFlags_KeepVisibleCenterX | - ImGuiScrollFlags_AlwaysCenterX, - ImGuiScrollFlags_MaskY_ = ImGuiScrollFlags_KeepVisibleEdgeY | - ImGuiScrollFlags_KeepVisibleCenterY | - ImGuiScrollFlags_AlwaysCenterY, -} ImGuiScrollFlags_; -typedef enum { - ImGuiNavHighlightFlags_None = 0, - ImGuiNavHighlightFlags_Compact = 1 << 1, - ImGuiNavHighlightFlags_AlwaysDraw = 1 << 2, - ImGuiNavHighlightFlags_NoRounding = 1 << 3, -} ImGuiNavHighlightFlags_; -typedef enum { - ImGuiNavMoveFlags_None = 0, - ImGuiNavMoveFlags_LoopX = 1 << 0, - ImGuiNavMoveFlags_LoopY = 1 << 1, - ImGuiNavMoveFlags_WrapX = 1 << 2, - ImGuiNavMoveFlags_WrapY = 1 << 3, - ImGuiNavMoveFlags_WrapMask_ = - ImGuiNavMoveFlags_LoopX | ImGuiNavMoveFlags_LoopY | - ImGuiNavMoveFlags_WrapX | ImGuiNavMoveFlags_WrapY, - ImGuiNavMoveFlags_AllowCurrentNavId = 1 << 4, - ImGuiNavMoveFlags_AlsoScoreVisibleSet = 1 << 5, - ImGuiNavMoveFlags_ScrollToEdgeY = 1 << 6, - ImGuiNavMoveFlags_Forwarded = 1 << 7, - ImGuiNavMoveFlags_DebugNoResult = 1 << 8, - ImGuiNavMoveFlags_FocusApi = 1 << 9, - ImGuiNavMoveFlags_IsTabbing = 1 << 10, - ImGuiNavMoveFlags_IsPageMove = 1 << 11, - ImGuiNavMoveFlags_Activate = 1 << 12, - ImGuiNavMoveFlags_NoSelect = 1 << 13, - ImGuiNavMoveFlags_NoSetNavHighlight = 1 << 14, - ImGuiNavMoveFlags_NoClearActiveId = 1 << 15, -} ImGuiNavMoveFlags_; -typedef enum { - ImGuiNavLayer_Main = 0, - ImGuiNavLayer_Menu = 1, - ImGuiNavLayer_COUNT -} ImGuiNavLayer; -struct ImGuiNavItemData { - ImGuiWindow* Window; - ImGuiID ID; - ImGuiID FocusScopeId; - ImRect RectRel; - ImGuiItemFlags InFlags; - float DistBox; - float DistCenter; - float DistAxial; - ImGuiSelectionUserData SelectionUserData; -}; -typedef struct ImGuiFocusScopeData ImGuiFocusScopeData; -struct ImGuiFocusScopeData { - ImGuiID ID; - ImGuiID WindowID; -}; -typedef enum { - ImGuiTypingSelectFlags_None = 0, - ImGuiTypingSelectFlags_AllowBackspace = 1 << 0, - ImGuiTypingSelectFlags_AllowSingleCharMode = 1 << 1, -} ImGuiTypingSelectFlags_; -struct ImGuiTypingSelectRequest { - ImGuiTypingSelectFlags Flags; - int SearchBufferLen; - const char* SearchBuffer; - bool SelectRequest; - bool SingleCharMode; - ImS8 SingleCharSize; -}; -struct ImGuiTypingSelectState { - ImGuiTypingSelectRequest Request; - char SearchBuffer[64]; - ImGuiID FocusScope; - int LastRequestFrame; - float LastRequestTime; - bool SingleCharModeLock; -}; -typedef enum { - ImGuiOldColumnFlags_None = 0, - ImGuiOldColumnFlags_NoBorder = 1 << 0, - ImGuiOldColumnFlags_NoResize = 1 << 1, - ImGuiOldColumnFlags_NoPreserveWidths = 1 << 2, - ImGuiOldColumnFlags_NoForceWithinWindow = 1 << 3, - ImGuiOldColumnFlags_GrowParentContentsSize = 1 << 4, -} ImGuiOldColumnFlags_; -struct ImGuiOldColumnData { - float OffsetNorm; - float OffsetNormBeforeResize; - ImGuiOldColumnFlags Flags; - ImRect ClipRect; -}; -typedef struct ImVector_ImGuiOldColumnData { - int Size; - int Capacity; - ImGuiOldColumnData* Data; -} ImVector_ImGuiOldColumnData; - -struct ImGuiOldColumns { - ImGuiID ID; - ImGuiOldColumnFlags Flags; - bool IsFirstFrame; - bool IsBeingResized; - int Current; - int Count; - float OffMinX, OffMaxX; - float LineMinY, LineMaxY; - float HostCursorPosY; - float HostCursorMaxPosX; - ImRect HostInitialClipRect; - ImRect HostBackupClipRect; - ImRect HostBackupParentWorkRect; - ImVector_ImGuiOldColumnData Columns; - ImDrawListSplitter Splitter; -}; -typedef enum { - ImGuiDockNodeFlags_DockSpace = 1 << 10, - ImGuiDockNodeFlags_CentralNode = 1 << 11, - ImGuiDockNodeFlags_NoTabBar = 1 << 12, - ImGuiDockNodeFlags_HiddenTabBar = 1 << 13, - ImGuiDockNodeFlags_NoWindowMenuButton = 1 << 14, - ImGuiDockNodeFlags_NoCloseButton = 1 << 15, - ImGuiDockNodeFlags_NoResizeX = 1 << 16, - ImGuiDockNodeFlags_NoResizeY = 1 << 17, - ImGuiDockNodeFlags_DockedWindowsInFocusRoute = 1 << 18, - ImGuiDockNodeFlags_NoDockingSplitOther = 1 << 19, - ImGuiDockNodeFlags_NoDockingOverMe = 1 << 20, - ImGuiDockNodeFlags_NoDockingOverOther = 1 << 21, - ImGuiDockNodeFlags_NoDockingOverEmpty = 1 << 22, - ImGuiDockNodeFlags_NoDocking = ImGuiDockNodeFlags_NoDockingOverMe | - ImGuiDockNodeFlags_NoDockingOverOther | - ImGuiDockNodeFlags_NoDockingOverEmpty | - ImGuiDockNodeFlags_NoDockingSplit | - ImGuiDockNodeFlags_NoDockingSplitOther, - ImGuiDockNodeFlags_SharedFlagsInheritMask_ = ~0, - ImGuiDockNodeFlags_NoResizeFlagsMask_ = ImGuiDockNodeFlags_NoResize | - ImGuiDockNodeFlags_NoResizeX | - ImGuiDockNodeFlags_NoResizeY, - ImGuiDockNodeFlags_LocalFlagsTransferMask_ = - ImGuiDockNodeFlags_NoDockingSplit | - ImGuiDockNodeFlags_NoResizeFlagsMask_ | - ImGuiDockNodeFlags_AutoHideTabBar | ImGuiDockNodeFlags_CentralNode | - ImGuiDockNodeFlags_NoTabBar | ImGuiDockNodeFlags_HiddenTabBar | - ImGuiDockNodeFlags_NoWindowMenuButton | ImGuiDockNodeFlags_NoCloseButton, - ImGuiDockNodeFlags_SavedFlagsMask_ = - ImGuiDockNodeFlags_NoResizeFlagsMask_ | ImGuiDockNodeFlags_DockSpace | - ImGuiDockNodeFlags_CentralNode | ImGuiDockNodeFlags_NoTabBar | - ImGuiDockNodeFlags_HiddenTabBar | ImGuiDockNodeFlags_NoWindowMenuButton | - ImGuiDockNodeFlags_NoCloseButton, -} ImGuiDockNodeFlagsPrivate_; -typedef enum { - ImGuiDataAuthority_Auto, - ImGuiDataAuthority_DockNode, - ImGuiDataAuthority_Window, -} ImGuiDataAuthority_; -typedef enum { - ImGuiDockNodeState_Unknown, - ImGuiDockNodeState_HostWindowHiddenBecauseSingleWindow, - ImGuiDockNodeState_HostWindowHiddenBecauseWindowsAreResizing, - ImGuiDockNodeState_HostWindowVisible, -} ImGuiDockNodeState; -typedef struct ImVector_ImGuiWindowPtr { - int Size; - int Capacity; - ImGuiWindow** Data; -} ImVector_ImGuiWindowPtr; - -struct ImGuiDockNode { - ImGuiID ID; - ImGuiDockNodeFlags SharedFlags; - ImGuiDockNodeFlags LocalFlags; - ImGuiDockNodeFlags LocalFlagsInWindows; - ImGuiDockNodeFlags MergedFlags; - ImGuiDockNodeState State; - ImGuiDockNode* ParentNode; - ImGuiDockNode* ChildNodes[2]; - ImVector_ImGuiWindowPtr Windows; - ImGuiTabBar* TabBar; - ImVec2 Pos; - ImVec2 Size; - ImVec2 SizeRef; - ImGuiAxis SplitAxis; - ImGuiWindowClass WindowClass; - ImU32 LastBgColor; - ImGuiWindow* HostWindow; - ImGuiWindow* VisibleWindow; - ImGuiDockNode* CentralNode; - ImGuiDockNode* OnlyNodeWithWindows; - int CountNodeWithWindows; - int LastFrameAlive; - int LastFrameActive; - int LastFrameFocused; - ImGuiID LastFocusedNodeId; - ImGuiID SelectedTabId; - ImGuiID WantCloseTabId; - ImGuiID RefViewportId; - ImGuiDataAuthority AuthorityForPos : 3; - ImGuiDataAuthority AuthorityForSize : 3; - ImGuiDataAuthority AuthorityForViewport : 3; - bool IsVisible : 1; - bool IsFocused : 1; - bool IsBgDrawnThisFrame : 1; - bool HasCloseButton : 1; - bool HasWindowMenuButton : 1; - bool HasCentralNodeChild : 1; - bool WantCloseAll : 1; - bool WantLockSizeOnce : 1; - bool WantMouseMove : 1; - bool WantHiddenTabBarUpdate : 1; - bool WantHiddenTabBarToggle : 1; -}; -typedef enum { - ImGuiWindowDockStyleCol_Text, - ImGuiWindowDockStyleCol_Tab, - ImGuiWindowDockStyleCol_TabHovered, - ImGuiWindowDockStyleCol_TabActive, - ImGuiWindowDockStyleCol_TabUnfocused, - ImGuiWindowDockStyleCol_TabUnfocusedActive, - ImGuiWindowDockStyleCol_COUNT -} ImGuiWindowDockStyleCol; -struct ImGuiWindowDockStyle { - ImU32 Colors[ImGuiWindowDockStyleCol_COUNT]; -}; -typedef struct ImVector_ImGuiDockRequest { - int Size; - int Capacity; - ImGuiDockRequest* Data; -} ImVector_ImGuiDockRequest; - -typedef struct ImVector_ImGuiDockNodeSettings { - int Size; - int Capacity; - ImGuiDockNodeSettings* Data; -} ImVector_ImGuiDockNodeSettings; - -struct ImGuiDockContext { - ImGuiStorage Nodes; - ImVector_ImGuiDockRequest Requests; - ImVector_ImGuiDockNodeSettings NodesSettings; - bool WantFullRebuild; -}; -typedef struct ImGuiViewportP ImGuiViewportP; -struct ImGuiViewportP { - ImGuiViewport _ImGuiViewport; - ImGuiWindow* Window; - int Idx; - int LastFrameActive; - int LastFocusedStampCount; - ImGuiID LastNameHash; - ImVec2 LastPos; - float Alpha; - float LastAlpha; - bool LastFocusedHadNavWindow; - short PlatformMonitor; - int BgFgDrawListsLastFrame[2]; - ImDrawList* BgFgDrawLists[2]; - ImDrawData DrawDataP; - ImDrawDataBuilder DrawDataBuilder; - ImVec2 LastPlatformPos; - ImVec2 LastPlatformSize; - ImVec2 LastRendererSize; - ImVec2 WorkOffsetMin; - ImVec2 WorkOffsetMax; - ImVec2 BuildWorkOffsetMin; - ImVec2 BuildWorkOffsetMax; -}; -struct ImGuiWindowSettings { - ImGuiID ID; - ImVec2ih Pos; - ImVec2ih Size; - ImVec2ih ViewportPos; - ImGuiID ViewportId; - ImGuiID DockId; - ImGuiID ClassId; - short DockOrder; - bool Collapsed; - bool IsChild; - bool WantApply; - bool WantDelete; -}; -struct ImGuiSettingsHandler { - const char* TypeName; - ImGuiID TypeHash; - void (*ClearAllFn)(ImGuiContext* ctx, ImGuiSettingsHandler* handler); - void (*ReadInitFn)(ImGuiContext* ctx, ImGuiSettingsHandler* handler); - void* (*ReadOpenFn)(ImGuiContext* ctx, - ImGuiSettingsHandler* handler, - const char* name); - void (*ReadLineFn)(ImGuiContext* ctx, - ImGuiSettingsHandler* handler, - void* entry, - const char* line); - void (*ApplyAllFn)(ImGuiContext* ctx, ImGuiSettingsHandler* handler); - void (*WriteAllFn)(ImGuiContext* ctx, - ImGuiSettingsHandler* handler, - ImGuiTextBuffer* out_buf); - void* UserData; -}; -typedef enum { - ImGuiLocKey_VersionStr = 0, - ImGuiLocKey_TableSizeOne = 1, - ImGuiLocKey_TableSizeAllFit = 2, - ImGuiLocKey_TableSizeAllDefault = 3, - ImGuiLocKey_TableResetOrder = 4, - ImGuiLocKey_WindowingMainMenuBar = 5, - ImGuiLocKey_WindowingPopup = 6, - ImGuiLocKey_WindowingUntitled = 7, - ImGuiLocKey_DockingHideTabBar = 8, - ImGuiLocKey_DockingHoldShiftToDock = 9, - ImGuiLocKey_DockingDragToUndockOrMoveNode = 10, - ImGuiLocKey_COUNT = 11, -} ImGuiLocKey; -struct ImGuiLocEntry { - ImGuiLocKey Key; - const char* Text; -}; -typedef enum { - ImGuiDebugLogFlags_None = 0, - ImGuiDebugLogFlags_EventActiveId = 1 << 0, - ImGuiDebugLogFlags_EventFocus = 1 << 1, - ImGuiDebugLogFlags_EventPopup = 1 << 2, - ImGuiDebugLogFlags_EventNav = 1 << 3, - ImGuiDebugLogFlags_EventClipper = 1 << 4, - ImGuiDebugLogFlags_EventSelection = 1 << 5, - ImGuiDebugLogFlags_EventIO = 1 << 6, - ImGuiDebugLogFlags_EventInputRouting = 1 << 7, - ImGuiDebugLogFlags_EventDocking = 1 << 8, - ImGuiDebugLogFlags_EventViewport = 1 << 9, - ImGuiDebugLogFlags_EventMask_ = - ImGuiDebugLogFlags_EventActiveId | ImGuiDebugLogFlags_EventFocus | - ImGuiDebugLogFlags_EventPopup | ImGuiDebugLogFlags_EventNav | - ImGuiDebugLogFlags_EventClipper | ImGuiDebugLogFlags_EventSelection | - ImGuiDebugLogFlags_EventIO | ImGuiDebugLogFlags_EventInputRouting | - ImGuiDebugLogFlags_EventDocking | ImGuiDebugLogFlags_EventViewport, - ImGuiDebugLogFlags_OutputToTTY = 1 << 20, - ImGuiDebugLogFlags_OutputToTestEngine = 1 << 21, -} ImGuiDebugLogFlags_; -typedef struct ImGuiDebugAllocEntry ImGuiDebugAllocEntry; -struct ImGuiDebugAllocEntry { - int FrameCount; - ImS16 AllocCount; - ImS16 FreeCount; -}; -typedef struct ImGuiDebugAllocInfo ImGuiDebugAllocInfo; -struct ImGuiDebugAllocInfo { - int TotalAllocCount; - int TotalFreeCount; - ImS16 LastEntriesIdx; - ImGuiDebugAllocEntry LastEntriesBuf[6]; -}; -struct ImGuiMetricsConfig { - bool ShowDebugLog; - bool ShowIDStackTool; - bool ShowWindowsRects; - bool ShowWindowsBeginOrder; - bool ShowTablesRects; - bool ShowDrawCmdMesh; - bool ShowDrawCmdBoundingBoxes; - bool ShowTextEncodingViewer; - bool ShowAtlasTintedWithTextColor; - bool ShowDockingNodes; - int ShowWindowsRectsType; - int ShowTablesRectsType; - int HighlightMonitorIdx; - ImGuiID HighlightViewportID; -}; -typedef struct ImGuiStackLevelInfo ImGuiStackLevelInfo; -struct ImGuiStackLevelInfo { - ImGuiID ID; - ImS8 QueryFrameCount; - bool QuerySuccess; - ImGuiDataType DataType : 8; - char Desc[57]; -}; -typedef struct ImGuiIDStackTool ImGuiIDStackTool; -typedef struct ImVector_ImGuiStackLevelInfo { - int Size; - int Capacity; - ImGuiStackLevelInfo* Data; -} ImVector_ImGuiStackLevelInfo; - -struct ImGuiIDStackTool { - int LastActiveFrame; - int StackLevel; - ImGuiID QueryId; - ImVector_ImGuiStackLevelInfo Results; - bool CopyToClipboardOnCtrlC; - float CopyToClipboardLastTime; -}; -typedef void (*ImGuiContextHookCallback)(ImGuiContext* ctx, - ImGuiContextHook* hook); -typedef enum { - ImGuiContextHookType_NewFramePre, - ImGuiContextHookType_NewFramePost, - ImGuiContextHookType_EndFramePre, - ImGuiContextHookType_EndFramePost, - ImGuiContextHookType_RenderPre, - ImGuiContextHookType_RenderPost, - ImGuiContextHookType_Shutdown, - ImGuiContextHookType_PendingRemoval_ -} ImGuiContextHookType; -struct ImGuiContextHook { - ImGuiID HookId; - ImGuiContextHookType Type; - ImGuiID Owner; - ImGuiContextHookCallback Callback; - void* UserData; -}; -typedef struct ImVector_ImGuiInputEvent { - int Size; - int Capacity; - ImGuiInputEvent* Data; -} ImVector_ImGuiInputEvent; - -typedef struct ImVector_ImGuiWindowStackData { - int Size; - int Capacity; - ImGuiWindowStackData* Data; -} ImVector_ImGuiWindowStackData; - -typedef struct ImVector_ImGuiColorMod { - int Size; - int Capacity; - ImGuiColorMod* Data; -} ImVector_ImGuiColorMod; - -typedef struct ImVector_ImGuiStyleMod { - int Size; - int Capacity; - ImGuiStyleMod* Data; -} ImVector_ImGuiStyleMod; - -typedef struct ImVector_ImGuiFocusScopeData { - int Size; - int Capacity; - ImGuiFocusScopeData* Data; -} ImVector_ImGuiFocusScopeData; - -typedef struct ImVector_ImGuiItemFlags { - int Size; - int Capacity; - ImGuiItemFlags* Data; -} ImVector_ImGuiItemFlags; - -typedef struct ImVector_ImGuiGroupData { - int Size; - int Capacity; - ImGuiGroupData* Data; -} ImVector_ImGuiGroupData; - -typedef struct ImVector_ImGuiPopupData { - int Size; - int Capacity; - ImGuiPopupData* Data; -} ImVector_ImGuiPopupData; - -typedef struct ImVector_ImGuiNavTreeNodeData { - int Size; - int Capacity; - ImGuiNavTreeNodeData* Data; -} ImVector_ImGuiNavTreeNodeData; - -typedef struct ImVector_ImGuiViewportPPtr { - int Size; - int Capacity; - ImGuiViewportP** Data; -} ImVector_ImGuiViewportPPtr; - -typedef struct ImVector_unsigned_char { - int Size; - int Capacity; - unsigned char* Data; -} ImVector_unsigned_char; - -typedef struct ImVector_ImGuiListClipperData { - int Size; - int Capacity; - ImGuiListClipperData* Data; -} ImVector_ImGuiListClipperData; - -typedef struct ImVector_ImGuiTableTempData { - int Size; - int Capacity; - ImGuiTableTempData* Data; -} ImVector_ImGuiTableTempData; - -typedef struct ImVector_ImGuiTable { - int Size; - int Capacity; - ImGuiTable* Data; -} ImVector_ImGuiTable; - -typedef struct ImPool_ImGuiTable { - ImVector_ImGuiTable Buf; - ImGuiStorage Map; - ImPoolIdx FreeIdx; - ImPoolIdx AliveCount; -} ImPool_ImGuiTable; - -typedef struct ImVector_ImGuiTabBar { - int Size; - int Capacity; - ImGuiTabBar* Data; -} ImVector_ImGuiTabBar; - -typedef struct ImPool_ImGuiTabBar { - ImVector_ImGuiTabBar Buf; - ImGuiStorage Map; - ImPoolIdx FreeIdx; - ImPoolIdx AliveCount; -} ImPool_ImGuiTabBar; - -typedef struct ImVector_ImGuiPtrOrIndex { - int Size; - int Capacity; - ImGuiPtrOrIndex* Data; -} ImVector_ImGuiPtrOrIndex; - -typedef struct ImVector_ImGuiShrinkWidthItem { - int Size; - int Capacity; - ImGuiShrinkWidthItem* Data; -} ImVector_ImGuiShrinkWidthItem; - -typedef struct ImVector_ImGuiID { - int Size; - int Capacity; - ImGuiID* Data; -} ImVector_ImGuiID; - -typedef struct ImVector_ImGuiSettingsHandler { - int Size; - int Capacity; - ImGuiSettingsHandler* Data; -} ImVector_ImGuiSettingsHandler; - -typedef struct ImChunkStream_ImGuiWindowSettings { - ImVector_char Buf; -} ImChunkStream_ImGuiWindowSettings; - -typedef struct ImChunkStream_ImGuiTableSettings { - ImVector_char Buf; -} ImChunkStream_ImGuiTableSettings; - -typedef struct ImVector_ImGuiContextHook { - int Size; - int Capacity; - ImGuiContextHook* Data; -} ImVector_ImGuiContextHook; - -struct ImGuiContext { - bool Initialized; - bool FontAtlasOwnedByContext; - ImGuiIO IO; - ImGuiPlatformIO PlatformIO; - ImGuiStyle Style; - ImGuiConfigFlags ConfigFlagsCurrFrame; - ImGuiConfigFlags ConfigFlagsLastFrame; - ImFont* Font; - float FontSize; - float FontBaseSize; - ImDrawListSharedData DrawListSharedData; - double Time; - int FrameCount; - int FrameCountEnded; - int FrameCountPlatformEnded; - int FrameCountRendered; - bool WithinFrameScope; - bool WithinFrameScopeWithImplicitWindow; - bool WithinEndChild; - bool GcCompactAll; - bool TestEngineHookItems; - void* TestEngine; - ImVector_ImGuiInputEvent InputEventsQueue; - ImVector_ImGuiInputEvent InputEventsTrail; - ImGuiMouseSource InputEventsNextMouseSource; - ImU32 InputEventsNextEventId; - ImVector_ImGuiWindowPtr Windows; - ImVector_ImGuiWindowPtr WindowsFocusOrder; - ImVector_ImGuiWindowPtr WindowsTempSortBuffer; - ImVector_ImGuiWindowStackData CurrentWindowStack; - ImGuiStorage WindowsById; - int WindowsActiveCount; - ImVec2 WindowsHoverPadding; - ImGuiID DebugBreakInWindow; - ImGuiWindow* CurrentWindow; - ImGuiWindow* HoveredWindow; - ImGuiWindow* HoveredWindowUnderMovingWindow; - ImGuiWindow* MovingWindow; - ImGuiWindow* WheelingWindow; - ImVec2 WheelingWindowRefMousePos; - int WheelingWindowStartFrame; - int WheelingWindowScrolledFrame; - float WheelingWindowReleaseTimer; - ImVec2 WheelingWindowWheelRemainder; - ImVec2 WheelingAxisAvg; - ImGuiID DebugHookIdInfo; - ImGuiID HoveredId; - ImGuiID HoveredIdPreviousFrame; - bool HoveredIdAllowOverlap; - bool HoveredIdDisabled; - float HoveredIdTimer; - float HoveredIdNotActiveTimer; - ImGuiID ActiveId; - ImGuiID ActiveIdIsAlive; - float ActiveIdTimer; - bool ActiveIdIsJustActivated; - bool ActiveIdAllowOverlap; - bool ActiveIdNoClearOnFocusLoss; - bool ActiveIdHasBeenPressedBefore; - bool ActiveIdHasBeenEditedBefore; - bool ActiveIdHasBeenEditedThisFrame; - bool ActiveIdFromShortcut; - int ActiveIdMouseButton : 8; - ImVec2 ActiveIdClickOffset; - ImGuiWindow* ActiveIdWindow; - ImGuiInputSource ActiveIdSource; - ImGuiID ActiveIdPreviousFrame; - bool ActiveIdPreviousFrameIsAlive; - bool ActiveIdPreviousFrameHasBeenEditedBefore; - ImGuiWindow* ActiveIdPreviousFrameWindow; - ImGuiID LastActiveId; - float LastActiveIdTimer; - double LastKeyModsChangeTime; - double LastKeyModsChangeFromNoneTime; - double LastKeyboardKeyPressTime; - ImBitArrayForNamedKeys KeysMayBeCharInput; - ImGuiKeyOwnerData KeysOwnerData[ImGuiKey_NamedKey_COUNT]; - ImGuiKeyRoutingTable KeysRoutingTable; - ImU32 ActiveIdUsingNavDirMask; - bool ActiveIdUsingAllKeyboardKeys; - ImGuiKeyChord DebugBreakInShortcutRouting; - ImGuiID CurrentFocusScopeId; - ImGuiItemFlags CurrentItemFlags; - ImGuiID DebugLocateId; - ImGuiNextItemData NextItemData; - ImGuiLastItemData LastItemData; - ImGuiNextWindowData NextWindowData; - bool DebugShowGroupRects; - ImGuiCol DebugFlashStyleColorIdx; - ImVector_ImGuiColorMod ColorStack; - ImVector_ImGuiStyleMod StyleVarStack; - ImVector_ImFontPtr FontStack; - ImVector_ImGuiFocusScopeData FocusScopeStack; - ImVector_ImGuiItemFlags ItemFlagsStack; - ImVector_ImGuiGroupData GroupStack; - ImVector_ImGuiPopupData OpenPopupStack; - ImVector_ImGuiPopupData BeginPopupStack; - ImVector_ImGuiNavTreeNodeData NavTreeNodeStack; - ImVector_ImGuiViewportPPtr Viewports; - float CurrentDpiScale; - ImGuiViewportP* CurrentViewport; - ImGuiViewportP* MouseViewport; - ImGuiViewportP* MouseLastHoveredViewport; - ImGuiID PlatformLastFocusedViewportId; - ImGuiPlatformMonitor FallbackMonitor; - ImRect PlatformMonitorsFullWorkRect; - int ViewportCreatedCount; - int PlatformWindowsCreatedCount; - int ViewportFocusedStampCount; - ImGuiWindow* NavWindow; - ImGuiID NavId; - ImGuiID NavFocusScopeId; - ImVector_ImGuiFocusScopeData NavFocusRoute; - ImGuiID NavActivateId; - ImGuiID NavActivateDownId; - ImGuiID NavActivatePressedId; - ImGuiActivateFlags NavActivateFlags; - ImGuiID NavHighlightActivatedId; - float NavHighlightActivatedTimer; - ImGuiID NavJustMovedToId; - ImGuiID NavJustMovedToFocusScopeId; - ImGuiKeyChord NavJustMovedToKeyMods; - ImGuiID NavNextActivateId; - ImGuiActivateFlags NavNextActivateFlags; - ImGuiInputSource NavInputSource; - ImGuiNavLayer NavLayer; - ImGuiSelectionUserData NavLastValidSelectionUserData; - bool NavIdIsAlive; - bool NavMousePosDirty; - bool NavDisableHighlight; - bool NavDisableMouseHover; - bool NavAnyRequest; - bool NavInitRequest; - bool NavInitRequestFromMove; - ImGuiNavItemData NavInitResult; - bool NavMoveSubmitted; - bool NavMoveScoringItems; - bool NavMoveForwardToNextFrame; - ImGuiNavMoveFlags NavMoveFlags; - ImGuiScrollFlags NavMoveScrollFlags; - ImGuiKeyChord NavMoveKeyMods; - ImGuiDir NavMoveDir; - ImGuiDir NavMoveDirForDebug; - ImGuiDir NavMoveClipDir; - ImRect NavScoringRect; - ImRect NavScoringNoClipRect; - int NavScoringDebugCount; - int NavTabbingDir; - int NavTabbingCounter; - ImGuiNavItemData NavMoveResultLocal; - ImGuiNavItemData NavMoveResultLocalVisible; - ImGuiNavItemData NavMoveResultOther; - ImGuiNavItemData NavTabbingResultFirst; - ImGuiKeyChord ConfigNavWindowingKeyNext; - ImGuiKeyChord ConfigNavWindowingKeyPrev; - ImGuiWindow* NavWindowingTarget; - ImGuiWindow* NavWindowingTargetAnim; - ImGuiWindow* NavWindowingListWindow; - float NavWindowingTimer; - float NavWindowingHighlightAlpha; - bool NavWindowingToggleLayer; - ImGuiKey NavWindowingToggleKey; - ImVec2 NavWindowingAccumDeltaPos; - ImVec2 NavWindowingAccumDeltaSize; - float DimBgRatio; - bool DragDropActive; - bool DragDropWithinSource; - bool DragDropWithinTarget; - ImGuiDragDropFlags DragDropSourceFlags; - int DragDropSourceFrameCount; - int DragDropMouseButton; - ImGuiPayload DragDropPayload; - ImRect DragDropTargetRect; - ImRect DragDropTargetClipRect; - ImGuiID DragDropTargetId; - ImGuiDragDropFlags DragDropAcceptFlags; - float DragDropAcceptIdCurrRectSurface; - ImGuiID DragDropAcceptIdCurr; - ImGuiID DragDropAcceptIdPrev; - int DragDropAcceptFrameCount; - ImGuiID DragDropHoldJustPressedId; - ImVector_unsigned_char DragDropPayloadBufHeap; - unsigned char DragDropPayloadBufLocal[16]; - int ClipperTempDataStacked; - ImVector_ImGuiListClipperData ClipperTempData; - ImGuiTable* CurrentTable; - ImGuiID DebugBreakInTable; - int TablesTempDataStacked; - ImVector_ImGuiTableTempData TablesTempData; - ImPool_ImGuiTable Tables; - ImVector_float TablesLastTimeActive; - ImVector_ImDrawChannel DrawChannelsTempMergeBuffer; - ImGuiTabBar* CurrentTabBar; - ImPool_ImGuiTabBar TabBars; - ImVector_ImGuiPtrOrIndex CurrentTabBarStack; - ImVector_ImGuiShrinkWidthItem ShrinkWidthBuffer; - ImGuiID HoverItemDelayId; - ImGuiID HoverItemDelayIdPreviousFrame; - float HoverItemDelayTimer; - float HoverItemDelayClearTimer; - ImGuiID HoverItemUnlockedStationaryId; - ImGuiID HoverWindowUnlockedStationaryId; - ImGuiMouseCursor MouseCursor; - float MouseStationaryTimer; - ImVec2 MouseLastValidPos; - ImGuiInputTextState InputTextState; - ImGuiInputTextDeactivatedState InputTextDeactivatedState; - ImFont InputTextPasswordFont; - ImGuiID TempInputId; - int BeginMenuDepth; - int BeginComboDepth; - ImGuiColorEditFlags ColorEditOptions; - ImGuiID ColorEditCurrentID; - ImGuiID ColorEditSavedID; - float ColorEditSavedHue; - float ColorEditSavedSat; - ImU32 ColorEditSavedColor; - ImVec4 ColorPickerRef; - ImGuiComboPreviewData ComboPreviewData; - ImRect WindowResizeBorderExpectedRect; - bool WindowResizeRelativeMode; - float SliderGrabClickOffset; - float SliderCurrentAccum; - bool SliderCurrentAccumDirty; - bool DragCurrentAccumDirty; - float DragCurrentAccum; - float DragSpeedDefaultRatio; - float ScrollbarClickDeltaToGrabCenter; - float DisabledAlphaBackup; - short DisabledStackSize; - short LockMarkEdited; - short TooltipOverrideCount; - ImVector_char ClipboardHandlerData; - ImVector_ImGuiID MenusIdSubmittedThisFrame; - ImGuiTypingSelectState TypingSelectState; - ImGuiPlatformImeData PlatformImeData; - ImGuiPlatformImeData PlatformImeDataPrev; - ImGuiID PlatformImeViewport; - ImGuiDockContext DockContext; - void (*DockNodeWindowMenuHandler)(ImGuiContext* ctx, - ImGuiDockNode* node, - ImGuiTabBar* tab_bar); - bool SettingsLoaded; - float SettingsDirtyTimer; - ImGuiTextBuffer SettingsIniData; - ImVector_ImGuiSettingsHandler SettingsHandlers; - ImChunkStream_ImGuiWindowSettings SettingsWindows; - ImChunkStream_ImGuiTableSettings SettingsTables; - ImVector_ImGuiContextHook Hooks; - ImGuiID HookIdNext; - const char* LocalizationTable[ImGuiLocKey_COUNT]; - bool LogEnabled; - ImGuiLogType LogType; - ImFileHandle LogFile; - ImGuiTextBuffer LogBuffer; - const char* LogNextPrefix; - const char* LogNextSuffix; - float LogLinePosY; - bool LogLineFirstItem; - int LogDepthRef; - int LogDepthToExpand; - int LogDepthToExpandDefault; - ImGuiDebugLogFlags DebugLogFlags; - ImGuiTextBuffer DebugLogBuf; - ImGuiTextIndex DebugLogIndex; - ImGuiDebugLogFlags DebugLogAutoDisableFlags; - ImU8 DebugLogAutoDisableFrames; - ImU8 DebugLocateFrames; - bool DebugBreakInLocateId; - ImGuiKeyChord DebugBreakKeyChord; - ImS8 DebugBeginReturnValueCullDepth; - bool DebugItemPickerActive; - ImU8 DebugItemPickerMouseButton; - ImGuiID DebugItemPickerBreakId; - float DebugFlashStyleColorTime; - ImVec4 DebugFlashStyleColorBackup; - ImGuiMetricsConfig DebugMetricsConfig; - ImGuiIDStackTool DebugIDStackTool; - ImGuiDebugAllocInfo DebugAllocInfo; - ImGuiDockNode* DebugHoveredDockNode; - float FramerateSecPerFrame[60]; - int FramerateSecPerFrameIdx; - int FramerateSecPerFrameCount; - float FramerateSecPerFrameAccum; - int WantCaptureMouseNextFrame; - int WantCaptureKeyboardNextFrame; - int WantTextInputNextFrame; - ImVector_char TempBuffer; - char TempKeychordName[64]; -}; -struct ImGuiWindowTempData { - ImVec2 CursorPos; - ImVec2 CursorPosPrevLine; - ImVec2 CursorStartPos; - ImVec2 CursorMaxPos; - ImVec2 IdealMaxPos; - ImVec2 CurrLineSize; - ImVec2 PrevLineSize; - float CurrLineTextBaseOffset; - float PrevLineTextBaseOffset; - bool IsSameLine; - bool IsSetPos; - ImVec1 Indent; - ImVec1 ColumnsOffset; - ImVec1 GroupOffset; - ImVec2 CursorStartPosLossyness; - ImGuiNavLayer NavLayerCurrent; - short NavLayersActiveMask; - short NavLayersActiveMaskNext; - bool NavIsScrollPushableX; - bool NavHideHighlightOneFrame; - bool NavWindowHasScrollY; - bool MenuBarAppending; - ImVec2 MenuBarOffset; - ImGuiMenuColumns MenuColumns; - int TreeDepth; - ImU32 TreeJumpToParentOnPopMask; - ImVector_ImGuiWindowPtr ChildWindows; - ImGuiStorage* StateStorage; - ImGuiOldColumns* CurrentColumns; - int CurrentTableIdx; - ImGuiLayoutType LayoutType; - ImGuiLayoutType ParentLayoutType; - ImU32 ModalDimBgColor; - float ItemWidth; - float TextWrapPos; - ImVector_float ItemWidthStack; - ImVector_float TextWrapPosStack; -}; -typedef struct ImVector_ImGuiOldColumns { - int Size; - int Capacity; - ImGuiOldColumns* Data; -} ImVector_ImGuiOldColumns; - -struct ImGuiWindow { - ImGuiContext* Ctx; - char* Name; - ImGuiID ID; - ImGuiWindowFlags Flags, FlagsPreviousFrame; - ImGuiChildFlags ChildFlags; - ImGuiWindowClass WindowClass; - ImGuiViewportP* Viewport; - ImGuiID ViewportId; - ImVec2 ViewportPos; - int ViewportAllowPlatformMonitorExtend; - ImVec2 Pos; - ImVec2 Size; - ImVec2 SizeFull; - ImVec2 ContentSize; - ImVec2 ContentSizeIdeal; - ImVec2 ContentSizeExplicit; - ImVec2 WindowPadding; - float WindowRounding; - float WindowBorderSize; - float DecoOuterSizeX1, DecoOuterSizeY1; - float DecoOuterSizeX2, DecoOuterSizeY2; - float DecoInnerSizeX1, DecoInnerSizeY1; - int NameBufLen; - ImGuiID MoveId; - ImGuiID TabId; - ImGuiID ChildId; - ImVec2 Scroll; - ImVec2 ScrollMax; - ImVec2 ScrollTarget; - ImVec2 ScrollTargetCenterRatio; - ImVec2 ScrollTargetEdgeSnapDist; - ImVec2 ScrollbarSizes; - bool ScrollbarX, ScrollbarY; - bool ViewportOwned; - bool Active; - bool WasActive; - bool WriteAccessed; - bool Collapsed; - bool WantCollapseToggle; - bool SkipItems; - bool SkipRefresh; - bool Appearing; - bool Hidden; - bool IsFallbackWindow; - bool IsExplicitChild; - bool HasCloseButton; - signed char ResizeBorderHovered; - signed char ResizeBorderHeld; - short BeginCount; - short BeginCountPreviousFrame; - short BeginOrderWithinParent; - short BeginOrderWithinContext; - short FocusOrder; - ImGuiID PopupId; - ImS8 AutoFitFramesX, AutoFitFramesY; - bool AutoFitOnlyGrows; - ImGuiDir AutoPosLastDirection; - ImS8 HiddenFramesCanSkipItems; - ImS8 HiddenFramesCannotSkipItems; - ImS8 HiddenFramesForRenderOnly; - ImS8 DisableInputsFrames; - ImGuiCond SetWindowPosAllowFlags : 8; - ImGuiCond SetWindowSizeAllowFlags : 8; - ImGuiCond SetWindowCollapsedAllowFlags : 8; - ImGuiCond SetWindowDockAllowFlags : 8; - ImVec2 SetWindowPosVal; - ImVec2 SetWindowPosPivot; - ImVector_ImGuiID IDStack; - ImGuiWindowTempData DC; - ImRect OuterRectClipped; - ImRect InnerRect; - ImRect InnerClipRect; - ImRect WorkRect; - ImRect ParentWorkRect; - ImRect ClipRect; - ImRect ContentRegionRect; - ImVec2ih HitTestHoleSize; - ImVec2ih HitTestHoleOffset; - int LastFrameActive; - int LastFrameJustFocused; - float LastTimeActive; - float ItemWidthDefault; - ImGuiStorage StateStorage; - ImVector_ImGuiOldColumns ColumnsStorage; - float FontWindowScale; - float FontDpiScale; - int SettingsOffset; - ImDrawList* DrawList; - ImDrawList DrawListInst; - ImGuiWindow* ParentWindow; - ImGuiWindow* ParentWindowInBeginStack; - ImGuiWindow* RootWindow; - ImGuiWindow* RootWindowPopupTree; - ImGuiWindow* RootWindowDockTree; - ImGuiWindow* RootWindowForTitleBarHighlight; - ImGuiWindow* RootWindowForNav; - ImGuiWindow* ParentWindowForFocusRoute; - ImGuiWindow* NavLastChildNavWindow; - ImGuiID NavLastIds[ImGuiNavLayer_COUNT]; - ImRect NavRectRel[ImGuiNavLayer_COUNT]; - ImVec2 NavPreferredScoringPosRel[ImGuiNavLayer_COUNT]; - ImGuiID NavRootFocusScopeId; - int MemoryDrawListIdxCapacity; - int MemoryDrawListVtxCapacity; - bool MemoryCompacted; - bool DockIsActive : 1; - bool DockNodeIsVisible : 1; - bool DockTabIsVisible : 1; - bool DockTabWantClose : 1; - short DockOrder; - ImGuiWindowDockStyle DockStyle; - ImGuiDockNode* DockNode; - ImGuiDockNode* DockNodeAsHost; - ImGuiID DockId; - ImGuiItemStatusFlags DockTabItemStatusFlags; - ImRect DockTabItemRect; -}; -typedef enum { - ImGuiTabBarFlags_DockNode = 1 << 20, - ImGuiTabBarFlags_IsFocused = 1 << 21, - ImGuiTabBarFlags_SaveSettings = 1 << 22, -} ImGuiTabBarFlagsPrivate_; -typedef enum { - ImGuiTabItemFlags_SectionMask_ = - ImGuiTabItemFlags_Leading | ImGuiTabItemFlags_Trailing, - ImGuiTabItemFlags_NoCloseButton = 1 << 20, - ImGuiTabItemFlags_Button = 1 << 21, - ImGuiTabItemFlags_Unsorted = 1 << 22, -} ImGuiTabItemFlagsPrivate_; -struct ImGuiTabItem { - ImGuiID ID; - ImGuiTabItemFlags Flags; - ImGuiWindow* Window; - int LastFrameVisible; - int LastFrameSelected; - float Offset; - float Width; - float ContentWidth; - float RequestedWidth; - ImS32 NameOffset; - ImS16 BeginOrder; - ImS16 IndexDuringLayout; - bool WantClose; -}; -typedef struct ImVector_ImGuiTabItem { - int Size; - int Capacity; - ImGuiTabItem* Data; -} ImVector_ImGuiTabItem; - -struct ImGuiTabBar { - ImVector_ImGuiTabItem Tabs; - ImGuiTabBarFlags Flags; - ImGuiID ID; - ImGuiID SelectedTabId; - ImGuiID NextSelectedTabId; - ImGuiID VisibleTabId; - int CurrFrameVisible; - int PrevFrameVisible; - ImRect BarRect; - float CurrTabsContentsHeight; - float PrevTabsContentsHeight; - float WidthAllTabs; - float WidthAllTabsIdeal; - float ScrollingAnim; - float ScrollingTarget; - float ScrollingTargetDistToVisibility; - float ScrollingSpeed; - float ScrollingRectMinX; - float ScrollingRectMaxX; - float SeparatorMinX; - float SeparatorMaxX; - ImGuiID ReorderRequestTabId; - ImS16 ReorderRequestOffset; - ImS8 BeginCount; - bool WantLayout; - bool VisibleTabWasSubmitted; - bool TabsAddedNew; - ImS16 TabsActiveCount; - ImS16 LastTabItemIdx; - float ItemSpacingY; - ImVec2 FramePadding; - ImVec2 BackupCursorPos; - ImGuiTextBuffer TabsNames; -}; -typedef ImS16 ImGuiTableColumnIdx; -typedef ImU16 ImGuiTableDrawChannelIdx; -struct ImGuiTableColumn { - ImGuiTableColumnFlags Flags; - float WidthGiven; - float MinX; - float MaxX; - float WidthRequest; - float WidthAuto; - float StretchWeight; - float InitStretchWeightOrWidth; - ImRect ClipRect; - ImGuiID UserID; - float WorkMinX; - float WorkMaxX; - float ItemWidth; - float ContentMaxXFrozen; - float ContentMaxXUnfrozen; - float ContentMaxXHeadersUsed; - float ContentMaxXHeadersIdeal; - ImS16 NameOffset; - ImGuiTableColumnIdx DisplayOrder; - ImGuiTableColumnIdx IndexWithinEnabledSet; - ImGuiTableColumnIdx PrevEnabledColumn; - ImGuiTableColumnIdx NextEnabledColumn; - ImGuiTableColumnIdx SortOrder; - ImGuiTableDrawChannelIdx DrawChannelCurrent; - ImGuiTableDrawChannelIdx DrawChannelFrozen; - ImGuiTableDrawChannelIdx DrawChannelUnfrozen; - bool IsEnabled; - bool IsUserEnabled; - bool IsUserEnabledNextFrame; - bool IsVisibleX; - bool IsVisibleY; - bool IsRequestOutput; - bool IsSkipItems; - bool IsPreserveWidthAuto; - ImS8 NavLayerCurrent; - ImU8 AutoFitQueue; - ImU8 CannotSkipItemsQueue; - ImU8 SortDirection : 2; - ImU8 SortDirectionsAvailCount : 2; - ImU8 SortDirectionsAvailMask : 4; - ImU8 SortDirectionsAvailList; -}; -typedef struct ImGuiTableCellData ImGuiTableCellData; -struct ImGuiTableCellData { - ImU32 BgColor; - ImGuiTableColumnIdx Column; -}; -struct ImGuiTableHeaderData { - ImGuiTableColumnIdx Index; - ImU32 TextColor; - ImU32 BgColor0; - ImU32 BgColor1; -}; -struct ImGuiTableInstanceData { - ImGuiID TableInstanceID; - float LastOuterHeight; - float LastTopHeadersRowHeight; - float LastFrozenHeight; - int HoveredRowLast; - int HoveredRowNext; -}; -typedef struct ImSpan_ImGuiTableColumn { - ImGuiTableColumn* Data; - ImGuiTableColumn* DataEnd; -} ImSpan_ImGuiTableColumn; - -typedef struct ImSpan_ImGuiTableColumnIdx { - ImGuiTableColumnIdx* Data; - ImGuiTableColumnIdx* DataEnd; -} ImSpan_ImGuiTableColumnIdx; - -typedef struct ImSpan_ImGuiTableCellData { - ImGuiTableCellData* Data; - ImGuiTableCellData* DataEnd; -} ImSpan_ImGuiTableCellData; - -typedef struct ImVector_ImGuiTableInstanceData { - int Size; - int Capacity; - ImGuiTableInstanceData* Data; -} ImVector_ImGuiTableInstanceData; - -typedef struct ImVector_ImGuiTableColumnSortSpecs { - int Size; - int Capacity; - ImGuiTableColumnSortSpecs* Data; -} ImVector_ImGuiTableColumnSortSpecs; - -struct ImGuiTable { - ImGuiID ID; - ImGuiTableFlags Flags; - void* RawData; - ImGuiTableTempData* TempData; - ImSpan_ImGuiTableColumn Columns; - ImSpan_ImGuiTableColumnIdx DisplayOrderToIndex; - ImSpan_ImGuiTableCellData RowCellData; - ImBitArrayPtr EnabledMaskByDisplayOrder; - ImBitArrayPtr EnabledMaskByIndex; - ImBitArrayPtr VisibleMaskByIndex; - ImGuiTableFlags SettingsLoadedFlags; - int SettingsOffset; - int LastFrameActive; - int ColumnsCount; - int CurrentRow; - int CurrentColumn; - ImS16 InstanceCurrent; - ImS16 InstanceInteracted; - float RowPosY1; - float RowPosY2; - float RowMinHeight; - float RowCellPaddingY; - float RowTextBaseline; - float RowIndentOffsetX; - ImGuiTableRowFlags RowFlags : 16; - ImGuiTableRowFlags LastRowFlags : 16; - int RowBgColorCounter; - ImU32 RowBgColor[2]; - ImU32 BorderColorStrong; - ImU32 BorderColorLight; - float BorderX1; - float BorderX2; - float HostIndentX; - float MinColumnWidth; - float OuterPaddingX; - float CellPaddingX; - float CellSpacingX1; - float CellSpacingX2; - float InnerWidth; - float ColumnsGivenWidth; - float ColumnsAutoFitWidth; - float ColumnsStretchSumWeights; - float ResizedColumnNextWidth; - float ResizeLockMinContentsX2; - float RefScale; - float AngledHeadersHeight; - float AngledHeadersSlope; - ImRect OuterRect; - ImRect InnerRect; - ImRect WorkRect; - ImRect InnerClipRect; - ImRect BgClipRect; - ImRect Bg0ClipRectForDrawCmd; - ImRect Bg2ClipRectForDrawCmd; - ImRect HostClipRect; - ImRect HostBackupInnerClipRect; - ImGuiWindow* OuterWindow; - ImGuiWindow* InnerWindow; - ImGuiTextBuffer ColumnsNames; - ImDrawListSplitter* DrawSplitter; - ImGuiTableInstanceData InstanceDataFirst; - ImVector_ImGuiTableInstanceData InstanceDataExtra; - ImGuiTableColumnSortSpecs SortSpecsSingle; - ImVector_ImGuiTableColumnSortSpecs SortSpecsMulti; - ImGuiTableSortSpecs SortSpecs; - ImGuiTableColumnIdx SortSpecsCount; - ImGuiTableColumnIdx ColumnsEnabledCount; - ImGuiTableColumnIdx ColumnsEnabledFixedCount; - ImGuiTableColumnIdx DeclColumnsCount; - ImGuiTableColumnIdx AngledHeadersCount; - ImGuiTableColumnIdx HoveredColumnBody; - ImGuiTableColumnIdx HoveredColumnBorder; - ImGuiTableColumnIdx HighlightColumnHeader; - ImGuiTableColumnIdx AutoFitSingleColumn; - ImGuiTableColumnIdx ResizedColumn; - ImGuiTableColumnIdx LastResizedColumn; - ImGuiTableColumnIdx HeldHeaderColumn; - ImGuiTableColumnIdx ReorderColumn; - ImGuiTableColumnIdx ReorderColumnDir; - ImGuiTableColumnIdx LeftMostEnabledColumn; - ImGuiTableColumnIdx RightMostEnabledColumn; - ImGuiTableColumnIdx LeftMostStretchedColumn; - ImGuiTableColumnIdx RightMostStretchedColumn; - ImGuiTableColumnIdx ContextPopupColumn; - ImGuiTableColumnIdx FreezeRowsRequest; - ImGuiTableColumnIdx FreezeRowsCount; - ImGuiTableColumnIdx FreezeColumnsRequest; - ImGuiTableColumnIdx FreezeColumnsCount; - ImGuiTableColumnIdx RowCellDataCurrent; - ImGuiTableDrawChannelIdx DummyDrawChannel; - ImGuiTableDrawChannelIdx Bg2DrawChannelCurrent; - ImGuiTableDrawChannelIdx Bg2DrawChannelUnfrozen; - bool IsLayoutLocked; - bool IsInsideRow; - bool IsInitializing; - bool IsSortSpecsDirty; - bool IsUsingHeaders; - bool IsContextPopupOpen; - bool DisableDefaultContextMenu; - bool IsSettingsRequestLoad; - bool IsSettingsDirty; - bool IsDefaultDisplayOrder; - bool IsResetAllRequest; - bool IsResetDisplayOrderRequest; - bool IsUnfrozenRows; - bool IsDefaultSizingPolicy; - bool IsActiveIdAliveBeforeTable; - bool IsActiveIdInTable; - bool HasScrollbarYCurr; - bool HasScrollbarYPrev; - bool MemoryCompacted; - bool HostSkipItems; -}; -typedef struct ImVector_ImGuiTableHeaderData { - int Size; - int Capacity; - ImGuiTableHeaderData* Data; -} ImVector_ImGuiTableHeaderData; - -struct ImGuiTableTempData { - int TableIndex; - float LastTimeActive; - float AngledHeadersExtraWidth; - ImVector_ImGuiTableHeaderData AngledHeadersRequests; - ImVec2 UserOuterSize; - ImDrawListSplitter DrawSplitter; - ImRect HostBackupWorkRect; - ImRect HostBackupParentWorkRect; - ImVec2 HostBackupPrevLineSize; - ImVec2 HostBackupCurrLineSize; - ImVec2 HostBackupCursorMaxPos; - ImVec1 HostBackupColumnsOffset; - float HostBackupItemWidth; - int HostBackupItemWidthStackSize; -}; -typedef struct ImGuiTableColumnSettings ImGuiTableColumnSettings; -struct ImGuiTableColumnSettings { - float WidthOrWeight; - ImGuiID UserID; - ImGuiTableColumnIdx Index; - ImGuiTableColumnIdx DisplayOrder; - ImGuiTableColumnIdx SortOrder; - ImU8 SortDirection : 2; - ImU8 IsEnabled : 1; - ImU8 IsStretch : 1; -}; -struct ImGuiTableSettings { - ImGuiID ID; - ImGuiTableFlags SaveFlags; - float RefScale; - ImGuiTableColumnIdx ColumnsCount; - ImGuiTableColumnIdx ColumnsCountMax; - bool WantApply; -}; -struct ImFontBuilderIO { - bool (*FontBuilder_Build)(ImFontAtlas* atlas); -}; -#define IMGUI_HAS_DOCK 1 - -#define ImDrawCallback_ResetRenderState (ImDrawCallback)(-8) - -#else -struct GLFWwindow; -struct SDL_Window; -typedef union SDL_Event SDL_Event; -#endif // CIMGUI_DEFINE_ENUMS_AND_STRUCTS - -#ifndef CIMGUI_DEFINE_ENUMS_AND_STRUCTS -typedef struct ImGuiStorage::ImGuiStoragePair ImGuiStoragePair; -typedef struct ImGuiTextFilter::ImGuiTextRange ImGuiTextRange; -typedef ImStb::STB_TexteditState STB_TexteditState; -typedef ImStb::StbTexteditRow StbTexteditRow; -typedef ImStb::StbUndoRecord StbUndoRecord; -typedef ImStb::StbUndoState StbUndoState; -typedef ImChunkStream ImChunkStream_ImGuiTableSettings; -typedef ImChunkStream ImChunkStream_ImGuiWindowSettings; -typedef ImPool ImPool_ImGuiTabBar; -typedef ImPool ImPool_ImGuiTable; -typedef ImSpan ImSpan_ImGuiTableCellData; -typedef ImSpan ImSpan_ImGuiTableColumn; -typedef ImSpan ImSpan_ImGuiTableColumnIdx; -typedef ImVector ImVector_ImDrawChannel; -typedef ImVector ImVector_ImDrawCmd; -typedef ImVector ImVector_ImDrawIdx; -typedef ImVector ImVector_ImDrawListPtr; -typedef ImVector ImVector_ImDrawVert; -typedef ImVector ImVector_ImFontPtr; -typedef ImVector ImVector_ImFontAtlasCustomRect; -typedef ImVector ImVector_ImFontConfig; -typedef ImVector ImVector_ImFontGlyph; -typedef ImVector ImVector_ImGuiColorMod; -typedef ImVector ImVector_ImGuiContextHook; -typedef ImVector ImVector_ImGuiDockNodeSettings; -typedef ImVector ImVector_ImGuiDockRequest; -typedef ImVector ImVector_ImGuiFocusScopeData; -typedef ImVector ImVector_ImGuiGroupData; -typedef ImVector ImVector_ImGuiID; -typedef ImVector ImVector_ImGuiInputEvent; -typedef ImVector ImVector_ImGuiItemFlags; -typedef ImVector ImVector_ImGuiKeyRoutingData; -typedef ImVector ImVector_ImGuiListClipperData; -typedef ImVector ImVector_ImGuiListClipperRange; -typedef ImVector ImVector_ImGuiNavTreeNodeData; -typedef ImVector ImVector_ImGuiOldColumnData; -typedef ImVector ImVector_ImGuiOldColumns; -typedef ImVector ImVector_ImGuiPlatformMonitor; -typedef ImVector ImVector_ImGuiPopupData; -typedef ImVector ImVector_ImGuiPtrOrIndex; -typedef ImVector ImVector_ImGuiSettingsHandler; -typedef ImVector ImVector_ImGuiShrinkWidthItem; -typedef ImVector ImVector_ImGuiStackLevelInfo; -typedef ImVector ImVector_ImGuiStoragePair; -typedef ImVector ImVector_ImGuiStyleMod; -typedef ImVector ImVector_ImGuiTabItem; -typedef ImVector ImVector_ImGuiTableColumnSortSpecs; -typedef ImVector ImVector_ImGuiTableHeaderData; -typedef ImVector ImVector_ImGuiTableInstanceData; -typedef ImVector ImVector_ImGuiTableTempData; -typedef ImVector ImVector_ImGuiTextRange; -typedef ImVector ImVector_ImGuiViewportPtr; -typedef ImVector ImVector_ImGuiViewportPPtr; -typedef ImVector ImVector_ImGuiWindowPtr; -typedef ImVector ImVector_ImGuiWindowStackData; -typedef ImVector ImVector_ImTextureID; -typedef ImVector ImVector_ImU32; -typedef ImVector ImVector_ImVec2; -typedef ImVector ImVector_ImVec4; -typedef ImVector ImVector_ImWchar; -typedef ImVector ImVector_char; -typedef ImVector ImVector_const_charPtr; -typedef ImVector ImVector_float; -typedef ImVector ImVector_int; -typedef ImVector ImVector_unsigned_char; -#endif // CIMGUI_DEFINE_ENUMS_AND_STRUCTS -CIMGUI_API ImVec2* ImVec2_ImVec2_Nil(void); -CIMGUI_API void ImVec2_destroy(ImVec2* self); -CIMGUI_API ImVec2* ImVec2_ImVec2_Float(float _x, float _y); -CIMGUI_API ImVec4* ImVec4_ImVec4_Nil(void); -CIMGUI_API void ImVec4_destroy(ImVec4* self); -CIMGUI_API ImVec4* ImVec4_ImVec4_Float(float _x, float _y, float _z, float _w); -CIMGUI_API ImGuiContext* igCreateContext(ImFontAtlas* shared_font_atlas); -CIMGUI_API void igDestroyContext(ImGuiContext* ctx); -CIMGUI_API ImGuiContext* igGetCurrentContext(void); -CIMGUI_API void igSetCurrentContext(ImGuiContext* ctx); -CIMGUI_API ImGuiIO* igGetIO(void); -CIMGUI_API ImGuiStyle* igGetStyle(void); -CIMGUI_API void igNewFrame(void); -CIMGUI_API void igEndFrame(void); -CIMGUI_API void igRender(void); -CIMGUI_API ImDrawData* igGetDrawData(void); -CIMGUI_API void igShowDemoWindow(bool* p_open); -CIMGUI_API void igShowMetricsWindow(bool* p_open); -CIMGUI_API void igShowDebugLogWindow(bool* p_open); -CIMGUI_API void igShowIDStackToolWindow(bool* p_open); -CIMGUI_API void igShowAboutWindow(bool* p_open); -CIMGUI_API void igShowStyleEditor(ImGuiStyle* ref); -CIMGUI_API bool igShowStyleSelector(const char* label); -CIMGUI_API void igShowFontSelector(const char* label); -CIMGUI_API void igShowUserGuide(void); -CIMGUI_API const char* igGetVersion(void); -CIMGUI_API void igStyleColorsDark(ImGuiStyle* dst); -CIMGUI_API void igStyleColorsLight(ImGuiStyle* dst); -CIMGUI_API void igStyleColorsClassic(ImGuiStyle* dst); -CIMGUI_API bool igBegin(const char* name, bool* p_open, ImGuiWindowFlags flags); -CIMGUI_API void igEnd(void); -CIMGUI_API bool igBeginChild_Str(const char* str_id, - const ImVec2 size, - ImGuiChildFlags child_flags, - ImGuiWindowFlags window_flags); -CIMGUI_API bool igBeginChild_ID(ImGuiID id, - const ImVec2 size, - ImGuiChildFlags child_flags, - ImGuiWindowFlags window_flags); -CIMGUI_API void igEndChild(void); -CIMGUI_API bool igIsWindowAppearing(void); -CIMGUI_API bool igIsWindowCollapsed(void); -CIMGUI_API bool igIsWindowFocused(ImGuiFocusedFlags flags); -CIMGUI_API bool igIsWindowHovered(ImGuiHoveredFlags flags); -CIMGUI_API ImDrawList* igGetWindowDrawList(void); -CIMGUI_API float igGetWindowDpiScale(void); -CIMGUI_API void igGetWindowPos(ImVec2* pOut); -CIMGUI_API void igGetWindowSize(ImVec2* pOut); -CIMGUI_API float igGetWindowWidth(void); -CIMGUI_API float igGetWindowHeight(void); -CIMGUI_API ImGuiViewport* igGetWindowViewport(void); -CIMGUI_API void igSetNextWindowPos(const ImVec2 pos, - ImGuiCond cond, - const ImVec2 pivot); -CIMGUI_API void igSetNextWindowSize(const ImVec2 size, ImGuiCond cond); -CIMGUI_API void igSetNextWindowSizeConstraints( - const ImVec2 size_min, - const ImVec2 size_max, - ImGuiSizeCallback custom_callback, - void* custom_callback_data); -CIMGUI_API void igSetNextWindowContentSize(const ImVec2 size); -CIMGUI_API void igSetNextWindowCollapsed(bool collapsed, ImGuiCond cond); -CIMGUI_API void igSetNextWindowFocus(void); -CIMGUI_API void igSetNextWindowScroll(const ImVec2 scroll); -CIMGUI_API void igSetNextWindowBgAlpha(float alpha); -CIMGUI_API void igSetNextWindowViewport(ImGuiID viewport_id); -CIMGUI_API void igSetWindowPos_Vec2(const ImVec2 pos, ImGuiCond cond); -CIMGUI_API void igSetWindowSize_Vec2(const ImVec2 size, ImGuiCond cond); -CIMGUI_API void igSetWindowCollapsed_Bool(bool collapsed, ImGuiCond cond); -CIMGUI_API void igSetWindowFocus_Nil(void); -CIMGUI_API void igSetWindowFontScale(float scale); -CIMGUI_API void igSetWindowPos_Str(const char* name, - const ImVec2 pos, - ImGuiCond cond); -CIMGUI_API void igSetWindowSize_Str(const char* name, - const ImVec2 size, - ImGuiCond cond); -CIMGUI_API void igSetWindowCollapsed_Str(const char* name, - bool collapsed, - ImGuiCond cond); -CIMGUI_API void igSetWindowFocus_Str(const char* name); -CIMGUI_API void igGetContentRegionAvail(ImVec2* pOut); -CIMGUI_API void igGetContentRegionMax(ImVec2* pOut); -CIMGUI_API void igGetWindowContentRegionMin(ImVec2* pOut); -CIMGUI_API void igGetWindowContentRegionMax(ImVec2* pOut); -CIMGUI_API float igGetScrollX(void); -CIMGUI_API float igGetScrollY(void); -CIMGUI_API void igSetScrollX_Float(float scroll_x); -CIMGUI_API void igSetScrollY_Float(float scroll_y); -CIMGUI_API float igGetScrollMaxX(void); -CIMGUI_API float igGetScrollMaxY(void); -CIMGUI_API void igSetScrollHereX(float center_x_ratio); -CIMGUI_API void igSetScrollHereY(float center_y_ratio); -CIMGUI_API void igSetScrollFromPosX_Float(float local_x, float center_x_ratio); -CIMGUI_API void igSetScrollFromPosY_Float(float local_y, float center_y_ratio); -CIMGUI_API void igPushFont(ImFont* font); -CIMGUI_API void igPopFont(void); -CIMGUI_API void igPushStyleColor_U32(ImGuiCol idx, ImU32 col); -CIMGUI_API void igPushStyleColor_Vec4(ImGuiCol idx, const ImVec4 col); -CIMGUI_API void igPopStyleColor(int count); -CIMGUI_API void igPushStyleVar_Float(ImGuiStyleVar idx, float val); -CIMGUI_API void igPushStyleVar_Vec2(ImGuiStyleVar idx, const ImVec2 val); -CIMGUI_API void igPopStyleVar(int count); -CIMGUI_API void igPushTabStop(bool tab_stop); -CIMGUI_API void igPopTabStop(void); -CIMGUI_API void igPushButtonRepeat(bool repeat); -CIMGUI_API void igPopButtonRepeat(void); -CIMGUI_API void igPushItemWidth(float item_width); -CIMGUI_API void igPopItemWidth(void); -CIMGUI_API void igSetNextItemWidth(float item_width); -CIMGUI_API float igCalcItemWidth(void); -CIMGUI_API void igPushTextWrapPos(float wrap_local_pos_x); -CIMGUI_API void igPopTextWrapPos(void); -CIMGUI_API ImFont* igGetFont(void); -CIMGUI_API float igGetFontSize(void); -CIMGUI_API void igGetFontTexUvWhitePixel(ImVec2* pOut); -CIMGUI_API ImU32 igGetColorU32_Col(ImGuiCol idx, float alpha_mul); -CIMGUI_API ImU32 igGetColorU32_Vec4(const ImVec4 col); -CIMGUI_API ImU32 igGetColorU32_U32(ImU32 col, float alpha_mul); -CIMGUI_API const ImVec4* igGetStyleColorVec4(ImGuiCol idx); -CIMGUI_API void igGetCursorScreenPos(ImVec2* pOut); -CIMGUI_API void igSetCursorScreenPos(const ImVec2 pos); -CIMGUI_API void igGetCursorPos(ImVec2* pOut); -CIMGUI_API float igGetCursorPosX(void); -CIMGUI_API float igGetCursorPosY(void); -CIMGUI_API void igSetCursorPos(const ImVec2 local_pos); -CIMGUI_API void igSetCursorPosX(float local_x); -CIMGUI_API void igSetCursorPosY(float local_y); -CIMGUI_API void igGetCursorStartPos(ImVec2* pOut); -CIMGUI_API void igSeparator(void); -CIMGUI_API void igSameLine(float offset_from_start_x, float spacing); -CIMGUI_API void igNewLine(void); -CIMGUI_API void igSpacing(void); -CIMGUI_API void igDummy(const ImVec2 size); -CIMGUI_API void igIndent(float indent_w); -CIMGUI_API void igUnindent(float indent_w); -CIMGUI_API void igBeginGroup(void); -CIMGUI_API void igEndGroup(void); -CIMGUI_API void igAlignTextToFramePadding(void); -CIMGUI_API float igGetTextLineHeight(void); -CIMGUI_API float igGetTextLineHeightWithSpacing(void); -CIMGUI_API float igGetFrameHeight(void); -CIMGUI_API float igGetFrameHeightWithSpacing(void); -CIMGUI_API void igPushID_Str(const char* str_id); -CIMGUI_API void igPushID_StrStr(const char* str_id_begin, - const char* str_id_end); -CIMGUI_API void igPushID_Ptr(const void* ptr_id); -CIMGUI_API void igPushID_Int(int int_id); -CIMGUI_API void igPopID(void); -CIMGUI_API ImGuiID igGetID_Str(const char* str_id); -CIMGUI_API ImGuiID igGetID_StrStr(const char* str_id_begin, - const char* str_id_end); -CIMGUI_API ImGuiID igGetID_Ptr(const void* ptr_id); -CIMGUI_API void igTextUnformatted(const char* text, const char* text_end); -CIMGUI_API void igText(const char* fmt, ...); -CIMGUI_API void igTextV(const char* fmt, va_list args); -CIMGUI_API void igTextColored(const ImVec4 col, const char* fmt, ...); -CIMGUI_API void igTextColoredV(const ImVec4 col, const char* fmt, va_list args); -CIMGUI_API void igTextDisabled(const char* fmt, ...); -CIMGUI_API void igTextDisabledV(const char* fmt, va_list args); -CIMGUI_API void igTextWrapped(const char* fmt, ...); -CIMGUI_API void igTextWrappedV(const char* fmt, va_list args); -CIMGUI_API void igLabelText(const char* label, const char* fmt, ...); -CIMGUI_API void igLabelTextV(const char* label, const char* fmt, va_list args); -CIMGUI_API void igBulletText(const char* fmt, ...); -CIMGUI_API void igBulletTextV(const char* fmt, va_list args); -CIMGUI_API void igSeparatorText(const char* label); -CIMGUI_API bool igButton(const char* label, const ImVec2 size); -CIMGUI_API bool igSmallButton(const char* label); -CIMGUI_API bool igInvisibleButton(const char* str_id, - const ImVec2 size, - ImGuiButtonFlags flags); -CIMGUI_API bool igArrowButton(const char* str_id, ImGuiDir dir); -CIMGUI_API bool igCheckbox(const char* label, bool* v); -CIMGUI_API bool igCheckboxFlags_IntPtr(const char* label, - int* flags, - int flags_value); -CIMGUI_API bool igCheckboxFlags_UintPtr(const char* label, - unsigned int* flags, - unsigned int flags_value); -CIMGUI_API bool igRadioButton_Bool(const char* label, bool active); -CIMGUI_API bool igRadioButton_IntPtr(const char* label, int* v, int v_button); -CIMGUI_API void igProgressBar(float fraction, - const ImVec2 size_arg, - const char* overlay); -CIMGUI_API void igBullet(void); -CIMGUI_API void igImage(ImTextureID user_texture_id, - const ImVec2 image_size, - const ImVec2 uv0, - const ImVec2 uv1, - const ImVec4 tint_col, - const ImVec4 border_col); -CIMGUI_API bool igImageButton(const char* str_id, - ImTextureID user_texture_id, - const ImVec2 image_size, - const ImVec2 uv0, - const ImVec2 uv1, - const ImVec4 bg_col, - const ImVec4 tint_col); -CIMGUI_API bool igBeginCombo(const char* label, - const char* preview_value, - ImGuiComboFlags flags); -CIMGUI_API void igEndCombo(void); -CIMGUI_API bool igCombo_Str_arr(const char* label, - int* current_item, - const char* const items[], - int items_count, - int popup_max_height_in_items); -CIMGUI_API bool igCombo_Str(const char* label, - int* current_item, - const char* items_separated_by_zeros, - int popup_max_height_in_items); -CIMGUI_API bool igCombo_FnStrPtr(const char* label, - int* current_item, - const char* (*getter)(void* user_data, - int idx), - void* user_data, - int items_count, - int popup_max_height_in_items); -CIMGUI_API bool igDragFloat(const char* label, - float* v, - float v_speed, - float v_min, - float v_max, - const char* format, - ImGuiSliderFlags flags); -CIMGUI_API bool igDragFloat2(const char* label, - float v[2], - float v_speed, - float v_min, - float v_max, - const char* format, - ImGuiSliderFlags flags); -CIMGUI_API bool igDragFloat3(const char* label, - float v[3], - float v_speed, - float v_min, - float v_max, - const char* format, - ImGuiSliderFlags flags); -CIMGUI_API bool igDragFloat4(const char* label, - float v[4], - float v_speed, - float v_min, - float v_max, - const char* format, - ImGuiSliderFlags flags); -CIMGUI_API bool igDragFloatRange2(const char* label, - float* v_current_min, - float* v_current_max, - float v_speed, - float v_min, - float v_max, - const char* format, - const char* format_max, - ImGuiSliderFlags flags); -CIMGUI_API bool igDragInt(const char* label, - int* v, - float v_speed, - int v_min, - int v_max, - const char* format, - ImGuiSliderFlags flags); -CIMGUI_API bool igDragInt2(const char* label, - int v[2], - float v_speed, - int v_min, - int v_max, - const char* format, - ImGuiSliderFlags flags); -CIMGUI_API bool igDragInt3(const char* label, - int v[3], - float v_speed, - int v_min, - int v_max, - const char* format, - ImGuiSliderFlags flags); -CIMGUI_API bool igDragInt4(const char* label, - int v[4], - float v_speed, - int v_min, - int v_max, - const char* format, - ImGuiSliderFlags flags); -CIMGUI_API bool igDragIntRange2(const char* label, - int* v_current_min, - int* v_current_max, - float v_speed, - int v_min, - int v_max, - const char* format, - const char* format_max, - ImGuiSliderFlags flags); -CIMGUI_API bool igDragScalar(const char* label, - ImGuiDataType data_type, - void* p_data, - float v_speed, - const void* p_min, - const void* p_max, - const char* format, - ImGuiSliderFlags flags); -CIMGUI_API bool igDragScalarN(const char* label, - ImGuiDataType data_type, - void* p_data, - int components, - float v_speed, - const void* p_min, - const void* p_max, - const char* format, - ImGuiSliderFlags flags); -CIMGUI_API bool igSliderFloat(const char* label, - float* v, - float v_min, - float v_max, - const char* format, - ImGuiSliderFlags flags); -CIMGUI_API bool igSliderFloat2(const char* label, - float v[2], - float v_min, - float v_max, - const char* format, - ImGuiSliderFlags flags); -CIMGUI_API bool igSliderFloat3(const char* label, - float v[3], - float v_min, - float v_max, - const char* format, - ImGuiSliderFlags flags); -CIMGUI_API bool igSliderFloat4(const char* label, - float v[4], - float v_min, - float v_max, - const char* format, - ImGuiSliderFlags flags); -CIMGUI_API bool igSliderAngle(const char* label, - float* v_rad, - float v_degrees_min, - float v_degrees_max, - const char* format, - ImGuiSliderFlags flags); -CIMGUI_API bool igSliderInt(const char* label, - int* v, - int v_min, - int v_max, - const char* format, - ImGuiSliderFlags flags); -CIMGUI_API bool igSliderInt2(const char* label, - int v[2], - int v_min, - int v_max, - const char* format, - ImGuiSliderFlags flags); -CIMGUI_API bool igSliderInt3(const char* label, - int v[3], - int v_min, - int v_max, - const char* format, - ImGuiSliderFlags flags); -CIMGUI_API bool igSliderInt4(const char* label, - int v[4], - int v_min, - int v_max, - const char* format, - ImGuiSliderFlags flags); -CIMGUI_API bool igSliderScalar(const char* label, - ImGuiDataType data_type, - void* p_data, - const void* p_min, - const void* p_max, - const char* format, - ImGuiSliderFlags flags); -CIMGUI_API bool igSliderScalarN(const char* label, - ImGuiDataType data_type, - void* p_data, - int components, - const void* p_min, - const void* p_max, - const char* format, - ImGuiSliderFlags flags); -CIMGUI_API bool igVSliderFloat(const char* label, - const ImVec2 size, - float* v, - float v_min, - float v_max, - const char* format, - ImGuiSliderFlags flags); -CIMGUI_API bool igVSliderInt(const char* label, - const ImVec2 size, - int* v, - int v_min, - int v_max, - const char* format, - ImGuiSliderFlags flags); -CIMGUI_API bool igVSliderScalar(const char* label, - const ImVec2 size, - ImGuiDataType data_type, - void* p_data, - const void* p_min, - const void* p_max, - const char* format, - ImGuiSliderFlags flags); -CIMGUI_API bool igInputText(const char* label, - char* buf, - size_t buf_size, - ImGuiInputTextFlags flags, - ImGuiInputTextCallback callback, - void* user_data); -CIMGUI_API bool igInputTextMultiline(const char* label, - char* buf, - size_t buf_size, - const ImVec2 size, - ImGuiInputTextFlags flags, - ImGuiInputTextCallback callback, - void* user_data); -CIMGUI_API bool igInputTextWithHint(const char* label, - const char* hint, - char* buf, - size_t buf_size, - ImGuiInputTextFlags flags, - ImGuiInputTextCallback callback, - void* user_data); -CIMGUI_API bool igInputFloat(const char* label, - float* v, - float step, - float step_fast, - const char* format, - ImGuiInputTextFlags flags); -CIMGUI_API bool igInputFloat2(const char* label, - float v[2], - const char* format, - ImGuiInputTextFlags flags); -CIMGUI_API bool igInputFloat3(const char* label, - float v[3], - const char* format, - ImGuiInputTextFlags flags); -CIMGUI_API bool igInputFloat4(const char* label, - float v[4], - const char* format, - ImGuiInputTextFlags flags); -CIMGUI_API bool igInputInt(const char* label, - int* v, - int step, - int step_fast, - ImGuiInputTextFlags flags); -CIMGUI_API bool igInputInt2(const char* label, - int v[2], - ImGuiInputTextFlags flags); -CIMGUI_API bool igInputInt3(const char* label, - int v[3], - ImGuiInputTextFlags flags); -CIMGUI_API bool igInputInt4(const char* label, - int v[4], - ImGuiInputTextFlags flags); -CIMGUI_API bool igInputDouble(const char* label, - double* v, - double step, - double step_fast, - const char* format, - ImGuiInputTextFlags flags); -CIMGUI_API bool igInputScalar(const char* label, - ImGuiDataType data_type, - void* p_data, - const void* p_step, - const void* p_step_fast, - const char* format, - ImGuiInputTextFlags flags); -CIMGUI_API bool igInputScalarN(const char* label, - ImGuiDataType data_type, - void* p_data, - int components, - const void* p_step, - const void* p_step_fast, - const char* format, - ImGuiInputTextFlags flags); -CIMGUI_API bool igColorEdit3(const char* label, - float col[3], - ImGuiColorEditFlags flags); -CIMGUI_API bool igColorEdit4(const char* label, - float col[4], - ImGuiColorEditFlags flags); -CIMGUI_API bool igColorPicker3(const char* label, - float col[3], - ImGuiColorEditFlags flags); -CIMGUI_API bool igColorPicker4(const char* label, - float col[4], - ImGuiColorEditFlags flags, - const float* ref_col); -CIMGUI_API bool igColorButton(const char* desc_id, - const ImVec4 col, - ImGuiColorEditFlags flags, - const ImVec2 size); -CIMGUI_API void igSetColorEditOptions(ImGuiColorEditFlags flags); -CIMGUI_API bool igTreeNode_Str(const char* label); -CIMGUI_API bool igTreeNode_StrStr(const char* str_id, const char* fmt, ...); -CIMGUI_API bool igTreeNode_Ptr(const void* ptr_id, const char* fmt, ...); -CIMGUI_API bool igTreeNodeV_Str(const char* str_id, - const char* fmt, - va_list args); -CIMGUI_API bool igTreeNodeV_Ptr(const void* ptr_id, - const char* fmt, - va_list args); -CIMGUI_API bool igTreeNodeEx_Str(const char* label, ImGuiTreeNodeFlags flags); -CIMGUI_API bool igTreeNodeEx_StrStr(const char* str_id, - ImGuiTreeNodeFlags flags, - const char* fmt, - ...); -CIMGUI_API bool igTreeNodeEx_Ptr(const void* ptr_id, - ImGuiTreeNodeFlags flags, - const char* fmt, - ...); -CIMGUI_API bool igTreeNodeExV_Str(const char* str_id, - ImGuiTreeNodeFlags flags, - const char* fmt, - va_list args); -CIMGUI_API bool igTreeNodeExV_Ptr(const void* ptr_id, - ImGuiTreeNodeFlags flags, - const char* fmt, - va_list args); -CIMGUI_API void igTreePush_Str(const char* str_id); -CIMGUI_API void igTreePush_Ptr(const void* ptr_id); -CIMGUI_API void igTreePop(void); -CIMGUI_API float igGetTreeNodeToLabelSpacing(void); -CIMGUI_API bool igCollapsingHeader_TreeNodeFlags(const char* label, - ImGuiTreeNodeFlags flags); -CIMGUI_API bool igCollapsingHeader_BoolPtr(const char* label, - bool* p_visible, - ImGuiTreeNodeFlags flags); -CIMGUI_API void igSetNextItemOpen(bool is_open, ImGuiCond cond); -CIMGUI_API bool igSelectable_Bool(const char* label, - bool selected, - ImGuiSelectableFlags flags, - const ImVec2 size); -CIMGUI_API bool igSelectable_BoolPtr(const char* label, - bool* p_selected, - ImGuiSelectableFlags flags, - const ImVec2 size); -CIMGUI_API bool igBeginListBox(const char* label, const ImVec2 size); -CIMGUI_API void igEndListBox(void); -CIMGUI_API bool igListBox_Str_arr(const char* label, - int* current_item, - const char* const items[], - int items_count, - int height_in_items); -CIMGUI_API bool igListBox_FnStrPtr(const char* label, - int* current_item, - const char* (*getter)(void* user_data, - int idx), - void* user_data, - int items_count, - int height_in_items); -CIMGUI_API void igPlotLines_FloatPtr(const char* label, - const float* values, - int values_count, - int values_offset, - const char* overlay_text, - float scale_min, - float scale_max, - ImVec2 graph_size, - int stride); -CIMGUI_API void igPlotLines_FnFloatPtr(const char* label, - float (*values_getter)(void* data, - int idx), - void* data, - int values_count, - int values_offset, - const char* overlay_text, - float scale_min, - float scale_max, - ImVec2 graph_size); -CIMGUI_API void igPlotHistogram_FloatPtr(const char* label, - const float* values, - int values_count, - int values_offset, - const char* overlay_text, - float scale_min, - float scale_max, - ImVec2 graph_size, - int stride); -CIMGUI_API void igPlotHistogram_FnFloatPtr(const char* label, - float (*values_getter)(void* data, - int idx), - void* data, - int values_count, - int values_offset, - const char* overlay_text, - float scale_min, - float scale_max, - ImVec2 graph_size); -CIMGUI_API void igValue_Bool(const char* prefix, bool b); -CIMGUI_API void igValue_Int(const char* prefix, int v); -CIMGUI_API void igValue_Uint(const char* prefix, unsigned int v); -CIMGUI_API void igValue_Float(const char* prefix, - float v, - const char* float_format); -CIMGUI_API bool igBeginMenuBar(void); -CIMGUI_API void igEndMenuBar(void); -CIMGUI_API bool igBeginMainMenuBar(void); -CIMGUI_API void igEndMainMenuBar(void); -CIMGUI_API bool igBeginMenu(const char* label, bool enabled); -CIMGUI_API void igEndMenu(void); -CIMGUI_API bool igMenuItem_Bool(const char* label, - const char* shortcut, - bool selected, - bool enabled); -CIMGUI_API bool igMenuItem_BoolPtr(const char* label, - const char* shortcut, - bool* p_selected, - bool enabled); -CIMGUI_API bool igBeginTooltip(void); -CIMGUI_API void igEndTooltip(void); -CIMGUI_API void igSetTooltip(const char* fmt, ...); -CIMGUI_API void igSetTooltipV(const char* fmt, va_list args); -CIMGUI_API bool igBeginItemTooltip(void); -CIMGUI_API void igSetItemTooltip(const char* fmt, ...); -CIMGUI_API void igSetItemTooltipV(const char* fmt, va_list args); -CIMGUI_API bool igBeginPopup(const char* str_id, ImGuiWindowFlags flags); -CIMGUI_API bool igBeginPopupModal(const char* name, - bool* p_open, - ImGuiWindowFlags flags); -CIMGUI_API void igEndPopup(void); -CIMGUI_API void igOpenPopup_Str(const char* str_id, - ImGuiPopupFlags popup_flags); -CIMGUI_API void igOpenPopup_ID(ImGuiID id, ImGuiPopupFlags popup_flags); -CIMGUI_API void igOpenPopupOnItemClick(const char* str_id, - ImGuiPopupFlags popup_flags); -CIMGUI_API void igCloseCurrentPopup(void); -CIMGUI_API bool igBeginPopupContextItem(const char* str_id, - ImGuiPopupFlags popup_flags); -CIMGUI_API bool igBeginPopupContextWindow(const char* str_id, - ImGuiPopupFlags popup_flags); -CIMGUI_API bool igBeginPopupContextVoid(const char* str_id, - ImGuiPopupFlags popup_flags); -CIMGUI_API bool igIsPopupOpen_Str(const char* str_id, ImGuiPopupFlags flags); -CIMGUI_API bool igBeginTable(const char* str_id, - int column, - ImGuiTableFlags flags, - const ImVec2 outer_size, - float inner_width); -CIMGUI_API void igEndTable(void); -CIMGUI_API void igTableNextRow(ImGuiTableRowFlags row_flags, - float min_row_height); -CIMGUI_API bool igTableNextColumn(void); -CIMGUI_API bool igTableSetColumnIndex(int column_n); -CIMGUI_API void igTableSetupColumn(const char* label, - ImGuiTableColumnFlags flags, - float init_width_or_weight, - ImGuiID user_id); -CIMGUI_API void igTableSetupScrollFreeze(int cols, int rows); -CIMGUI_API void igTableHeader(const char* label); -CIMGUI_API void igTableHeadersRow(void); -CIMGUI_API void igTableAngledHeadersRow(void); -CIMGUI_API ImGuiTableSortSpecs* igTableGetSortSpecs(void); -CIMGUI_API int igTableGetColumnCount(void); -CIMGUI_API int igTableGetColumnIndex(void); -CIMGUI_API int igTableGetRowIndex(void); -CIMGUI_API const char* igTableGetColumnName_Int(int column_n); -CIMGUI_API ImGuiTableColumnFlags igTableGetColumnFlags(int column_n); -CIMGUI_API void igTableSetColumnEnabled(int column_n, bool v); -CIMGUI_API void igTableSetBgColor(ImGuiTableBgTarget target, - ImU32 color, - int column_n); -CIMGUI_API void igColumns(int count, const char* id, bool border); -CIMGUI_API void igNextColumn(void); -CIMGUI_API int igGetColumnIndex(void); -CIMGUI_API float igGetColumnWidth(int column_index); -CIMGUI_API void igSetColumnWidth(int column_index, float width); -CIMGUI_API float igGetColumnOffset(int column_index); -CIMGUI_API void igSetColumnOffset(int column_index, float offset_x); -CIMGUI_API int igGetColumnsCount(void); -CIMGUI_API bool igBeginTabBar(const char* str_id, ImGuiTabBarFlags flags); -CIMGUI_API void igEndTabBar(void); -CIMGUI_API bool igBeginTabItem(const char* label, - bool* p_open, - ImGuiTabItemFlags flags); -CIMGUI_API void igEndTabItem(void); -CIMGUI_API bool igTabItemButton(const char* label, ImGuiTabItemFlags flags); -CIMGUI_API void igSetTabItemClosed(const char* tab_or_docked_window_label); -CIMGUI_API ImGuiID igDockSpace(ImGuiID id, - const ImVec2 size, - ImGuiDockNodeFlags flags, - const ImGuiWindowClass* window_class); -CIMGUI_API ImGuiID -igDockSpaceOverViewport(const ImGuiViewport* viewport, - ImGuiDockNodeFlags flags, - const ImGuiWindowClass* window_class); -CIMGUI_API void igSetNextWindowDockID(ImGuiID dock_id, ImGuiCond cond); -CIMGUI_API void igSetNextWindowClass(const ImGuiWindowClass* window_class); -CIMGUI_API ImGuiID igGetWindowDockID(void); -CIMGUI_API bool igIsWindowDocked(void); -CIMGUI_API void igLogToTTY(int auto_open_depth); -CIMGUI_API void igLogToFile(int auto_open_depth, const char* filename); -CIMGUI_API void igLogToClipboard(int auto_open_depth); -CIMGUI_API void igLogFinish(void); -CIMGUI_API void igLogButtons(void); -CIMGUI_API void igLogTextV(const char* fmt, va_list args); -CIMGUI_API bool igBeginDragDropSource(ImGuiDragDropFlags flags); -CIMGUI_API bool igSetDragDropPayload(const char* type, - const void* data, - size_t sz, - ImGuiCond cond); -CIMGUI_API void igEndDragDropSource(void); -CIMGUI_API bool igBeginDragDropTarget(void); -CIMGUI_API const ImGuiPayload* igAcceptDragDropPayload( - const char* type, - ImGuiDragDropFlags flags); -CIMGUI_API void igEndDragDropTarget(void); -CIMGUI_API const ImGuiPayload* igGetDragDropPayload(void); -CIMGUI_API void igBeginDisabled(bool disabled); -CIMGUI_API void igEndDisabled(void); -CIMGUI_API void igPushClipRect(const ImVec2 clip_rect_min, - const ImVec2 clip_rect_max, - bool intersect_with_current_clip_rect); -CIMGUI_API void igPopClipRect(void); -CIMGUI_API void igSetItemDefaultFocus(void); -CIMGUI_API void igSetKeyboardFocusHere(int offset); -CIMGUI_API void igSetNextItemAllowOverlap(void); -CIMGUI_API bool igIsItemHovered(ImGuiHoveredFlags flags); -CIMGUI_API bool igIsItemActive(void); -CIMGUI_API bool igIsItemFocused(void); -CIMGUI_API bool igIsItemClicked(ImGuiMouseButton mouse_button); -CIMGUI_API bool igIsItemVisible(void); -CIMGUI_API bool igIsItemEdited(void); -CIMGUI_API bool igIsItemActivated(void); -CIMGUI_API bool igIsItemDeactivated(void); -CIMGUI_API bool igIsItemDeactivatedAfterEdit(void); -CIMGUI_API bool igIsItemToggledOpen(void); -CIMGUI_API bool igIsAnyItemHovered(void); -CIMGUI_API bool igIsAnyItemActive(void); -CIMGUI_API bool igIsAnyItemFocused(void); -CIMGUI_API ImGuiID igGetItemID(void); -CIMGUI_API void igGetItemRectMin(ImVec2* pOut); -CIMGUI_API void igGetItemRectMax(ImVec2* pOut); -CIMGUI_API void igGetItemRectSize(ImVec2* pOut); -CIMGUI_API ImGuiViewport* igGetMainViewport(void); -CIMGUI_API ImDrawList* igGetBackgroundDrawList_Nil(void); -CIMGUI_API ImDrawList* igGetForegroundDrawList_Nil(void); -CIMGUI_API ImDrawList* igGetBackgroundDrawList_ViewportPtr( - ImGuiViewport* viewport); -CIMGUI_API ImDrawList* igGetForegroundDrawList_ViewportPtr( - ImGuiViewport* viewport); -CIMGUI_API bool igIsRectVisible_Nil(const ImVec2 size); -CIMGUI_API bool igIsRectVisible_Vec2(const ImVec2 rect_min, - const ImVec2 rect_max); -CIMGUI_API double igGetTime(void); -CIMGUI_API int igGetFrameCount(void); -CIMGUI_API ImDrawListSharedData* igGetDrawListSharedData(void); -CIMGUI_API const char* igGetStyleColorName(ImGuiCol idx); -CIMGUI_API void igSetStateStorage(ImGuiStorage* storage); -CIMGUI_API ImGuiStorage* igGetStateStorage(void); -CIMGUI_API void igCalcTextSize(ImVec2* pOut, - const char* text, - const char* text_end, - bool hide_text_after_double_hash, - float wrap_width); -CIMGUI_API void igColorConvertU32ToFloat4(ImVec4* pOut, ImU32 in); -CIMGUI_API ImU32 igColorConvertFloat4ToU32(const ImVec4 in); -CIMGUI_API void igColorConvertRGBtoHSV(float r, - float g, - float b, - float* out_h, - float* out_s, - float* out_v); -CIMGUI_API void igColorConvertHSVtoRGB(float h, - float s, - float v, - float* out_r, - float* out_g, - float* out_b); -CIMGUI_API bool igIsKeyDown_Nil(ImGuiKey key); -CIMGUI_API bool igIsKeyPressed_Bool(ImGuiKey key, bool repeat); -CIMGUI_API bool igIsKeyReleased_Nil(ImGuiKey key); -CIMGUI_API bool igIsKeyChordPressed_Nil(ImGuiKeyChord key_chord); -CIMGUI_API int igGetKeyPressedAmount(ImGuiKey key, - float repeat_delay, - float rate); -CIMGUI_API const char* igGetKeyName(ImGuiKey key); -CIMGUI_API void igSetNextFrameWantCaptureKeyboard(bool want_capture_keyboard); -CIMGUI_API bool igIsMouseDown_Nil(ImGuiMouseButton button); -CIMGUI_API bool igIsMouseClicked_Bool(ImGuiMouseButton button, bool repeat); -CIMGUI_API bool igIsMouseReleased_Nil(ImGuiMouseButton button); -CIMGUI_API bool igIsMouseDoubleClicked_Nil(ImGuiMouseButton button); -CIMGUI_API int igGetMouseClickedCount(ImGuiMouseButton button); -CIMGUI_API bool igIsMouseHoveringRect(const ImVec2 r_min, - const ImVec2 r_max, - bool clip); -CIMGUI_API bool igIsMousePosValid(const ImVec2* mouse_pos); -CIMGUI_API bool igIsAnyMouseDown(void); -CIMGUI_API void igGetMousePos(ImVec2* pOut); -CIMGUI_API void igGetMousePosOnOpeningCurrentPopup(ImVec2* pOut); -CIMGUI_API bool igIsMouseDragging(ImGuiMouseButton button, - float lock_threshold); -CIMGUI_API void igGetMouseDragDelta(ImVec2* pOut, - ImGuiMouseButton button, - float lock_threshold); -CIMGUI_API void igResetMouseDragDelta(ImGuiMouseButton button); -CIMGUI_API ImGuiMouseCursor igGetMouseCursor(void); -CIMGUI_API void igSetMouseCursor(ImGuiMouseCursor cursor_type); -CIMGUI_API void igSetNextFrameWantCaptureMouse(bool want_capture_mouse); -CIMGUI_API const char* igGetClipboardText(void); -CIMGUI_API void igSetClipboardText(const char* text); -CIMGUI_API void igLoadIniSettingsFromDisk(const char* ini_filename); -CIMGUI_API void igLoadIniSettingsFromMemory(const char* ini_data, - size_t ini_size); -CIMGUI_API void igSaveIniSettingsToDisk(const char* ini_filename); -CIMGUI_API const char* igSaveIniSettingsToMemory(size_t* out_ini_size); -CIMGUI_API void igDebugTextEncoding(const char* text); -CIMGUI_API void igDebugFlashStyleColor(ImGuiCol idx); -CIMGUI_API void igDebugStartItemPicker(void); -CIMGUI_API bool igDebugCheckVersionAndDataLayout(const char* version_str, - size_t sz_io, - size_t sz_style, - size_t sz_vec2, - size_t sz_vec4, - size_t sz_drawvert, - size_t sz_drawidx); -CIMGUI_API void igSetAllocatorFunctions(ImGuiMemAllocFunc alloc_func, - ImGuiMemFreeFunc free_func, - void* user_data); -CIMGUI_API void igGetAllocatorFunctions(ImGuiMemAllocFunc* p_alloc_func, - ImGuiMemFreeFunc* p_free_func, - void** p_user_data); -CIMGUI_API void* igMemAlloc(size_t size); -CIMGUI_API void igMemFree(void* ptr); -CIMGUI_API ImGuiPlatformIO* igGetPlatformIO(void); -CIMGUI_API void igUpdatePlatformWindows(void); -CIMGUI_API void igRenderPlatformWindowsDefault(void* platform_render_arg, - void* renderer_render_arg); -CIMGUI_API void igDestroyPlatformWindows(void); -CIMGUI_API ImGuiViewport* igFindViewportByID(ImGuiID id); -CIMGUI_API ImGuiViewport* igFindViewportByPlatformHandle(void* platform_handle); -CIMGUI_API ImGuiTableSortSpecs* ImGuiTableSortSpecs_ImGuiTableSortSpecs(void); -CIMGUI_API void ImGuiTableSortSpecs_destroy(ImGuiTableSortSpecs* self); -CIMGUI_API ImGuiTableColumnSortSpecs* -ImGuiTableColumnSortSpecs_ImGuiTableColumnSortSpecs(void); -CIMGUI_API void ImGuiTableColumnSortSpecs_destroy( - ImGuiTableColumnSortSpecs* self); -CIMGUI_API ImGuiStyle* ImGuiStyle_ImGuiStyle(void); -CIMGUI_API void ImGuiStyle_destroy(ImGuiStyle* self); -CIMGUI_API void ImGuiStyle_ScaleAllSizes(ImGuiStyle* self, float scale_factor); -CIMGUI_API void ImGuiIO_AddKeyEvent(ImGuiIO* self, ImGuiKey key, bool down); -CIMGUI_API void ImGuiIO_AddKeyAnalogEvent(ImGuiIO* self, - ImGuiKey key, - bool down, - float v); -CIMGUI_API void ImGuiIO_AddMousePosEvent(ImGuiIO* self, float x, float y); -CIMGUI_API void ImGuiIO_AddMouseButtonEvent(ImGuiIO* self, - int button, - bool down); -CIMGUI_API void ImGuiIO_AddMouseWheelEvent(ImGuiIO* self, - float wheel_x, - float wheel_y); -CIMGUI_API void ImGuiIO_AddMouseSourceEvent(ImGuiIO* self, - ImGuiMouseSource source); -CIMGUI_API void ImGuiIO_AddMouseViewportEvent(ImGuiIO* self, ImGuiID id); -CIMGUI_API void ImGuiIO_AddFocusEvent(ImGuiIO* self, bool focused); -CIMGUI_API void ImGuiIO_AddInputCharacter(ImGuiIO* self, unsigned int c); -CIMGUI_API void ImGuiIO_AddInputCharacterUTF16(ImGuiIO* self, ImWchar16 c); -CIMGUI_API void ImGuiIO_AddInputCharactersUTF8(ImGuiIO* self, const char* str); -CIMGUI_API void ImGuiIO_SetKeyEventNativeData(ImGuiIO* self, - ImGuiKey key, - int native_keycode, - int native_scancode, - int native_legacy_index); -CIMGUI_API void ImGuiIO_SetAppAcceptingEvents(ImGuiIO* self, - bool accepting_events); -CIMGUI_API void ImGuiIO_ClearEventsQueue(ImGuiIO* self); -CIMGUI_API void ImGuiIO_ClearInputKeys(ImGuiIO* self); -CIMGUI_API ImGuiIO* ImGuiIO_ImGuiIO(void); -CIMGUI_API void ImGuiIO_destroy(ImGuiIO* self); -CIMGUI_API ImGuiInputTextCallbackData* -ImGuiInputTextCallbackData_ImGuiInputTextCallbackData(void); -CIMGUI_API void ImGuiInputTextCallbackData_destroy( - ImGuiInputTextCallbackData* self); -CIMGUI_API void ImGuiInputTextCallbackData_DeleteChars( - ImGuiInputTextCallbackData* self, - int pos, - int bytes_count); -CIMGUI_API void ImGuiInputTextCallbackData_InsertChars( - ImGuiInputTextCallbackData* self, - int pos, - const char* text, - const char* text_end); -CIMGUI_API void ImGuiInputTextCallbackData_SelectAll( - ImGuiInputTextCallbackData* self); -CIMGUI_API void ImGuiInputTextCallbackData_ClearSelection( - ImGuiInputTextCallbackData* self); -CIMGUI_API bool ImGuiInputTextCallbackData_HasSelection( - ImGuiInputTextCallbackData* self); -CIMGUI_API ImGuiWindowClass* ImGuiWindowClass_ImGuiWindowClass(void); -CIMGUI_API void ImGuiWindowClass_destroy(ImGuiWindowClass* self); -CIMGUI_API ImGuiPayload* ImGuiPayload_ImGuiPayload(void); -CIMGUI_API void ImGuiPayload_destroy(ImGuiPayload* self); -CIMGUI_API void ImGuiPayload_Clear(ImGuiPayload* self); -CIMGUI_API bool ImGuiPayload_IsDataType(ImGuiPayload* self, const char* type); -CIMGUI_API bool ImGuiPayload_IsPreview(ImGuiPayload* self); -CIMGUI_API bool ImGuiPayload_IsDelivery(ImGuiPayload* self); -CIMGUI_API ImGuiOnceUponAFrame* ImGuiOnceUponAFrame_ImGuiOnceUponAFrame(void); -CIMGUI_API void ImGuiOnceUponAFrame_destroy(ImGuiOnceUponAFrame* self); -CIMGUI_API ImGuiTextFilter* ImGuiTextFilter_ImGuiTextFilter( - const char* default_filter); -CIMGUI_API void ImGuiTextFilter_destroy(ImGuiTextFilter* self); -CIMGUI_API bool ImGuiTextFilter_Draw(ImGuiTextFilter* self, - const char* label, - float width); -CIMGUI_API bool ImGuiTextFilter_PassFilter(ImGuiTextFilter* self, - const char* text, - const char* text_end); -CIMGUI_API void ImGuiTextFilter_Build(ImGuiTextFilter* self); -CIMGUI_API void ImGuiTextFilter_Clear(ImGuiTextFilter* self); -CIMGUI_API bool ImGuiTextFilter_IsActive(ImGuiTextFilter* self); -CIMGUI_API ImGuiTextRange* ImGuiTextRange_ImGuiTextRange_Nil(void); -CIMGUI_API void ImGuiTextRange_destroy(ImGuiTextRange* self); -CIMGUI_API ImGuiTextRange* ImGuiTextRange_ImGuiTextRange_Str(const char* _b, - const char* _e); -CIMGUI_API bool ImGuiTextRange_empty(ImGuiTextRange* self); -CIMGUI_API void ImGuiTextRange_split(ImGuiTextRange* self, - char separator, - ImVector_ImGuiTextRange* out); -CIMGUI_API ImGuiTextBuffer* ImGuiTextBuffer_ImGuiTextBuffer(void); -CIMGUI_API void ImGuiTextBuffer_destroy(ImGuiTextBuffer* self); -CIMGUI_API const char* ImGuiTextBuffer_begin(ImGuiTextBuffer* self); -CIMGUI_API const char* ImGuiTextBuffer_end(ImGuiTextBuffer* self); -CIMGUI_API int ImGuiTextBuffer_size(ImGuiTextBuffer* self); -CIMGUI_API bool ImGuiTextBuffer_empty(ImGuiTextBuffer* self); -CIMGUI_API void ImGuiTextBuffer_clear(ImGuiTextBuffer* self); -CIMGUI_API void ImGuiTextBuffer_reserve(ImGuiTextBuffer* self, int capacity); -CIMGUI_API const char* ImGuiTextBuffer_c_str(ImGuiTextBuffer* self); -CIMGUI_API void ImGuiTextBuffer_append(ImGuiTextBuffer* self, - const char* str, - const char* str_end); -CIMGUI_API void ImGuiTextBuffer_appendfv(ImGuiTextBuffer* self, - const char* fmt, - va_list args); -CIMGUI_API ImGuiStoragePair* ImGuiStoragePair_ImGuiStoragePair_Int(ImGuiID _key, - int _val); -CIMGUI_API void ImGuiStoragePair_destroy(ImGuiStoragePair* self); -CIMGUI_API ImGuiStoragePair* ImGuiStoragePair_ImGuiStoragePair_Float( - ImGuiID _key, - float _val); -CIMGUI_API ImGuiStoragePair* ImGuiStoragePair_ImGuiStoragePair_Ptr(ImGuiID _key, - void* _val); -CIMGUI_API void ImGuiStorage_Clear(ImGuiStorage* self); -CIMGUI_API int ImGuiStorage_GetInt(ImGuiStorage* self, - ImGuiID key, - int default_val); -CIMGUI_API void ImGuiStorage_SetInt(ImGuiStorage* self, ImGuiID key, int val); -CIMGUI_API bool ImGuiStorage_GetBool(ImGuiStorage* self, - ImGuiID key, - bool default_val); -CIMGUI_API void ImGuiStorage_SetBool(ImGuiStorage* self, ImGuiID key, bool val); -CIMGUI_API float ImGuiStorage_GetFloat(ImGuiStorage* self, - ImGuiID key, - float default_val); -CIMGUI_API void ImGuiStorage_SetFloat(ImGuiStorage* self, - ImGuiID key, - float val); -CIMGUI_API void* ImGuiStorage_GetVoidPtr(ImGuiStorage* self, ImGuiID key); -CIMGUI_API void ImGuiStorage_SetVoidPtr(ImGuiStorage* self, - ImGuiID key, - void* val); -CIMGUI_API int* ImGuiStorage_GetIntRef(ImGuiStorage* self, - ImGuiID key, - int default_val); -CIMGUI_API bool* ImGuiStorage_GetBoolRef(ImGuiStorage* self, - ImGuiID key, - bool default_val); -CIMGUI_API float* ImGuiStorage_GetFloatRef(ImGuiStorage* self, - ImGuiID key, - float default_val); -CIMGUI_API void** ImGuiStorage_GetVoidPtrRef(ImGuiStorage* self, - ImGuiID key, - void* default_val); -CIMGUI_API void ImGuiStorage_BuildSortByKey(ImGuiStorage* self); -CIMGUI_API void ImGuiStorage_SetAllInt(ImGuiStorage* self, int val); -CIMGUI_API ImGuiListClipper* ImGuiListClipper_ImGuiListClipper(void); -CIMGUI_API void ImGuiListClipper_destroy(ImGuiListClipper* self); -CIMGUI_API void ImGuiListClipper_Begin(ImGuiListClipper* self, - int items_count, - float items_height); -CIMGUI_API void ImGuiListClipper_End(ImGuiListClipper* self); -CIMGUI_API bool ImGuiListClipper_Step(ImGuiListClipper* self); -CIMGUI_API void ImGuiListClipper_IncludeItemByIndex(ImGuiListClipper* self, - int item_index); -CIMGUI_API void ImGuiListClipper_IncludeItemsByIndex(ImGuiListClipper* self, - int item_begin, - int item_end); -CIMGUI_API ImColor* ImColor_ImColor_Nil(void); -CIMGUI_API void ImColor_destroy(ImColor* self); -CIMGUI_API ImColor* ImColor_ImColor_Float(float r, float g, float b, float a); -CIMGUI_API ImColor* ImColor_ImColor_Vec4(const ImVec4 col); -CIMGUI_API ImColor* ImColor_ImColor_Int(int r, int g, int b, int a); -CIMGUI_API ImColor* ImColor_ImColor_U32(ImU32 rgba); -CIMGUI_API void ImColor_SetHSV(ImColor* self, - float h, - float s, - float v, - float a); -CIMGUI_API void ImColor_HSV(ImColor* pOut, float h, float s, float v, float a); -CIMGUI_API ImDrawCmd* ImDrawCmd_ImDrawCmd(void); -CIMGUI_API void ImDrawCmd_destroy(ImDrawCmd* self); -CIMGUI_API ImTextureID ImDrawCmd_GetTexID(ImDrawCmd* self); -CIMGUI_API ImDrawListSplitter* ImDrawListSplitter_ImDrawListSplitter(void); -CIMGUI_API void ImDrawListSplitter_destroy(ImDrawListSplitter* self); -CIMGUI_API void ImDrawListSplitter_Clear(ImDrawListSplitter* self); -CIMGUI_API void ImDrawListSplitter_ClearFreeMemory(ImDrawListSplitter* self); -CIMGUI_API void ImDrawListSplitter_Split(ImDrawListSplitter* self, - ImDrawList* draw_list, - int count); -CIMGUI_API void ImDrawListSplitter_Merge(ImDrawListSplitter* self, - ImDrawList* draw_list); -CIMGUI_API void ImDrawListSplitter_SetCurrentChannel(ImDrawListSplitter* self, - ImDrawList* draw_list, - int channel_idx); -CIMGUI_API ImDrawList* ImDrawList_ImDrawList(ImDrawListSharedData* shared_data); -CIMGUI_API void ImDrawList_destroy(ImDrawList* self); -CIMGUI_API void ImDrawList_PushClipRect(ImDrawList* self, - const ImVec2 clip_rect_min, - const ImVec2 clip_rect_max, - bool intersect_with_current_clip_rect); -CIMGUI_API void ImDrawList_PushClipRectFullScreen(ImDrawList* self); -CIMGUI_API void ImDrawList_PopClipRect(ImDrawList* self); -CIMGUI_API void ImDrawList_PushTextureID(ImDrawList* self, - ImTextureID texture_id); -CIMGUI_API void ImDrawList_PopTextureID(ImDrawList* self); -CIMGUI_API void ImDrawList_GetClipRectMin(ImVec2* pOut, ImDrawList* self); -CIMGUI_API void ImDrawList_GetClipRectMax(ImVec2* pOut, ImDrawList* self); -CIMGUI_API void ImDrawList_AddLine(ImDrawList* self, - const ImVec2 p1, - const ImVec2 p2, - ImU32 col, - float thickness); -CIMGUI_API void ImDrawList_AddRect(ImDrawList* self, - const ImVec2 p_min, - const ImVec2 p_max, - ImU32 col, - float rounding, - ImDrawFlags flags, - float thickness); -CIMGUI_API void ImDrawList_AddRectFilled(ImDrawList* self, - const ImVec2 p_min, - const ImVec2 p_max, - ImU32 col, - float rounding, - ImDrawFlags flags); -CIMGUI_API void ImDrawList_AddRectFilledMultiColor(ImDrawList* self, - const ImVec2 p_min, - const ImVec2 p_max, - ImU32 col_upr_left, - ImU32 col_upr_right, - ImU32 col_bot_right, - ImU32 col_bot_left); -CIMGUI_API void ImDrawList_AddQuad(ImDrawList* self, - const ImVec2 p1, - const ImVec2 p2, - const ImVec2 p3, - const ImVec2 p4, - ImU32 col, - float thickness); -CIMGUI_API void ImDrawList_AddQuadFilled(ImDrawList* self, - const ImVec2 p1, - const ImVec2 p2, - const ImVec2 p3, - const ImVec2 p4, - ImU32 col); -CIMGUI_API void ImDrawList_AddTriangle(ImDrawList* self, - const ImVec2 p1, - const ImVec2 p2, - const ImVec2 p3, - ImU32 col, - float thickness); -CIMGUI_API void ImDrawList_AddTriangleFilled(ImDrawList* self, - const ImVec2 p1, - const ImVec2 p2, - const ImVec2 p3, - ImU32 col); -CIMGUI_API void ImDrawList_AddCircle(ImDrawList* self, - const ImVec2 center, - float radius, - ImU32 col, - int num_segments, - float thickness); -CIMGUI_API void ImDrawList_AddCircleFilled(ImDrawList* self, - const ImVec2 center, - float radius, - ImU32 col, - int num_segments); -CIMGUI_API void ImDrawList_AddNgon(ImDrawList* self, - const ImVec2 center, - float radius, - ImU32 col, - int num_segments, - float thickness); -CIMGUI_API void ImDrawList_AddNgonFilled(ImDrawList* self, - const ImVec2 center, - float radius, - ImU32 col, - int num_segments); -CIMGUI_API void ImDrawList_AddEllipse(ImDrawList* self, - const ImVec2 center, - const ImVec2 radius, - ImU32 col, - float rot, - int num_segments, - float thickness); -CIMGUI_API void ImDrawList_AddEllipseFilled(ImDrawList* self, - const ImVec2 center, - const ImVec2 radius, - ImU32 col, - float rot, - int num_segments); -CIMGUI_API void ImDrawList_AddText_Vec2(ImDrawList* self, - const ImVec2 pos, - ImU32 col, - const char* text_begin, - const char* text_end); -CIMGUI_API void ImDrawList_AddText_FontPtr(ImDrawList* self, - const ImFont* font, - float font_size, - const ImVec2 pos, - ImU32 col, - const char* text_begin, - const char* text_end, - float wrap_width, - const ImVec4* cpu_fine_clip_rect); -CIMGUI_API void ImDrawList_AddBezierCubic(ImDrawList* self, - const ImVec2 p1, - const ImVec2 p2, - const ImVec2 p3, - const ImVec2 p4, - ImU32 col, - float thickness, - int num_segments); -CIMGUI_API void ImDrawList_AddBezierQuadratic(ImDrawList* self, - const ImVec2 p1, - const ImVec2 p2, - const ImVec2 p3, - ImU32 col, - float thickness, - int num_segments); -CIMGUI_API void ImDrawList_AddPolyline(ImDrawList* self, - const ImVec2* points, - int num_points, - ImU32 col, - ImDrawFlags flags, - float thickness); -CIMGUI_API void ImDrawList_AddConvexPolyFilled(ImDrawList* self, - const ImVec2* points, - int num_points, - ImU32 col); -CIMGUI_API void ImDrawList_AddConcavePolyFilled(ImDrawList* self, - const ImVec2* points, - int num_points, - ImU32 col); -CIMGUI_API void ImDrawList_AddImage(ImDrawList* self, - ImTextureID user_texture_id, - const ImVec2 p_min, - const ImVec2 p_max, - const ImVec2 uv_min, - const ImVec2 uv_max, - ImU32 col); -CIMGUI_API void ImDrawList_AddImageQuad(ImDrawList* self, - ImTextureID user_texture_id, - const ImVec2 p1, - const ImVec2 p2, - const ImVec2 p3, - const ImVec2 p4, - const ImVec2 uv1, - const ImVec2 uv2, - const ImVec2 uv3, - const ImVec2 uv4, - ImU32 col); -CIMGUI_API void ImDrawList_AddImageRounded(ImDrawList* self, - ImTextureID user_texture_id, - const ImVec2 p_min, - const ImVec2 p_max, - const ImVec2 uv_min, - const ImVec2 uv_max, - ImU32 col, - float rounding, - ImDrawFlags flags); -CIMGUI_API void ImDrawList_PathClear(ImDrawList* self); -CIMGUI_API void ImDrawList_PathLineTo(ImDrawList* self, const ImVec2 pos); -CIMGUI_API void ImDrawList_PathLineToMergeDuplicate(ImDrawList* self, - const ImVec2 pos); -CIMGUI_API void ImDrawList_PathFillConvex(ImDrawList* self, ImU32 col); -CIMGUI_API void ImDrawList_PathFillConcave(ImDrawList* self, ImU32 col); -CIMGUI_API void ImDrawList_PathStroke(ImDrawList* self, - ImU32 col, - ImDrawFlags flags, - float thickness); -CIMGUI_API void ImDrawList_PathArcTo(ImDrawList* self, - const ImVec2 center, - float radius, - float a_min, - float a_max, - int num_segments); -CIMGUI_API void ImDrawList_PathArcToFast(ImDrawList* self, - const ImVec2 center, - float radius, - int a_min_of_12, - int a_max_of_12); -CIMGUI_API void ImDrawList_PathEllipticalArcTo(ImDrawList* self, - const ImVec2 center, - const ImVec2 radius, - float rot, - float a_min, - float a_max, - int num_segments); -CIMGUI_API void ImDrawList_PathBezierCubicCurveTo(ImDrawList* self, - const ImVec2 p2, - const ImVec2 p3, - const ImVec2 p4, - int num_segments); -CIMGUI_API void ImDrawList_PathBezierQuadraticCurveTo(ImDrawList* self, - const ImVec2 p2, - const ImVec2 p3, - int num_segments); -CIMGUI_API void ImDrawList_PathRect(ImDrawList* self, - const ImVec2 rect_min, - const ImVec2 rect_max, - float rounding, - ImDrawFlags flags); -CIMGUI_API void ImDrawList_AddCallback(ImDrawList* self, - ImDrawCallback callback, - void* callback_data); -CIMGUI_API void ImDrawList_AddDrawCmd(ImDrawList* self); -CIMGUI_API ImDrawList* ImDrawList_CloneOutput(ImDrawList* self); -CIMGUI_API void ImDrawList_ChannelsSplit(ImDrawList* self, int count); -CIMGUI_API void ImDrawList_ChannelsMerge(ImDrawList* self); -CIMGUI_API void ImDrawList_ChannelsSetCurrent(ImDrawList* self, int n); -CIMGUI_API void ImDrawList_PrimReserve(ImDrawList* self, - int idx_count, - int vtx_count); -CIMGUI_API void ImDrawList_PrimUnreserve(ImDrawList* self, - int idx_count, - int vtx_count); -CIMGUI_API void ImDrawList_PrimRect(ImDrawList* self, - const ImVec2 a, - const ImVec2 b, - ImU32 col); -CIMGUI_API void ImDrawList_PrimRectUV(ImDrawList* self, - const ImVec2 a, - const ImVec2 b, - const ImVec2 uv_a, - const ImVec2 uv_b, - ImU32 col); -CIMGUI_API void ImDrawList_PrimQuadUV(ImDrawList* self, - const ImVec2 a, - const ImVec2 b, - const ImVec2 c, - const ImVec2 d, - const ImVec2 uv_a, - const ImVec2 uv_b, - const ImVec2 uv_c, - const ImVec2 uv_d, - ImU32 col); -CIMGUI_API void ImDrawList_PrimWriteVtx(ImDrawList* self, - const ImVec2 pos, - const ImVec2 uv, - ImU32 col); -CIMGUI_API void ImDrawList_PrimWriteIdx(ImDrawList* self, ImDrawIdx idx); -CIMGUI_API void ImDrawList_PrimVtx(ImDrawList* self, - const ImVec2 pos, - const ImVec2 uv, - ImU32 col); -CIMGUI_API void ImDrawList__ResetForNewFrame(ImDrawList* self); -CIMGUI_API void ImDrawList__ClearFreeMemory(ImDrawList* self); -CIMGUI_API void ImDrawList__PopUnusedDrawCmd(ImDrawList* self); -CIMGUI_API void ImDrawList__TryMergeDrawCmds(ImDrawList* self); -CIMGUI_API void ImDrawList__OnChangedClipRect(ImDrawList* self); -CIMGUI_API void ImDrawList__OnChangedTextureID(ImDrawList* self); -CIMGUI_API void ImDrawList__OnChangedVtxOffset(ImDrawList* self); -CIMGUI_API int ImDrawList__CalcCircleAutoSegmentCount(ImDrawList* self, - float radius); -CIMGUI_API void ImDrawList__PathArcToFastEx(ImDrawList* self, - const ImVec2 center, - float radius, - int a_min_sample, - int a_max_sample, - int a_step); -CIMGUI_API void ImDrawList__PathArcToN(ImDrawList* self, - const ImVec2 center, - float radius, - float a_min, - float a_max, - int num_segments); -CIMGUI_API ImDrawData* ImDrawData_ImDrawData(void); -CIMGUI_API void ImDrawData_destroy(ImDrawData* self); -CIMGUI_API void ImDrawData_Clear(ImDrawData* self); -CIMGUI_API void ImDrawData_AddDrawList(ImDrawData* self, ImDrawList* draw_list); -CIMGUI_API void ImDrawData_DeIndexAllBuffers(ImDrawData* self); -CIMGUI_API void ImDrawData_ScaleClipRects(ImDrawData* self, - const ImVec2 fb_scale); -CIMGUI_API ImFontConfig* ImFontConfig_ImFontConfig(void); -CIMGUI_API void ImFontConfig_destroy(ImFontConfig* self); -CIMGUI_API ImFontGlyphRangesBuilder* -ImFontGlyphRangesBuilder_ImFontGlyphRangesBuilder(void); -CIMGUI_API void ImFontGlyphRangesBuilder_destroy( - ImFontGlyphRangesBuilder* self); -CIMGUI_API void ImFontGlyphRangesBuilder_Clear(ImFontGlyphRangesBuilder* self); -CIMGUI_API bool ImFontGlyphRangesBuilder_GetBit(ImFontGlyphRangesBuilder* self, - size_t n); -CIMGUI_API void ImFontGlyphRangesBuilder_SetBit(ImFontGlyphRangesBuilder* self, - size_t n); -CIMGUI_API void ImFontGlyphRangesBuilder_AddChar(ImFontGlyphRangesBuilder* self, - ImWchar c); -CIMGUI_API void ImFontGlyphRangesBuilder_AddText(ImFontGlyphRangesBuilder* self, - const char* text, - const char* text_end); -CIMGUI_API void ImFontGlyphRangesBuilder_AddRanges( - ImFontGlyphRangesBuilder* self, - const ImWchar* ranges); -CIMGUI_API void ImFontGlyphRangesBuilder_BuildRanges( - ImFontGlyphRangesBuilder* self, - ImVector_ImWchar* out_ranges); -CIMGUI_API ImFontAtlasCustomRect* ImFontAtlasCustomRect_ImFontAtlasCustomRect( - void); -CIMGUI_API void ImFontAtlasCustomRect_destroy(ImFontAtlasCustomRect* self); -CIMGUI_API bool ImFontAtlasCustomRect_IsPacked(ImFontAtlasCustomRect* self); -CIMGUI_API ImFontAtlas* ImFontAtlas_ImFontAtlas(void); -CIMGUI_API void ImFontAtlas_destroy(ImFontAtlas* self); -CIMGUI_API ImFont* ImFontAtlas_AddFont(ImFontAtlas* self, - const ImFontConfig* font_cfg); -CIMGUI_API ImFont* ImFontAtlas_AddFontDefault(ImFontAtlas* self, - const ImFontConfig* font_cfg); -CIMGUI_API ImFont* ImFontAtlas_AddFontFromFileTTF(ImFontAtlas* self, - const char* filename, - float size_pixels, - const ImFontConfig* font_cfg, - const ImWchar* glyph_ranges); -CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryTTF( - ImFontAtlas* self, - void* font_data, - int font_data_size, - float size_pixels, - const ImFontConfig* font_cfg, - const ImWchar* glyph_ranges); -CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryCompressedTTF( - ImFontAtlas* self, - const void* compressed_font_data, - int compressed_font_data_size, - float size_pixels, - const ImFontConfig* font_cfg, - const ImWchar* glyph_ranges); -CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryCompressedBase85TTF( - ImFontAtlas* self, - const char* compressed_font_data_base85, - float size_pixels, - const ImFontConfig* font_cfg, - const ImWchar* glyph_ranges); -CIMGUI_API void ImFontAtlas_ClearInputData(ImFontAtlas* self); -CIMGUI_API void ImFontAtlas_ClearTexData(ImFontAtlas* self); -CIMGUI_API void ImFontAtlas_ClearFonts(ImFontAtlas* self); -CIMGUI_API void ImFontAtlas_Clear(ImFontAtlas* self); -CIMGUI_API bool ImFontAtlas_Build(ImFontAtlas* self); -CIMGUI_API void ImFontAtlas_GetTexDataAsAlpha8(ImFontAtlas* self, - unsigned char** out_pixels, - int* out_width, - int* out_height, - int* out_bytes_per_pixel); -CIMGUI_API void ImFontAtlas_GetTexDataAsRGBA32(ImFontAtlas* self, - unsigned char** out_pixels, - int* out_width, - int* out_height, - int* out_bytes_per_pixel); -CIMGUI_API bool ImFontAtlas_IsBuilt(ImFontAtlas* self); -CIMGUI_API void ImFontAtlas_SetTexID(ImFontAtlas* self, ImTextureID id); -CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesDefault(ImFontAtlas* self); -CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesGreek(ImFontAtlas* self); -CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesKorean(ImFontAtlas* self); -CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesJapanese(ImFontAtlas* self); -CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesChineseFull( - ImFontAtlas* self); -CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesChineseSimplifiedCommon( - ImFontAtlas* self); -CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesCyrillic(ImFontAtlas* self); -CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesThai(ImFontAtlas* self); -CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesVietnamese( - ImFontAtlas* self); -CIMGUI_API int ImFontAtlas_AddCustomRectRegular(ImFontAtlas* self, - int width, - int height); -CIMGUI_API int ImFontAtlas_AddCustomRectFontGlyph(ImFontAtlas* self, - ImFont* font, - ImWchar id, - int width, - int height, - float advance_x, - const ImVec2 offset); -CIMGUI_API ImFontAtlasCustomRect* ImFontAtlas_GetCustomRectByIndex( - ImFontAtlas* self, - int index); -CIMGUI_API void ImFontAtlas_CalcCustomRectUV(ImFontAtlas* self, - const ImFontAtlasCustomRect* rect, - ImVec2* out_uv_min, - ImVec2* out_uv_max); -CIMGUI_API bool ImFontAtlas_GetMouseCursorTexData(ImFontAtlas* self, - ImGuiMouseCursor cursor, - ImVec2* out_offset, - ImVec2* out_size, - ImVec2 out_uv_border[2], - ImVec2 out_uv_fill[2]); -CIMGUI_API ImFont* ImFont_ImFont(void); -CIMGUI_API void ImFont_destroy(ImFont* self); -CIMGUI_API const ImFontGlyph* ImFont_FindGlyph(ImFont* self, ImWchar c); -CIMGUI_API const ImFontGlyph* ImFont_FindGlyphNoFallback(ImFont* self, - ImWchar c); -CIMGUI_API float ImFont_GetCharAdvance(ImFont* self, ImWchar c); -CIMGUI_API bool ImFont_IsLoaded(ImFont* self); -CIMGUI_API const char* ImFont_GetDebugName(ImFont* self); -CIMGUI_API void ImFont_CalcTextSizeA(ImVec2* pOut, - ImFont* self, - float size, - float max_width, - float wrap_width, - const char* text_begin, - const char* text_end, - const char** remaining); -CIMGUI_API const char* ImFont_CalcWordWrapPositionA(ImFont* self, - float scale, - const char* text, - const char* text_end, - float wrap_width); -CIMGUI_API void ImFont_RenderChar(ImFont* self, - ImDrawList* draw_list, - float size, - const ImVec2 pos, - ImU32 col, - ImWchar c); -CIMGUI_API void ImFont_RenderText(ImFont* self, - ImDrawList* draw_list, - float size, - const ImVec2 pos, - ImU32 col, - const ImVec4 clip_rect, - const char* text_begin, - const char* text_end, - float wrap_width, - bool cpu_fine_clip); -CIMGUI_API void ImFont_BuildLookupTable(ImFont* self); -CIMGUI_API void ImFont_ClearOutputData(ImFont* self); -CIMGUI_API void ImFont_GrowIndex(ImFont* self, int new_size); -CIMGUI_API void ImFont_AddGlyph(ImFont* self, - const ImFontConfig* src_cfg, - ImWchar c, - float x0, - float y0, - float x1, - float y1, - float u0, - float v0, - float u1, - float v1, - float advance_x); -CIMGUI_API void ImFont_AddRemapChar(ImFont* self, - ImWchar dst, - ImWchar src, - bool overwrite_dst); -CIMGUI_API void ImFont_SetGlyphVisible(ImFont* self, ImWchar c, bool visible); -CIMGUI_API bool ImFont_IsGlyphRangeUnused(ImFont* self, - unsigned int c_begin, - unsigned int c_last); -CIMGUI_API ImGuiViewport* ImGuiViewport_ImGuiViewport(void); -CIMGUI_API void ImGuiViewport_destroy(ImGuiViewport* self); -CIMGUI_API void ImGuiViewport_GetCenter(ImVec2* pOut, ImGuiViewport* self); -CIMGUI_API void ImGuiViewport_GetWorkCenter(ImVec2* pOut, ImGuiViewport* self); -CIMGUI_API ImGuiPlatformIO* ImGuiPlatformIO_ImGuiPlatformIO(void); -CIMGUI_API void ImGuiPlatformIO_destroy(ImGuiPlatformIO* self); -CIMGUI_API ImGuiPlatformMonitor* ImGuiPlatformMonitor_ImGuiPlatformMonitor( - void); -CIMGUI_API void ImGuiPlatformMonitor_destroy(ImGuiPlatformMonitor* self); -CIMGUI_API ImGuiPlatformImeData* ImGuiPlatformImeData_ImGuiPlatformImeData( - void); -CIMGUI_API void ImGuiPlatformImeData_destroy(ImGuiPlatformImeData* self); -CIMGUI_API ImGuiID igImHashData(const void* data, - size_t data_size, - ImGuiID seed); -CIMGUI_API ImGuiID igImHashStr(const char* data, - size_t data_size, - ImGuiID seed); -CIMGUI_API void igImQsort(void* base, - size_t count, - size_t size_of_element, - int (*compare_func)(void const*, void const*)); -CIMGUI_API ImU32 igImAlphaBlendColors(ImU32 col_a, ImU32 col_b); -CIMGUI_API bool igImIsPowerOfTwo_Int(int v); -CIMGUI_API bool igImIsPowerOfTwo_U64(ImU64 v); -CIMGUI_API int igImUpperPowerOfTwo(int v); -CIMGUI_API int igImStricmp(const char* str1, const char* str2); -CIMGUI_API int igImStrnicmp(const char* str1, const char* str2, size_t count); -CIMGUI_API void igImStrncpy(char* dst, const char* src, size_t count); -CIMGUI_API char* igImStrdup(const char* str); -CIMGUI_API char* igImStrdupcpy(char* dst, size_t* p_dst_size, const char* str); -CIMGUI_API const char* igImStrchrRange(const char* str_begin, - const char* str_end, - char c); -CIMGUI_API const char* igImStreolRange(const char* str, const char* str_end); -CIMGUI_API const char* igImStristr(const char* haystack, - const char* haystack_end, - const char* needle, - const char* needle_end); -CIMGUI_API void igImStrTrimBlanks(char* str); -CIMGUI_API const char* igImStrSkipBlank(const char* str); -CIMGUI_API int igImStrlenW(const ImWchar* str); -CIMGUI_API const ImWchar* igImStrbolW(const ImWchar* buf_mid_line, - const ImWchar* buf_begin); -CIMGUI_API char igImToUpper(char c); -CIMGUI_API bool igImCharIsBlankA(char c); -CIMGUI_API bool igImCharIsBlankW(unsigned int c); -CIMGUI_API int igImFormatString(char* buf, - size_t buf_size, - const char* fmt, - ...); -CIMGUI_API int igImFormatStringV(char* buf, - size_t buf_size, - const char* fmt, - va_list args); -CIMGUI_API void igImFormatStringToTempBuffer(const char** out_buf, - const char** out_buf_end, - const char* fmt, - ...); -CIMGUI_API void igImFormatStringToTempBufferV(const char** out_buf, - const char** out_buf_end, - const char* fmt, - va_list args); -CIMGUI_API const char* igImParseFormatFindStart(const char* format); -CIMGUI_API const char* igImParseFormatFindEnd(const char* format); -CIMGUI_API const char* igImParseFormatTrimDecorations(const char* format, - char* buf, - size_t buf_size); -CIMGUI_API void igImParseFormatSanitizeForPrinting(const char* fmt_in, - char* fmt_out, - size_t fmt_out_size); -CIMGUI_API const char* igImParseFormatSanitizeForScanning(const char* fmt_in, - char* fmt_out, - size_t fmt_out_size); -CIMGUI_API int igImParseFormatPrecision(const char* format, int default_value); -CIMGUI_API const char* igImTextCharToUtf8(char out_buf[5], unsigned int c); -CIMGUI_API int igImTextStrToUtf8(char* out_buf, - int out_buf_size, - const ImWchar* in_text, - const ImWchar* in_text_end); -CIMGUI_API int igImTextCharFromUtf8(unsigned int* out_char, - const char* in_text, - const char* in_text_end); -CIMGUI_API int igImTextStrFromUtf8(ImWchar* out_buf, - int out_buf_size, - const char* in_text, - const char* in_text_end, - const char** in_remaining); -CIMGUI_API int igImTextCountCharsFromUtf8(const char* in_text, - const char* in_text_end); -CIMGUI_API int igImTextCountUtf8BytesFromChar(const char* in_text, - const char* in_text_end); -CIMGUI_API int igImTextCountUtf8BytesFromStr(const ImWchar* in_text, - const ImWchar* in_text_end); -CIMGUI_API const char* igImTextFindPreviousUtf8Codepoint( - const char* in_text_start, - const char* in_text_curr); -CIMGUI_API int igImTextCountLines(const char* in_text, const char* in_text_end); -CIMGUI_API ImFileHandle igImFileOpen(const char* filename, const char* mode); -CIMGUI_API bool igImFileClose(ImFileHandle file); -CIMGUI_API ImU64 igImFileGetSize(ImFileHandle file); -CIMGUI_API ImU64 igImFileRead(void* data, - ImU64 size, - ImU64 count, - ImFileHandle file); -CIMGUI_API ImU64 igImFileWrite(const void* data, - ImU64 size, - ImU64 count, - ImFileHandle file); -CIMGUI_API void* igImFileLoadToMemory(const char* filename, - const char* mode, - size_t* out_file_size, - int padding_bytes); -CIMGUI_API float igImPow_Float(float x, float y); -CIMGUI_API double igImPow_double(double x, double y); -CIMGUI_API float igImLog_Float(float x); -CIMGUI_API double igImLog_double(double x); -CIMGUI_API int igImAbs_Int(int x); -CIMGUI_API float igImAbs_Float(float x); -CIMGUI_API double igImAbs_double(double x); -CIMGUI_API float igImSign_Float(float x); -CIMGUI_API double igImSign_double(double x); -CIMGUI_API float igImRsqrt_Float(float x); -CIMGUI_API double igImRsqrt_double(double x); -CIMGUI_API void igImMin(ImVec2* pOut, const ImVec2 lhs, const ImVec2 rhs); -CIMGUI_API void igImMax(ImVec2* pOut, const ImVec2 lhs, const ImVec2 rhs); -CIMGUI_API void igImClamp(ImVec2* pOut, - const ImVec2 v, - const ImVec2 mn, - ImVec2 mx); -CIMGUI_API void igImLerp_Vec2Float(ImVec2* pOut, - const ImVec2 a, - const ImVec2 b, - float t); -CIMGUI_API void igImLerp_Vec2Vec2(ImVec2* pOut, - const ImVec2 a, - const ImVec2 b, - const ImVec2 t); -CIMGUI_API void igImLerp_Vec4(ImVec4* pOut, - const ImVec4 a, - const ImVec4 b, - float t); -CIMGUI_API float igImSaturate(float f); -CIMGUI_API float igImLengthSqr_Vec2(const ImVec2 lhs); -CIMGUI_API float igImLengthSqr_Vec4(const ImVec4 lhs); -CIMGUI_API float igImInvLength(const ImVec2 lhs, float fail_value); -CIMGUI_API float igImTrunc_Float(float f); -CIMGUI_API void igImTrunc_Vec2(ImVec2* pOut, const ImVec2 v); -CIMGUI_API float igImFloor_Float(float f); -CIMGUI_API void igImFloor_Vec2(ImVec2* pOut, const ImVec2 v); -CIMGUI_API int igImModPositive(int a, int b); -CIMGUI_API float igImDot(const ImVec2 a, const ImVec2 b); -CIMGUI_API void igImRotate(ImVec2* pOut, - const ImVec2 v, - float cos_a, - float sin_a); -CIMGUI_API float igImLinearSweep(float current, float target, float speed); -CIMGUI_API void igImMul(ImVec2* pOut, const ImVec2 lhs, const ImVec2 rhs); -CIMGUI_API bool igImIsFloatAboveGuaranteedIntegerPrecision(float f); -CIMGUI_API float igImExponentialMovingAverage(float avg, float sample, int n); -CIMGUI_API void igImBezierCubicCalc(ImVec2* pOut, - const ImVec2 p1, - const ImVec2 p2, - const ImVec2 p3, - const ImVec2 p4, - float t); -CIMGUI_API void igImBezierCubicClosestPoint(ImVec2* pOut, - const ImVec2 p1, - const ImVec2 p2, - const ImVec2 p3, - const ImVec2 p4, - const ImVec2 p, - int num_segments); -CIMGUI_API void igImBezierCubicClosestPointCasteljau(ImVec2* pOut, - const ImVec2 p1, - const ImVec2 p2, - const ImVec2 p3, - const ImVec2 p4, - const ImVec2 p, - float tess_tol); -CIMGUI_API void igImBezierQuadraticCalc(ImVec2* pOut, - const ImVec2 p1, - const ImVec2 p2, - const ImVec2 p3, - float t); -CIMGUI_API void igImLineClosestPoint(ImVec2* pOut, - const ImVec2 a, - const ImVec2 b, - const ImVec2 p); -CIMGUI_API bool igImTriangleContainsPoint(const ImVec2 a, - const ImVec2 b, - const ImVec2 c, - const ImVec2 p); -CIMGUI_API void igImTriangleClosestPoint(ImVec2* pOut, - const ImVec2 a, - const ImVec2 b, - const ImVec2 c, - const ImVec2 p); -CIMGUI_API void igImTriangleBarycentricCoords(const ImVec2 a, - const ImVec2 b, - const ImVec2 c, - const ImVec2 p, - float* out_u, - float* out_v, - float* out_w); -CIMGUI_API float igImTriangleArea(const ImVec2 a, - const ImVec2 b, - const ImVec2 c); -CIMGUI_API bool igImTriangleIsClockwise(const ImVec2 a, - const ImVec2 b, - const ImVec2 c); -CIMGUI_API ImVec1* ImVec1_ImVec1_Nil(void); -CIMGUI_API void ImVec1_destroy(ImVec1* self); -CIMGUI_API ImVec1* ImVec1_ImVec1_Float(float _x); -CIMGUI_API ImVec2ih* ImVec2ih_ImVec2ih_Nil(void); -CIMGUI_API void ImVec2ih_destroy(ImVec2ih* self); -CIMGUI_API ImVec2ih* ImVec2ih_ImVec2ih_short(short _x, short _y); -CIMGUI_API ImVec2ih* ImVec2ih_ImVec2ih_Vec2(const ImVec2 rhs); -CIMGUI_API ImRect* ImRect_ImRect_Nil(void); -CIMGUI_API void ImRect_destroy(ImRect* self); -CIMGUI_API ImRect* ImRect_ImRect_Vec2(const ImVec2 min, const ImVec2 max); -CIMGUI_API ImRect* ImRect_ImRect_Vec4(const ImVec4 v); -CIMGUI_API ImRect* ImRect_ImRect_Float(float x1, float y1, float x2, float y2); -CIMGUI_API void ImRect_GetCenter(ImVec2* pOut, ImRect* self); -CIMGUI_API void ImRect_GetSize(ImVec2* pOut, ImRect* self); -CIMGUI_API float ImRect_GetWidth(ImRect* self); -CIMGUI_API float ImRect_GetHeight(ImRect* self); -CIMGUI_API float ImRect_GetArea(ImRect* self); -CIMGUI_API void ImRect_GetTL(ImVec2* pOut, ImRect* self); -CIMGUI_API void ImRect_GetTR(ImVec2* pOut, ImRect* self); -CIMGUI_API void ImRect_GetBL(ImVec2* pOut, ImRect* self); -CIMGUI_API void ImRect_GetBR(ImVec2* pOut, ImRect* self); -CIMGUI_API bool ImRect_Contains_Vec2(ImRect* self, const ImVec2 p); -CIMGUI_API bool ImRect_Contains_Rect(ImRect* self, const ImRect r); -CIMGUI_API bool ImRect_ContainsWithPad(ImRect* self, - const ImVec2 p, - const ImVec2 pad); -CIMGUI_API bool ImRect_Overlaps(ImRect* self, const ImRect r); -CIMGUI_API void ImRect_Add_Vec2(ImRect* self, const ImVec2 p); -CIMGUI_API void ImRect_Add_Rect(ImRect* self, const ImRect r); -CIMGUI_API void ImRect_Expand_Float(ImRect* self, const float amount); -CIMGUI_API void ImRect_Expand_Vec2(ImRect* self, const ImVec2 amount); -CIMGUI_API void ImRect_Translate(ImRect* self, const ImVec2 d); -CIMGUI_API void ImRect_TranslateX(ImRect* self, float dx); -CIMGUI_API void ImRect_TranslateY(ImRect* self, float dy); -CIMGUI_API void ImRect_ClipWith(ImRect* self, const ImRect r); -CIMGUI_API void ImRect_ClipWithFull(ImRect* self, const ImRect r); -CIMGUI_API void ImRect_Floor(ImRect* self); -CIMGUI_API bool ImRect_IsInverted(ImRect* self); -CIMGUI_API void ImRect_ToVec4(ImVec4* pOut, ImRect* self); -CIMGUI_API size_t igImBitArrayGetStorageSizeInBytes(int bitcount); -CIMGUI_API void igImBitArrayClearAllBits(ImU32* arr, int bitcount); -CIMGUI_API bool igImBitArrayTestBit(const ImU32* arr, int n); -CIMGUI_API void igImBitArrayClearBit(ImU32* arr, int n); -CIMGUI_API void igImBitArraySetBit(ImU32* arr, int n); -CIMGUI_API void igImBitArraySetBitRange(ImU32* arr, int n, int n2); -CIMGUI_API void ImBitVector_Create(ImBitVector* self, int sz); -CIMGUI_API void ImBitVector_Clear(ImBitVector* self); -CIMGUI_API bool ImBitVector_TestBit(ImBitVector* self, int n); -CIMGUI_API void ImBitVector_SetBit(ImBitVector* self, int n); -CIMGUI_API void ImBitVector_ClearBit(ImBitVector* self, int n); -CIMGUI_API void ImGuiTextIndex_clear(ImGuiTextIndex* self); -CIMGUI_API int ImGuiTextIndex_size(ImGuiTextIndex* self); -CIMGUI_API const char* ImGuiTextIndex_get_line_begin(ImGuiTextIndex* self, - const char* base, - int n); -CIMGUI_API const char* ImGuiTextIndex_get_line_end(ImGuiTextIndex* self, - const char* base, - int n); -CIMGUI_API void ImGuiTextIndex_append(ImGuiTextIndex* self, - const char* base, - int old_size, - int new_size); -CIMGUI_API ImDrawListSharedData* ImDrawListSharedData_ImDrawListSharedData( - void); -CIMGUI_API void ImDrawListSharedData_destroy(ImDrawListSharedData* self); -CIMGUI_API void ImDrawListSharedData_SetCircleTessellationMaxError( - ImDrawListSharedData* self, - float max_error); -CIMGUI_API ImDrawDataBuilder* ImDrawDataBuilder_ImDrawDataBuilder(void); -CIMGUI_API void ImDrawDataBuilder_destroy(ImDrawDataBuilder* self); -CIMGUI_API ImGuiStyleMod* ImGuiStyleMod_ImGuiStyleMod_Int(ImGuiStyleVar idx, - int v); -CIMGUI_API void ImGuiStyleMod_destroy(ImGuiStyleMod* self); -CIMGUI_API ImGuiStyleMod* ImGuiStyleMod_ImGuiStyleMod_Float(ImGuiStyleVar idx, - float v); -CIMGUI_API ImGuiStyleMod* ImGuiStyleMod_ImGuiStyleMod_Vec2(ImGuiStyleVar idx, - ImVec2 v); -CIMGUI_API ImGuiComboPreviewData* ImGuiComboPreviewData_ImGuiComboPreviewData( - void); -CIMGUI_API void ImGuiComboPreviewData_destroy(ImGuiComboPreviewData* self); -CIMGUI_API ImGuiMenuColumns* ImGuiMenuColumns_ImGuiMenuColumns(void); -CIMGUI_API void ImGuiMenuColumns_destroy(ImGuiMenuColumns* self); -CIMGUI_API void ImGuiMenuColumns_Update(ImGuiMenuColumns* self, - float spacing, - bool window_reappearing); -CIMGUI_API float ImGuiMenuColumns_DeclColumns(ImGuiMenuColumns* self, - float w_icon, - float w_label, - float w_shortcut, - float w_mark); -CIMGUI_API void ImGuiMenuColumns_CalcNextTotalWidth(ImGuiMenuColumns* self, - bool update_offsets); -CIMGUI_API ImGuiInputTextDeactivatedState* -ImGuiInputTextDeactivatedState_ImGuiInputTextDeactivatedState(void); -CIMGUI_API void ImGuiInputTextDeactivatedState_destroy( - ImGuiInputTextDeactivatedState* self); -CIMGUI_API void ImGuiInputTextDeactivatedState_ClearFreeMemory( - ImGuiInputTextDeactivatedState* self); -CIMGUI_API ImGuiInputTextState* ImGuiInputTextState_ImGuiInputTextState(void); -CIMGUI_API void ImGuiInputTextState_destroy(ImGuiInputTextState* self); -CIMGUI_API void ImGuiInputTextState_ClearText(ImGuiInputTextState* self); -CIMGUI_API void ImGuiInputTextState_ClearFreeMemory(ImGuiInputTextState* self); -CIMGUI_API int ImGuiInputTextState_GetUndoAvailCount(ImGuiInputTextState* self); -CIMGUI_API int ImGuiInputTextState_GetRedoAvailCount(ImGuiInputTextState* self); -CIMGUI_API void ImGuiInputTextState_OnKeyPressed(ImGuiInputTextState* self, - int key); -CIMGUI_API void ImGuiInputTextState_CursorAnimReset(ImGuiInputTextState* self); -CIMGUI_API void ImGuiInputTextState_CursorClamp(ImGuiInputTextState* self); -CIMGUI_API bool ImGuiInputTextState_HasSelection(ImGuiInputTextState* self); -CIMGUI_API void ImGuiInputTextState_ClearSelection(ImGuiInputTextState* self); -CIMGUI_API int ImGuiInputTextState_GetCursorPos(ImGuiInputTextState* self); -CIMGUI_API int ImGuiInputTextState_GetSelectionStart(ImGuiInputTextState* self); -CIMGUI_API int ImGuiInputTextState_GetSelectionEnd(ImGuiInputTextState* self); -CIMGUI_API void ImGuiInputTextState_SelectAll(ImGuiInputTextState* self); -CIMGUI_API void ImGuiInputTextState_ReloadUserBufAndSelectAll( - ImGuiInputTextState* self); -CIMGUI_API void ImGuiInputTextState_ReloadUserBufAndKeepSelection( - ImGuiInputTextState* self); -CIMGUI_API void ImGuiInputTextState_ReloadUserBufAndMoveToEnd( - ImGuiInputTextState* self); -CIMGUI_API ImGuiNextWindowData* ImGuiNextWindowData_ImGuiNextWindowData(void); -CIMGUI_API void ImGuiNextWindowData_destroy(ImGuiNextWindowData* self); -CIMGUI_API void ImGuiNextWindowData_ClearFlags(ImGuiNextWindowData* self); -CIMGUI_API ImGuiNextItemData* ImGuiNextItemData_ImGuiNextItemData(void); -CIMGUI_API void ImGuiNextItemData_destroy(ImGuiNextItemData* self); -CIMGUI_API void ImGuiNextItemData_ClearFlags(ImGuiNextItemData* self); -CIMGUI_API ImGuiLastItemData* ImGuiLastItemData_ImGuiLastItemData(void); -CIMGUI_API void ImGuiLastItemData_destroy(ImGuiLastItemData* self); -CIMGUI_API ImGuiStackSizes* ImGuiStackSizes_ImGuiStackSizes(void); -CIMGUI_API void ImGuiStackSizes_destroy(ImGuiStackSizes* self); -CIMGUI_API void ImGuiStackSizes_SetToContextState(ImGuiStackSizes* self, - ImGuiContext* ctx); -CIMGUI_API void ImGuiStackSizes_CompareWithContextState(ImGuiStackSizes* self, - ImGuiContext* ctx); -CIMGUI_API ImGuiPtrOrIndex* ImGuiPtrOrIndex_ImGuiPtrOrIndex_Ptr(void* ptr); -CIMGUI_API void ImGuiPtrOrIndex_destroy(ImGuiPtrOrIndex* self); -CIMGUI_API ImGuiPtrOrIndex* ImGuiPtrOrIndex_ImGuiPtrOrIndex_Int(int index); -CIMGUI_API void* ImGuiDataVarInfo_GetVarPtr(ImGuiDataVarInfo* self, - void* parent); -CIMGUI_API ImGuiPopupData* ImGuiPopupData_ImGuiPopupData(void); -CIMGUI_API void ImGuiPopupData_destroy(ImGuiPopupData* self); -CIMGUI_API ImGuiInputEvent* ImGuiInputEvent_ImGuiInputEvent(void); -CIMGUI_API void ImGuiInputEvent_destroy(ImGuiInputEvent* self); -CIMGUI_API ImGuiKeyRoutingData* ImGuiKeyRoutingData_ImGuiKeyRoutingData(void); -CIMGUI_API void ImGuiKeyRoutingData_destroy(ImGuiKeyRoutingData* self); -CIMGUI_API ImGuiKeyRoutingTable* ImGuiKeyRoutingTable_ImGuiKeyRoutingTable( - void); -CIMGUI_API void ImGuiKeyRoutingTable_destroy(ImGuiKeyRoutingTable* self); -CIMGUI_API void ImGuiKeyRoutingTable_Clear(ImGuiKeyRoutingTable* self); -CIMGUI_API ImGuiKeyOwnerData* ImGuiKeyOwnerData_ImGuiKeyOwnerData(void); -CIMGUI_API void ImGuiKeyOwnerData_destroy(ImGuiKeyOwnerData* self); -CIMGUI_API ImGuiListClipperRange ImGuiListClipperRange_FromIndices(int min, - int max); -CIMGUI_API ImGuiListClipperRange -ImGuiListClipperRange_FromPositions(float y1, - float y2, - int off_min, - int off_max); -CIMGUI_API ImGuiListClipperData* ImGuiListClipperData_ImGuiListClipperData( - void); -CIMGUI_API void ImGuiListClipperData_destroy(ImGuiListClipperData* self); -CIMGUI_API void ImGuiListClipperData_Reset(ImGuiListClipperData* self, - ImGuiListClipper* clipper); -CIMGUI_API ImGuiNavItemData* ImGuiNavItemData_ImGuiNavItemData(void); -CIMGUI_API void ImGuiNavItemData_destroy(ImGuiNavItemData* self); -CIMGUI_API void ImGuiNavItemData_Clear(ImGuiNavItemData* self); -CIMGUI_API ImGuiTypingSelectState* -ImGuiTypingSelectState_ImGuiTypingSelectState(void); -CIMGUI_API void ImGuiTypingSelectState_destroy(ImGuiTypingSelectState* self); -CIMGUI_API void ImGuiTypingSelectState_Clear(ImGuiTypingSelectState* self); -CIMGUI_API ImGuiOldColumnData* ImGuiOldColumnData_ImGuiOldColumnData(void); -CIMGUI_API void ImGuiOldColumnData_destroy(ImGuiOldColumnData* self); -CIMGUI_API ImGuiOldColumns* ImGuiOldColumns_ImGuiOldColumns(void); -CIMGUI_API void ImGuiOldColumns_destroy(ImGuiOldColumns* self); -CIMGUI_API ImGuiDockNode* ImGuiDockNode_ImGuiDockNode(ImGuiID id); -CIMGUI_API void ImGuiDockNode_destroy(ImGuiDockNode* self); -CIMGUI_API bool ImGuiDockNode_IsRootNode(ImGuiDockNode* self); -CIMGUI_API bool ImGuiDockNode_IsDockSpace(ImGuiDockNode* self); -CIMGUI_API bool ImGuiDockNode_IsFloatingNode(ImGuiDockNode* self); -CIMGUI_API bool ImGuiDockNode_IsCentralNode(ImGuiDockNode* self); -CIMGUI_API bool ImGuiDockNode_IsHiddenTabBar(ImGuiDockNode* self); -CIMGUI_API bool ImGuiDockNode_IsNoTabBar(ImGuiDockNode* self); -CIMGUI_API bool ImGuiDockNode_IsSplitNode(ImGuiDockNode* self); -CIMGUI_API bool ImGuiDockNode_IsLeafNode(ImGuiDockNode* self); -CIMGUI_API bool ImGuiDockNode_IsEmpty(ImGuiDockNode* self); -CIMGUI_API void ImGuiDockNode_Rect(ImRect* pOut, ImGuiDockNode* self); -CIMGUI_API void ImGuiDockNode_SetLocalFlags(ImGuiDockNode* self, - ImGuiDockNodeFlags flags); -CIMGUI_API void ImGuiDockNode_UpdateMergedFlags(ImGuiDockNode* self); -CIMGUI_API ImGuiDockContext* ImGuiDockContext_ImGuiDockContext(void); -CIMGUI_API void ImGuiDockContext_destroy(ImGuiDockContext* self); -CIMGUI_API ImGuiViewportP* ImGuiViewportP_ImGuiViewportP(void); -CIMGUI_API void ImGuiViewportP_destroy(ImGuiViewportP* self); -CIMGUI_API void ImGuiViewportP_ClearRequestFlags(ImGuiViewportP* self); -CIMGUI_API void ImGuiViewportP_CalcWorkRectPos(ImVec2* pOut, - ImGuiViewportP* self, - const ImVec2 off_min); -CIMGUI_API void ImGuiViewportP_CalcWorkRectSize(ImVec2* pOut, - ImGuiViewportP* self, - const ImVec2 off_min, - const ImVec2 off_max); -CIMGUI_API void ImGuiViewportP_UpdateWorkRect(ImGuiViewportP* self); -CIMGUI_API void ImGuiViewportP_GetMainRect(ImRect* pOut, ImGuiViewportP* self); -CIMGUI_API void ImGuiViewportP_GetWorkRect(ImRect* pOut, ImGuiViewportP* self); -CIMGUI_API void ImGuiViewportP_GetBuildWorkRect(ImRect* pOut, - ImGuiViewportP* self); -CIMGUI_API ImGuiWindowSettings* ImGuiWindowSettings_ImGuiWindowSettings(void); -CIMGUI_API void ImGuiWindowSettings_destroy(ImGuiWindowSettings* self); -CIMGUI_API char* ImGuiWindowSettings_GetName(ImGuiWindowSettings* self); -CIMGUI_API ImGuiSettingsHandler* ImGuiSettingsHandler_ImGuiSettingsHandler( - void); -CIMGUI_API void ImGuiSettingsHandler_destroy(ImGuiSettingsHandler* self); -CIMGUI_API ImGuiDebugAllocInfo* ImGuiDebugAllocInfo_ImGuiDebugAllocInfo(void); -CIMGUI_API void ImGuiDebugAllocInfo_destroy(ImGuiDebugAllocInfo* self); -CIMGUI_API ImGuiStackLevelInfo* ImGuiStackLevelInfo_ImGuiStackLevelInfo(void); -CIMGUI_API void ImGuiStackLevelInfo_destroy(ImGuiStackLevelInfo* self); -CIMGUI_API ImGuiIDStackTool* ImGuiIDStackTool_ImGuiIDStackTool(void); -CIMGUI_API void ImGuiIDStackTool_destroy(ImGuiIDStackTool* self); -CIMGUI_API ImGuiContextHook* ImGuiContextHook_ImGuiContextHook(void); -CIMGUI_API void ImGuiContextHook_destroy(ImGuiContextHook* self); -CIMGUI_API ImGuiContext* ImGuiContext_ImGuiContext( - ImFontAtlas* shared_font_atlas); -CIMGUI_API void ImGuiContext_destroy(ImGuiContext* self); -CIMGUI_API ImGuiWindow* ImGuiWindow_ImGuiWindow(ImGuiContext* context, - const char* name); -CIMGUI_API void ImGuiWindow_destroy(ImGuiWindow* self); -CIMGUI_API ImGuiID ImGuiWindow_GetID_Str(ImGuiWindow* self, - const char* str, - const char* str_end); -CIMGUI_API ImGuiID ImGuiWindow_GetID_Ptr(ImGuiWindow* self, const void* ptr); -CIMGUI_API ImGuiID ImGuiWindow_GetID_Int(ImGuiWindow* self, int n); -CIMGUI_API ImGuiID ImGuiWindow_GetIDFromRectangle(ImGuiWindow* self, - const ImRect r_abs); -CIMGUI_API void ImGuiWindow_Rect(ImRect* pOut, ImGuiWindow* self); -CIMGUI_API float ImGuiWindow_CalcFontSize(ImGuiWindow* self); -CIMGUI_API float ImGuiWindow_TitleBarHeight(ImGuiWindow* self); -CIMGUI_API void ImGuiWindow_TitleBarRect(ImRect* pOut, ImGuiWindow* self); -CIMGUI_API float ImGuiWindow_MenuBarHeight(ImGuiWindow* self); -CIMGUI_API void ImGuiWindow_MenuBarRect(ImRect* pOut, ImGuiWindow* self); -CIMGUI_API ImGuiTabItem* ImGuiTabItem_ImGuiTabItem(void); -CIMGUI_API void ImGuiTabItem_destroy(ImGuiTabItem* self); -CIMGUI_API ImGuiTabBar* ImGuiTabBar_ImGuiTabBar(void); -CIMGUI_API void ImGuiTabBar_destroy(ImGuiTabBar* self); -CIMGUI_API ImGuiTableColumn* ImGuiTableColumn_ImGuiTableColumn(void); -CIMGUI_API void ImGuiTableColumn_destroy(ImGuiTableColumn* self); -CIMGUI_API ImGuiTableInstanceData* -ImGuiTableInstanceData_ImGuiTableInstanceData(void); -CIMGUI_API void ImGuiTableInstanceData_destroy(ImGuiTableInstanceData* self); -CIMGUI_API ImGuiTable* ImGuiTable_ImGuiTable(void); -CIMGUI_API void ImGuiTable_destroy(ImGuiTable* self); -CIMGUI_API ImGuiTableTempData* ImGuiTableTempData_ImGuiTableTempData(void); -CIMGUI_API void ImGuiTableTempData_destroy(ImGuiTableTempData* self); -CIMGUI_API ImGuiTableColumnSettings* -ImGuiTableColumnSettings_ImGuiTableColumnSettings(void); -CIMGUI_API void ImGuiTableColumnSettings_destroy( - ImGuiTableColumnSettings* self); -CIMGUI_API ImGuiTableSettings* ImGuiTableSettings_ImGuiTableSettings(void); -CIMGUI_API void ImGuiTableSettings_destroy(ImGuiTableSettings* self); -CIMGUI_API ImGuiTableColumnSettings* ImGuiTableSettings_GetColumnSettings( - ImGuiTableSettings* self); -CIMGUI_API ImGuiWindow* igGetCurrentWindowRead(void); -CIMGUI_API ImGuiWindow* igGetCurrentWindow(void); -CIMGUI_API ImGuiWindow* igFindWindowByID(ImGuiID id); -CIMGUI_API ImGuiWindow* igFindWindowByName(const char* name); -CIMGUI_API void igUpdateWindowParentAndRootLinks(ImGuiWindow* window, - ImGuiWindowFlags flags, - ImGuiWindow* parent_window); -CIMGUI_API void igUpdateWindowSkipRefresh(ImGuiWindow* window); -CIMGUI_API void igCalcWindowNextAutoFitSize(ImVec2* pOut, ImGuiWindow* window); -CIMGUI_API bool igIsWindowChildOf(ImGuiWindow* window, - ImGuiWindow* potential_parent, - bool popup_hierarchy, - bool dock_hierarchy); -CIMGUI_API bool igIsWindowWithinBeginStackOf(ImGuiWindow* window, - ImGuiWindow* potential_parent); -CIMGUI_API bool igIsWindowAbove(ImGuiWindow* potential_above, - ImGuiWindow* potential_below); -CIMGUI_API bool igIsWindowNavFocusable(ImGuiWindow* window); -CIMGUI_API void igSetWindowPos_WindowPtr(ImGuiWindow* window, - const ImVec2 pos, - ImGuiCond cond); -CIMGUI_API void igSetWindowSize_WindowPtr(ImGuiWindow* window, - const ImVec2 size, - ImGuiCond cond); -CIMGUI_API void igSetWindowCollapsed_WindowPtr(ImGuiWindow* window, - bool collapsed, - ImGuiCond cond); -CIMGUI_API void igSetWindowHitTestHole(ImGuiWindow* window, - const ImVec2 pos, - const ImVec2 size); -CIMGUI_API void igSetWindowHiddenAndSkipItemsForCurrentFrame( - ImGuiWindow* window); -CIMGUI_API void igSetWindowParentWindowForFocusRoute( - ImGuiWindow* window, - ImGuiWindow* parent_window); -CIMGUI_API void igWindowRectAbsToRel(ImRect* pOut, - ImGuiWindow* window, - const ImRect r); -CIMGUI_API void igWindowRectRelToAbs(ImRect* pOut, - ImGuiWindow* window, - const ImRect r); -CIMGUI_API void igWindowPosRelToAbs(ImVec2* pOut, - ImGuiWindow* window, - const ImVec2 p); -CIMGUI_API void igFocusWindow(ImGuiWindow* window, - ImGuiFocusRequestFlags flags); -CIMGUI_API void igFocusTopMostWindowUnderOne(ImGuiWindow* under_this_window, - ImGuiWindow* ignore_window, - ImGuiViewport* filter_viewport, - ImGuiFocusRequestFlags flags); -CIMGUI_API void igBringWindowToFocusFront(ImGuiWindow* window); -CIMGUI_API void igBringWindowToDisplayFront(ImGuiWindow* window); -CIMGUI_API void igBringWindowToDisplayBack(ImGuiWindow* window); -CIMGUI_API void igBringWindowToDisplayBehind(ImGuiWindow* window, - ImGuiWindow* above_window); -CIMGUI_API int igFindWindowDisplayIndex(ImGuiWindow* window); -CIMGUI_API ImGuiWindow* igFindBottomMostVisibleWindowWithinBeginStack( - ImGuiWindow* window); -CIMGUI_API void igSetNextWindowRefreshPolicy(ImGuiWindowRefreshFlags flags); -CIMGUI_API void igSetCurrentFont(ImFont* font); -CIMGUI_API ImFont* igGetDefaultFont(void); -CIMGUI_API ImDrawList* igGetForegroundDrawList_WindowPtr(ImGuiWindow* window); -CIMGUI_API void igAddDrawListToDrawDataEx(ImDrawData* draw_data, - ImVector_ImDrawListPtr* out_list, - ImDrawList* draw_list); -CIMGUI_API void igInitialize(void); -CIMGUI_API void igShutdown(void); -CIMGUI_API void igUpdateInputEvents(bool trickle_fast_inputs); -CIMGUI_API void igUpdateHoveredWindowAndCaptureFlags(void); -CIMGUI_API void igStartMouseMovingWindow(ImGuiWindow* window); -CIMGUI_API void igStartMouseMovingWindowOrNode(ImGuiWindow* window, - ImGuiDockNode* node, - bool undock); -CIMGUI_API void igUpdateMouseMovingWindowNewFrame(void); -CIMGUI_API void igUpdateMouseMovingWindowEndFrame(void); -CIMGUI_API ImGuiID igAddContextHook(ImGuiContext* context, - const ImGuiContextHook* hook); -CIMGUI_API void igRemoveContextHook(ImGuiContext* context, - ImGuiID hook_to_remove); -CIMGUI_API void igCallContextHooks(ImGuiContext* context, - ImGuiContextHookType type); -CIMGUI_API void igTranslateWindowsInViewport(ImGuiViewportP* viewport, - const ImVec2 old_pos, - const ImVec2 new_pos); -CIMGUI_API void igScaleWindowsInViewport(ImGuiViewportP* viewport, float scale); -CIMGUI_API void igDestroyPlatformWindow(ImGuiViewportP* viewport); -CIMGUI_API void igSetWindowViewport(ImGuiWindow* window, - ImGuiViewportP* viewport); -CIMGUI_API void igSetCurrentViewport(ImGuiWindow* window, - ImGuiViewportP* viewport); -CIMGUI_API const ImGuiPlatformMonitor* igGetViewportPlatformMonitor( - ImGuiViewport* viewport); -CIMGUI_API ImGuiViewportP* igFindHoveredViewportFromPlatformWindowStack( - const ImVec2 mouse_platform_pos); -CIMGUI_API void igMarkIniSettingsDirty_Nil(void); -CIMGUI_API void igMarkIniSettingsDirty_WindowPtr(ImGuiWindow* window); -CIMGUI_API void igClearIniSettings(void); -CIMGUI_API void igAddSettingsHandler(const ImGuiSettingsHandler* handler); -CIMGUI_API void igRemoveSettingsHandler(const char* type_name); -CIMGUI_API ImGuiSettingsHandler* igFindSettingsHandler(const char* type_name); -CIMGUI_API ImGuiWindowSettings* igCreateNewWindowSettings(const char* name); -CIMGUI_API ImGuiWindowSettings* igFindWindowSettingsByID(ImGuiID id); -CIMGUI_API ImGuiWindowSettings* igFindWindowSettingsByWindow( - ImGuiWindow* window); -CIMGUI_API void igClearWindowSettings(const char* name); -CIMGUI_API void igLocalizeRegisterEntries(const ImGuiLocEntry* entries, - int count); -CIMGUI_API const char* igLocalizeGetMsg(ImGuiLocKey key); -CIMGUI_API void igSetScrollX_WindowPtr(ImGuiWindow* window, float scroll_x); -CIMGUI_API void igSetScrollY_WindowPtr(ImGuiWindow* window, float scroll_y); -CIMGUI_API void igSetScrollFromPosX_WindowPtr(ImGuiWindow* window, - float local_x, - float center_x_ratio); -CIMGUI_API void igSetScrollFromPosY_WindowPtr(ImGuiWindow* window, - float local_y, - float center_y_ratio); -CIMGUI_API void igScrollToItem(ImGuiScrollFlags flags); -CIMGUI_API void igScrollToRect(ImGuiWindow* window, - const ImRect rect, - ImGuiScrollFlags flags); -CIMGUI_API void igScrollToRectEx(ImVec2* pOut, - ImGuiWindow* window, - const ImRect rect, - ImGuiScrollFlags flags); -CIMGUI_API void igScrollToBringRectIntoView(ImGuiWindow* window, - const ImRect rect); -CIMGUI_API ImGuiItemStatusFlags igGetItemStatusFlags(void); -CIMGUI_API ImGuiItemFlags igGetItemFlags(void); -CIMGUI_API ImGuiID igGetActiveID(void); -CIMGUI_API ImGuiID igGetFocusID(void); -CIMGUI_API void igSetActiveID(ImGuiID id, ImGuiWindow* window); -CIMGUI_API void igSetFocusID(ImGuiID id, ImGuiWindow* window); -CIMGUI_API void igClearActiveID(void); -CIMGUI_API ImGuiID igGetHoveredID(void); -CIMGUI_API void igSetHoveredID(ImGuiID id); -CIMGUI_API void igKeepAliveID(ImGuiID id); -CIMGUI_API void igMarkItemEdited(ImGuiID id); -CIMGUI_API void igPushOverrideID(ImGuiID id); -CIMGUI_API ImGuiID igGetIDWithSeed_Str(const char* str_id_begin, - const char* str_id_end, - ImGuiID seed); -CIMGUI_API ImGuiID igGetIDWithSeed_Int(int n, ImGuiID seed); -CIMGUI_API void igItemSize_Vec2(const ImVec2 size, float text_baseline_y); -CIMGUI_API void igItemSize_Rect(const ImRect bb, float text_baseline_y); -CIMGUI_API bool igItemAdd(const ImRect bb, - ImGuiID id, - const ImRect* nav_bb, - ImGuiItemFlags extra_flags); -CIMGUI_API bool igItemHoverable(const ImRect bb, - ImGuiID id, - ImGuiItemFlags item_flags); -CIMGUI_API bool igIsWindowContentHoverable(ImGuiWindow* window, - ImGuiHoveredFlags flags); -CIMGUI_API bool igIsClippedEx(const ImRect bb, ImGuiID id); -CIMGUI_API void igSetLastItemData(ImGuiID item_id, - ImGuiItemFlags in_flags, - ImGuiItemStatusFlags status_flags, - const ImRect item_rect); -CIMGUI_API void igCalcItemSize(ImVec2* pOut, - ImVec2 size, - float default_w, - float default_h); -CIMGUI_API float igCalcWrapWidthForPos(const ImVec2 pos, float wrap_pos_x); -CIMGUI_API void igPushMultiItemsWidths(int components, float width_full); -CIMGUI_API bool igIsItemToggledSelection(void); -CIMGUI_API void igGetContentRegionMaxAbs(ImVec2* pOut); -CIMGUI_API void igShrinkWidths(ImGuiShrinkWidthItem* items, - int count, - float width_excess); -CIMGUI_API void igPushItemFlag(ImGuiItemFlags option, bool enabled); -CIMGUI_API void igPopItemFlag(void); -CIMGUI_API const ImGuiDataVarInfo* igGetStyleVarInfo(ImGuiStyleVar idx); -CIMGUI_API void igLogBegin(ImGuiLogType type, int auto_open_depth); -CIMGUI_API void igLogToBuffer(int auto_open_depth); -CIMGUI_API void igLogRenderedText(const ImVec2* ref_pos, - const char* text, - const char* text_end); -CIMGUI_API void igLogSetNextTextDecoration(const char* prefix, - const char* suffix); -CIMGUI_API bool igBeginChildEx(const char* name, - ImGuiID id, - const ImVec2 size_arg, - ImGuiChildFlags child_flags, - ImGuiWindowFlags window_flags); -CIMGUI_API void igOpenPopupEx(ImGuiID id, ImGuiPopupFlags popup_flags); -CIMGUI_API void igClosePopupToLevel(int remaining, - bool restore_focus_to_window_under_popup); -CIMGUI_API void igClosePopupsOverWindow( - ImGuiWindow* ref_window, - bool restore_focus_to_window_under_popup); -CIMGUI_API void igClosePopupsExceptModals(void); -CIMGUI_API bool igIsPopupOpen_ID(ImGuiID id, ImGuiPopupFlags popup_flags); -CIMGUI_API bool igBeginPopupEx(ImGuiID id, ImGuiWindowFlags extra_flags); -CIMGUI_API bool igBeginTooltipEx(ImGuiTooltipFlags tooltip_flags, - ImGuiWindowFlags extra_window_flags); -CIMGUI_API bool igBeginTooltipHidden(void); -CIMGUI_API void igGetPopupAllowedExtentRect(ImRect* pOut, ImGuiWindow* window); -CIMGUI_API ImGuiWindow* igGetTopMostPopupModal(void); -CIMGUI_API ImGuiWindow* igGetTopMostAndVisiblePopupModal(void); -CIMGUI_API ImGuiWindow* igFindBlockingModal(ImGuiWindow* window); -CIMGUI_API void igFindBestWindowPosForPopup(ImVec2* pOut, ImGuiWindow* window); -CIMGUI_API void igFindBestWindowPosForPopupEx(ImVec2* pOut, - const ImVec2 ref_pos, - const ImVec2 size, - ImGuiDir* last_dir, - const ImRect r_outer, - const ImRect r_avoid, - ImGuiPopupPositionPolicy policy); -CIMGUI_API bool igBeginViewportSideBar(const char* name, - ImGuiViewport* viewport, - ImGuiDir dir, - float size, - ImGuiWindowFlags window_flags); -CIMGUI_API bool igBeginMenuEx(const char* label, - const char* icon, - bool enabled); -CIMGUI_API bool igMenuItemEx(const char* label, - const char* icon, - const char* shortcut, - bool selected, - bool enabled); -CIMGUI_API bool igBeginComboPopup(ImGuiID popup_id, - const ImRect bb, - ImGuiComboFlags flags); -CIMGUI_API bool igBeginComboPreview(void); -CIMGUI_API void igEndComboPreview(void); -CIMGUI_API void igNavInitWindow(ImGuiWindow* window, bool force_reinit); -CIMGUI_API void igNavInitRequestApplyResult(void); -CIMGUI_API bool igNavMoveRequestButNoResultYet(void); -CIMGUI_API void igNavMoveRequestSubmit(ImGuiDir move_dir, - ImGuiDir clip_dir, - ImGuiNavMoveFlags move_flags, - ImGuiScrollFlags scroll_flags); -CIMGUI_API void igNavMoveRequestForward(ImGuiDir move_dir, - ImGuiDir clip_dir, - ImGuiNavMoveFlags move_flags, - ImGuiScrollFlags scroll_flags); -CIMGUI_API void igNavMoveRequestResolveWithLastItem(ImGuiNavItemData* result); -CIMGUI_API void igNavMoveRequestResolveWithPastTreeNode( - ImGuiNavItemData* result, - ImGuiNavTreeNodeData* tree_node_data); -CIMGUI_API void igNavMoveRequestCancel(void); -CIMGUI_API void igNavMoveRequestApplyResult(void); -CIMGUI_API void igNavMoveRequestTryWrapping(ImGuiWindow* window, - ImGuiNavMoveFlags move_flags); -CIMGUI_API void igNavHighlightActivated(ImGuiID id); -CIMGUI_API void igNavClearPreferredPosForAxis(ImGuiAxis axis); -CIMGUI_API void igNavRestoreHighlightAfterMove(void); -CIMGUI_API void igNavUpdateCurrentWindowIsScrollPushableX(void); -CIMGUI_API void igSetNavWindow(ImGuiWindow* window); -CIMGUI_API void igSetNavID(ImGuiID id, - ImGuiNavLayer nav_layer, - ImGuiID focus_scope_id, - const ImRect rect_rel); -CIMGUI_API void igSetNavFocusScope(ImGuiID focus_scope_id); -CIMGUI_API void igFocusItem(void); -CIMGUI_API void igActivateItemByID(ImGuiID id); -CIMGUI_API bool igIsNamedKey(ImGuiKey key); -CIMGUI_API bool igIsNamedKeyOrModKey(ImGuiKey key); -CIMGUI_API bool igIsLegacyKey(ImGuiKey key); -CIMGUI_API bool igIsKeyboardKey(ImGuiKey key); -CIMGUI_API bool igIsGamepadKey(ImGuiKey key); -CIMGUI_API bool igIsMouseKey(ImGuiKey key); -CIMGUI_API bool igIsAliasKey(ImGuiKey key); -CIMGUI_API bool igIsModKey(ImGuiKey key); -CIMGUI_API ImGuiKeyChord igFixupKeyChord(ImGuiContext* ctx, - ImGuiKeyChord key_chord); -CIMGUI_API ImGuiKey igConvertSingleModFlagToKey(ImGuiContext* ctx, - ImGuiKey key); -CIMGUI_API ImGuiKeyData* igGetKeyData_ContextPtr(ImGuiContext* ctx, - ImGuiKey key); -CIMGUI_API ImGuiKeyData* igGetKeyData_Key(ImGuiKey key); -CIMGUI_API const char* igGetKeyChordName(ImGuiKeyChord key_chord); -CIMGUI_API ImGuiKey igMouseButtonToKey(ImGuiMouseButton button); -CIMGUI_API bool igIsMouseDragPastThreshold(ImGuiMouseButton button, - float lock_threshold); -CIMGUI_API void igGetKeyMagnitude2d(ImVec2* pOut, - ImGuiKey key_left, - ImGuiKey key_right, - ImGuiKey key_up, - ImGuiKey key_down); -CIMGUI_API float igGetNavTweakPressedAmount(ImGuiAxis axis); -CIMGUI_API int igCalcTypematicRepeatAmount(float t0, - float t1, - float repeat_delay, - float repeat_rate); -CIMGUI_API void igGetTypematicRepeatRate(ImGuiInputFlags flags, - float* repeat_delay, - float* repeat_rate); -CIMGUI_API void igTeleportMousePos(const ImVec2 pos); -CIMGUI_API void igSetActiveIdUsingAllKeyboardKeys(void); -CIMGUI_API bool igIsActiveIdUsingNavDir(ImGuiDir dir); -CIMGUI_API ImGuiID igGetKeyOwner(ImGuiKey key); -CIMGUI_API void igSetKeyOwner(ImGuiKey key, - ImGuiID owner_id, - ImGuiInputFlags flags); -CIMGUI_API void igSetKeyOwnersForKeyChord(ImGuiKeyChord key, - ImGuiID owner_id, - ImGuiInputFlags flags); -CIMGUI_API void igSetItemKeyOwner(ImGuiKey key, ImGuiInputFlags flags); -CIMGUI_API bool igTestKeyOwner(ImGuiKey key, ImGuiID owner_id); -CIMGUI_API ImGuiKeyOwnerData* igGetKeyOwnerData(ImGuiContext* ctx, - ImGuiKey key); -CIMGUI_API bool igIsKeyDown_ID(ImGuiKey key, ImGuiID owner_id); -CIMGUI_API bool igIsKeyPressed_ID(ImGuiKey key, - ImGuiID owner_id, - ImGuiInputFlags flags); -CIMGUI_API bool igIsKeyReleased_ID(ImGuiKey key, ImGuiID owner_id); -CIMGUI_API bool igIsMouseDown_ID(ImGuiMouseButton button, ImGuiID owner_id); -CIMGUI_API bool igIsMouseClicked_ID(ImGuiMouseButton button, - ImGuiID owner_id, - ImGuiInputFlags flags); -CIMGUI_API bool igIsMouseReleased_ID(ImGuiMouseButton button, ImGuiID owner_id); -CIMGUI_API bool igIsMouseDoubleClicked_ID(ImGuiMouseButton button, - ImGuiID owner_id); -CIMGUI_API bool igIsKeyChordPressed_ID(ImGuiKeyChord key_chord, - ImGuiID owner_id, - ImGuiInputFlags flags); -CIMGUI_API void igSetNextItemShortcut(ImGuiKeyChord key_chord); -CIMGUI_API bool igShortcut(ImGuiKeyChord key_chord, - ImGuiID owner_id, - ImGuiInputFlags flags); -CIMGUI_API bool igSetShortcutRouting(ImGuiKeyChord key_chord, - ImGuiID owner_id, - ImGuiInputFlags flags); -CIMGUI_API bool igTestShortcutRouting(ImGuiKeyChord key_chord, - ImGuiID owner_id); -CIMGUI_API ImGuiKeyRoutingData* igGetShortcutRoutingData( - ImGuiKeyChord key_chord); -CIMGUI_API void igDockContextInitialize(ImGuiContext* ctx); -CIMGUI_API void igDockContextShutdown(ImGuiContext* ctx); -CIMGUI_API void igDockContextClearNodes(ImGuiContext* ctx, - ImGuiID root_id, - bool clear_settings_refs); -CIMGUI_API void igDockContextRebuildNodes(ImGuiContext* ctx); -CIMGUI_API void igDockContextNewFrameUpdateUndocking(ImGuiContext* ctx); -CIMGUI_API void igDockContextNewFrameUpdateDocking(ImGuiContext* ctx); -CIMGUI_API void igDockContextEndFrame(ImGuiContext* ctx); -CIMGUI_API ImGuiID igDockContextGenNodeID(ImGuiContext* ctx); -CIMGUI_API void igDockContextQueueDock(ImGuiContext* ctx, - ImGuiWindow* target, - ImGuiDockNode* target_node, - ImGuiWindow* payload, - ImGuiDir split_dir, - float split_ratio, - bool split_outer); -CIMGUI_API void igDockContextQueueUndockWindow(ImGuiContext* ctx, - ImGuiWindow* window); -CIMGUI_API void igDockContextQueueUndockNode(ImGuiContext* ctx, - ImGuiDockNode* node); -CIMGUI_API void igDockContextProcessUndockWindow( - ImGuiContext* ctx, - ImGuiWindow* window, - bool clear_persistent_docking_ref); -CIMGUI_API void igDockContextProcessUndockNode(ImGuiContext* ctx, - ImGuiDockNode* node); -CIMGUI_API bool igDockContextCalcDropPosForDocking(ImGuiWindow* target, - ImGuiDockNode* target_node, - ImGuiWindow* payload_window, - ImGuiDockNode* payload_node, - ImGuiDir split_dir, - bool split_outer, - ImVec2* out_pos); -CIMGUI_API ImGuiDockNode* igDockContextFindNodeByID(ImGuiContext* ctx, - ImGuiID id); -CIMGUI_API void igDockNodeWindowMenuHandler_Default(ImGuiContext* ctx, - ImGuiDockNode* node, - ImGuiTabBar* tab_bar); -CIMGUI_API bool igDockNodeBeginAmendTabBar(ImGuiDockNode* node); -CIMGUI_API void igDockNodeEndAmendTabBar(void); -CIMGUI_API ImGuiDockNode* igDockNodeGetRootNode(ImGuiDockNode* node); -CIMGUI_API bool igDockNodeIsInHierarchyOf(ImGuiDockNode* node, - ImGuiDockNode* parent); -CIMGUI_API int igDockNodeGetDepth(const ImGuiDockNode* node); -CIMGUI_API ImGuiID igDockNodeGetWindowMenuButtonId(const ImGuiDockNode* node); -CIMGUI_API ImGuiDockNode* igGetWindowDockNode(void); -CIMGUI_API bool igGetWindowAlwaysWantOwnTabBar(ImGuiWindow* window); -CIMGUI_API void igBeginDocked(ImGuiWindow* window, bool* p_open); -CIMGUI_API void igBeginDockableDragDropSource(ImGuiWindow* window); -CIMGUI_API void igBeginDockableDragDropTarget(ImGuiWindow* window); -CIMGUI_API void igSetWindowDock(ImGuiWindow* window, - ImGuiID dock_id, - ImGuiCond cond); -CIMGUI_API void igDockBuilderDockWindow(const char* window_name, - ImGuiID node_id); -CIMGUI_API ImGuiDockNode* igDockBuilderGetNode(ImGuiID node_id); -CIMGUI_API ImGuiDockNode* igDockBuilderGetCentralNode(ImGuiID node_id); -CIMGUI_API ImGuiID igDockBuilderAddNode(ImGuiID node_id, - ImGuiDockNodeFlags flags); -CIMGUI_API void igDockBuilderRemoveNode(ImGuiID node_id); -CIMGUI_API void igDockBuilderRemoveNodeDockedWindows(ImGuiID node_id, - bool clear_settings_refs); -CIMGUI_API void igDockBuilderRemoveNodeChildNodes(ImGuiID node_id); -CIMGUI_API void igDockBuilderSetNodePos(ImGuiID node_id, ImVec2 pos); -CIMGUI_API void igDockBuilderSetNodeSize(ImGuiID node_id, ImVec2 size); -CIMGUI_API ImGuiID igDockBuilderSplitNode(ImGuiID node_id, - ImGuiDir split_dir, - float size_ratio_for_node_at_dir, - ImGuiID* out_id_at_dir, - ImGuiID* out_id_at_opposite_dir); -CIMGUI_API void igDockBuilderCopyDockSpace( - ImGuiID src_dockspace_id, - ImGuiID dst_dockspace_id, - ImVector_const_charPtr* in_window_remap_pairs); -CIMGUI_API void igDockBuilderCopyNode(ImGuiID src_node_id, - ImGuiID dst_node_id, - ImVector_ImGuiID* out_node_remap_pairs); -CIMGUI_API void igDockBuilderCopyWindowSettings(const char* src_name, - const char* dst_name); -CIMGUI_API void igDockBuilderFinish(ImGuiID node_id); -CIMGUI_API void igPushFocusScope(ImGuiID id); -CIMGUI_API void igPopFocusScope(void); -CIMGUI_API ImGuiID igGetCurrentFocusScope(void); -CIMGUI_API bool igIsDragDropActive(void); -CIMGUI_API bool igBeginDragDropTargetCustom(const ImRect bb, ImGuiID id); -CIMGUI_API void igClearDragDrop(void); -CIMGUI_API bool igIsDragDropPayloadBeingAccepted(void); -CIMGUI_API void igRenderDragDropTargetRect(const ImRect bb, - const ImRect item_clip_rect); -CIMGUI_API ImGuiTypingSelectRequest* igGetTypingSelectRequest( - ImGuiTypingSelectFlags flags); -CIMGUI_API int igTypingSelectFindMatch(ImGuiTypingSelectRequest* req, - int items_count, - const char* (*get_item_name_func)(void*, - int), - void* user_data, - int nav_item_idx); -CIMGUI_API int igTypingSelectFindNextSingleCharMatch( - ImGuiTypingSelectRequest* req, - int items_count, - const char* (*get_item_name_func)(void*, int), - void* user_data, - int nav_item_idx); -CIMGUI_API int igTypingSelectFindBestLeadingMatch( - ImGuiTypingSelectRequest* req, - int items_count, - const char* (*get_item_name_func)(void*, int), - void* user_data); -CIMGUI_API void igSetWindowClipRectBeforeSetChannel(ImGuiWindow* window, - const ImRect clip_rect); -CIMGUI_API void igBeginColumns(const char* str_id, - int count, - ImGuiOldColumnFlags flags); -CIMGUI_API void igEndColumns(void); -CIMGUI_API void igPushColumnClipRect(int column_index); -CIMGUI_API void igPushColumnsBackground(void); -CIMGUI_API void igPopColumnsBackground(void); -CIMGUI_API ImGuiID igGetColumnsID(const char* str_id, int count); -CIMGUI_API ImGuiOldColumns* igFindOrCreateColumns(ImGuiWindow* window, - ImGuiID id); -CIMGUI_API float igGetColumnOffsetFromNorm(const ImGuiOldColumns* columns, - float offset_norm); -CIMGUI_API float igGetColumnNormFromOffset(const ImGuiOldColumns* columns, - float offset); -CIMGUI_API void igTableOpenContextMenu(int column_n); -CIMGUI_API void igTableSetColumnWidth(int column_n, float width); -CIMGUI_API void igTableSetColumnSortDirection(int column_n, - ImGuiSortDirection sort_direction, - bool append_to_sort_specs); -CIMGUI_API int igTableGetHoveredColumn(void); -CIMGUI_API int igTableGetHoveredRow(void); -CIMGUI_API float igTableGetHeaderRowHeight(void); -CIMGUI_API float igTableGetHeaderAngledMaxLabelWidth(void); -CIMGUI_API void igTablePushBackgroundChannel(void); -CIMGUI_API void igTablePopBackgroundChannel(void); -CIMGUI_API void igTableAngledHeadersRowEx(ImGuiID row_id, - float angle, - float max_label_width, - const ImGuiTableHeaderData* data, - int data_count); -CIMGUI_API ImGuiTable* igGetCurrentTable(void); -CIMGUI_API ImGuiTable* igTableFindByID(ImGuiID id); -CIMGUI_API bool igBeginTableEx(const char* name, - ImGuiID id, - int columns_count, - ImGuiTableFlags flags, - const ImVec2 outer_size, - float inner_width); -CIMGUI_API void igTableBeginInitMemory(ImGuiTable* table, int columns_count); -CIMGUI_API void igTableBeginApplyRequests(ImGuiTable* table); -CIMGUI_API void igTableSetupDrawChannels(ImGuiTable* table); -CIMGUI_API void igTableUpdateLayout(ImGuiTable* table); -CIMGUI_API void igTableUpdateBorders(ImGuiTable* table); -CIMGUI_API void igTableUpdateColumnsWeightFromWidth(ImGuiTable* table); -CIMGUI_API void igTableDrawBorders(ImGuiTable* table); -CIMGUI_API void igTableDrawDefaultContextMenu( - ImGuiTable* table, - ImGuiTableFlags flags_for_section_to_display); -CIMGUI_API bool igTableBeginContextMenuPopup(ImGuiTable* table); -CIMGUI_API void igTableMergeDrawChannels(ImGuiTable* table); -CIMGUI_API ImGuiTableInstanceData* igTableGetInstanceData(ImGuiTable* table, - int instance_no); -CIMGUI_API ImGuiID igTableGetInstanceID(ImGuiTable* table, int instance_no); -CIMGUI_API void igTableSortSpecsSanitize(ImGuiTable* table); -CIMGUI_API void igTableSortSpecsBuild(ImGuiTable* table); -CIMGUI_API ImGuiSortDirection -igTableGetColumnNextSortDirection(ImGuiTableColumn* column); -CIMGUI_API void igTableFixColumnSortDirection(ImGuiTable* table, - ImGuiTableColumn* column); -CIMGUI_API float igTableGetColumnWidthAuto(ImGuiTable* table, - ImGuiTableColumn* column); -CIMGUI_API void igTableBeginRow(ImGuiTable* table); -CIMGUI_API void igTableEndRow(ImGuiTable* table); -CIMGUI_API void igTableBeginCell(ImGuiTable* table, int column_n); -CIMGUI_API void igTableEndCell(ImGuiTable* table); -CIMGUI_API void igTableGetCellBgRect(ImRect* pOut, - const ImGuiTable* table, - int column_n); -CIMGUI_API const char* igTableGetColumnName_TablePtr(const ImGuiTable* table, - int column_n); -CIMGUI_API ImGuiID igTableGetColumnResizeID(ImGuiTable* table, - int column_n, - int instance_no); -CIMGUI_API float igTableGetMaxColumnWidth(const ImGuiTable* table, - int column_n); -CIMGUI_API void igTableSetColumnWidthAutoSingle(ImGuiTable* table, - int column_n); -CIMGUI_API void igTableSetColumnWidthAutoAll(ImGuiTable* table); -CIMGUI_API void igTableRemove(ImGuiTable* table); -CIMGUI_API void igTableGcCompactTransientBuffers_TablePtr(ImGuiTable* table); -CIMGUI_API void igTableGcCompactTransientBuffers_TableTempDataPtr( - ImGuiTableTempData* table); -CIMGUI_API void igTableGcCompactSettings(void); -CIMGUI_API void igTableLoadSettings(ImGuiTable* table); -CIMGUI_API void igTableSaveSettings(ImGuiTable* table); -CIMGUI_API void igTableResetSettings(ImGuiTable* table); -CIMGUI_API ImGuiTableSettings* igTableGetBoundSettings(ImGuiTable* table); -CIMGUI_API void igTableSettingsAddSettingsHandler(void); -CIMGUI_API ImGuiTableSettings* igTableSettingsCreate(ImGuiID id, - int columns_count); -CIMGUI_API ImGuiTableSettings* igTableSettingsFindByID(ImGuiID id); -CIMGUI_API ImGuiTabBar* igGetCurrentTabBar(void); -CIMGUI_API bool igBeginTabBarEx(ImGuiTabBar* tab_bar, - const ImRect bb, - ImGuiTabBarFlags flags); -CIMGUI_API ImGuiTabItem* igTabBarFindTabByID(ImGuiTabBar* tab_bar, - ImGuiID tab_id); -CIMGUI_API ImGuiTabItem* igTabBarFindTabByOrder(ImGuiTabBar* tab_bar, - int order); -CIMGUI_API ImGuiTabItem* igTabBarFindMostRecentlySelectedTabForActiveWindow( - ImGuiTabBar* tab_bar); -CIMGUI_API ImGuiTabItem* igTabBarGetCurrentTab(ImGuiTabBar* tab_bar); -CIMGUI_API int igTabBarGetTabOrder(ImGuiTabBar* tab_bar, ImGuiTabItem* tab); -CIMGUI_API const char* igTabBarGetTabName(ImGuiTabBar* tab_bar, - ImGuiTabItem* tab); -CIMGUI_API void igTabBarAddTab(ImGuiTabBar* tab_bar, - ImGuiTabItemFlags tab_flags, - ImGuiWindow* window); -CIMGUI_API void igTabBarRemoveTab(ImGuiTabBar* tab_bar, ImGuiID tab_id); -CIMGUI_API void igTabBarCloseTab(ImGuiTabBar* tab_bar, ImGuiTabItem* tab); -CIMGUI_API void igTabBarQueueFocus(ImGuiTabBar* tab_bar, ImGuiTabItem* tab); -CIMGUI_API void igTabBarQueueReorder(ImGuiTabBar* tab_bar, - ImGuiTabItem* tab, - int offset); -CIMGUI_API void igTabBarQueueReorderFromMousePos(ImGuiTabBar* tab_bar, - ImGuiTabItem* tab, - ImVec2 mouse_pos); -CIMGUI_API bool igTabBarProcessReorder(ImGuiTabBar* tab_bar); -CIMGUI_API bool igTabItemEx(ImGuiTabBar* tab_bar, - const char* label, - bool* p_open, - ImGuiTabItemFlags flags, - ImGuiWindow* docked_window); -CIMGUI_API void igTabItemCalcSize_Str(ImVec2* pOut, - const char* label, - bool has_close_button_or_unsaved_marker); -CIMGUI_API void igTabItemCalcSize_WindowPtr(ImVec2* pOut, ImGuiWindow* window); -CIMGUI_API void igTabItemBackground(ImDrawList* draw_list, - const ImRect bb, - ImGuiTabItemFlags flags, - ImU32 col); -CIMGUI_API void igTabItemLabelAndCloseButton(ImDrawList* draw_list, - const ImRect bb, - ImGuiTabItemFlags flags, - ImVec2 frame_padding, - const char* label, - ImGuiID tab_id, - ImGuiID close_button_id, - bool is_contents_visible, - bool* out_just_closed, - bool* out_text_clipped); -CIMGUI_API void igRenderText(ImVec2 pos, - const char* text, - const char* text_end, - bool hide_text_after_hash); -CIMGUI_API void igRenderTextWrapped(ImVec2 pos, - const char* text, - const char* text_end, - float wrap_width); -CIMGUI_API void igRenderTextClipped(const ImVec2 pos_min, - const ImVec2 pos_max, - const char* text, - const char* text_end, - const ImVec2* text_size_if_known, - const ImVec2 align, - const ImRect* clip_rect); -CIMGUI_API void igRenderTextClippedEx(ImDrawList* draw_list, - const ImVec2 pos_min, - const ImVec2 pos_max, - const char* text, - const char* text_end, - const ImVec2* text_size_if_known, - const ImVec2 align, - const ImRect* clip_rect); -CIMGUI_API void igRenderTextEllipsis(ImDrawList* draw_list, - const ImVec2 pos_min, - const ImVec2 pos_max, - float clip_max_x, - float ellipsis_max_x, - const char* text, - const char* text_end, - const ImVec2* text_size_if_known); -CIMGUI_API void igRenderFrame(ImVec2 p_min, - ImVec2 p_max, - ImU32 fill_col, - bool border, - float rounding); -CIMGUI_API void igRenderFrameBorder(ImVec2 p_min, ImVec2 p_max, float rounding); -CIMGUI_API void igRenderColorRectWithAlphaCheckerboard(ImDrawList* draw_list, - ImVec2 p_min, - ImVec2 p_max, - ImU32 fill_col, - float grid_step, - ImVec2 grid_off, - float rounding, - ImDrawFlags flags); -CIMGUI_API void igRenderNavHighlight(const ImRect bb, - ImGuiID id, - ImGuiNavHighlightFlags flags); -CIMGUI_API const char* igFindRenderedTextEnd(const char* text, - const char* text_end); -CIMGUI_API void igRenderMouseCursor(ImVec2 pos, - float scale, - ImGuiMouseCursor mouse_cursor, - ImU32 col_fill, - ImU32 col_border, - ImU32 col_shadow); -CIMGUI_API void igRenderArrow(ImDrawList* draw_list, - ImVec2 pos, - ImU32 col, - ImGuiDir dir, - float scale); -CIMGUI_API void igRenderBullet(ImDrawList* draw_list, ImVec2 pos, ImU32 col); -CIMGUI_API void igRenderCheckMark(ImDrawList* draw_list, - ImVec2 pos, - ImU32 col, - float sz); -CIMGUI_API void igRenderArrowPointingAt(ImDrawList* draw_list, - ImVec2 pos, - ImVec2 half_sz, - ImGuiDir direction, - ImU32 col); -CIMGUI_API void igRenderArrowDockMenu(ImDrawList* draw_list, - ImVec2 p_min, - float sz, - ImU32 col); -CIMGUI_API void igRenderRectFilledRangeH(ImDrawList* draw_list, - const ImRect rect, - ImU32 col, - float x_start_norm, - float x_end_norm, - float rounding); -CIMGUI_API void igRenderRectFilledWithHole(ImDrawList* draw_list, - const ImRect outer, - const ImRect inner, - ImU32 col, - float rounding); -CIMGUI_API ImDrawFlags igCalcRoundingFlagsForRectInRect(const ImRect r_in, - const ImRect r_outer, - float threshold); -CIMGUI_API void igTextEx(const char* text, - const char* text_end, - ImGuiTextFlags flags); -CIMGUI_API bool igButtonEx(const char* label, - const ImVec2 size_arg, - ImGuiButtonFlags flags); -CIMGUI_API bool igArrowButtonEx(const char* str_id, - ImGuiDir dir, - ImVec2 size_arg, - ImGuiButtonFlags flags); -CIMGUI_API bool igImageButtonEx(ImGuiID id, - ImTextureID texture_id, - const ImVec2 image_size, - const ImVec2 uv0, - const ImVec2 uv1, - const ImVec4 bg_col, - const ImVec4 tint_col, - ImGuiButtonFlags flags); -CIMGUI_API void igSeparatorEx(ImGuiSeparatorFlags flags, float thickness); -CIMGUI_API void igSeparatorTextEx(ImGuiID id, - const char* label, - const char* label_end, - float extra_width); -CIMGUI_API bool igCheckboxFlags_S64Ptr(const char* label, - ImS64* flags, - ImS64 flags_value); -CIMGUI_API bool igCheckboxFlags_U64Ptr(const char* label, - ImU64* flags, - ImU64 flags_value); -CIMGUI_API bool igCloseButton(ImGuiID id, const ImVec2 pos); -CIMGUI_API bool igCollapseButton(ImGuiID id, - const ImVec2 pos, - ImGuiDockNode* dock_node); -CIMGUI_API void igScrollbar(ImGuiAxis axis); -CIMGUI_API bool igScrollbarEx(const ImRect bb, - ImGuiID id, - ImGuiAxis axis, - ImS64* p_scroll_v, - ImS64 avail_v, - ImS64 contents_v, - ImDrawFlags flags); -CIMGUI_API void igGetWindowScrollbarRect(ImRect* pOut, - ImGuiWindow* window, - ImGuiAxis axis); -CIMGUI_API ImGuiID igGetWindowScrollbarID(ImGuiWindow* window, ImGuiAxis axis); -CIMGUI_API ImGuiID igGetWindowResizeCornerID(ImGuiWindow* window, int n); -CIMGUI_API ImGuiID igGetWindowResizeBorderID(ImGuiWindow* window, ImGuiDir dir); -CIMGUI_API bool igButtonBehavior(const ImRect bb, - ImGuiID id, - bool* out_hovered, - bool* out_held, - ImGuiButtonFlags flags); -CIMGUI_API bool igDragBehavior(ImGuiID id, - ImGuiDataType data_type, - void* p_v, - float v_speed, - const void* p_min, - const void* p_max, - const char* format, - ImGuiSliderFlags flags); -CIMGUI_API bool igSliderBehavior(const ImRect bb, - ImGuiID id, - ImGuiDataType data_type, - void* p_v, - const void* p_min, - const void* p_max, - const char* format, - ImGuiSliderFlags flags, - ImRect* out_grab_bb); -CIMGUI_API bool igSplitterBehavior(const ImRect bb, - ImGuiID id, - ImGuiAxis axis, - float* size1, - float* size2, - float min_size1, - float min_size2, - float hover_extend, - float hover_visibility_delay, - ImU32 bg_col); -CIMGUI_API bool igTreeNodeBehavior(ImGuiID id, - ImGuiTreeNodeFlags flags, - const char* label, - const char* label_end); -CIMGUI_API void igTreePushOverrideID(ImGuiID id); -CIMGUI_API void igTreeNodeSetOpen(ImGuiID id, bool open); -CIMGUI_API bool igTreeNodeUpdateNextOpen(ImGuiID id, ImGuiTreeNodeFlags flags); -CIMGUI_API void igSetNextItemSelectionUserData( - ImGuiSelectionUserData selection_user_data); -CIMGUI_API const ImGuiDataTypeInfo* igDataTypeGetInfo(ImGuiDataType data_type); -CIMGUI_API int igDataTypeFormatString(char* buf, - int buf_size, - ImGuiDataType data_type, - const void* p_data, - const char* format); -CIMGUI_API void igDataTypeApplyOp(ImGuiDataType data_type, - int op, - void* output, - const void* arg_1, - const void* arg_2); -CIMGUI_API bool igDataTypeApplyFromText(const char* buf, - ImGuiDataType data_type, - void* p_data, - const char* format); -CIMGUI_API int igDataTypeCompare(ImGuiDataType data_type, - const void* arg_1, - const void* arg_2); -CIMGUI_API bool igDataTypeClamp(ImGuiDataType data_type, - void* p_data, - const void* p_min, - const void* p_max); -CIMGUI_API bool igInputTextEx(const char* label, - const char* hint, - char* buf, - int buf_size, - const ImVec2 size_arg, - ImGuiInputTextFlags flags, - ImGuiInputTextCallback callback, - void* user_data); -CIMGUI_API void igInputTextDeactivateHook(ImGuiID id); -CIMGUI_API bool igTempInputText(const ImRect bb, - ImGuiID id, - const char* label, - char* buf, - int buf_size, - ImGuiInputTextFlags flags); -CIMGUI_API bool igTempInputScalar(const ImRect bb, - ImGuiID id, - const char* label, - ImGuiDataType data_type, - void* p_data, - const char* format, - const void* p_clamp_min, - const void* p_clamp_max); -CIMGUI_API bool igTempInputIsActive(ImGuiID id); -CIMGUI_API ImGuiInputTextState* igGetInputTextState(ImGuiID id); -CIMGUI_API void igColorTooltip(const char* text, - const float* col, - ImGuiColorEditFlags flags); -CIMGUI_API void igColorEditOptionsPopup(const float* col, - ImGuiColorEditFlags flags); -CIMGUI_API void igColorPickerOptionsPopup(const float* ref_col, - ImGuiColorEditFlags flags); -CIMGUI_API int igPlotEx(ImGuiPlotType plot_type, - const char* label, - float (*values_getter)(void* data, int idx), - void* data, - int values_count, - int values_offset, - const char* overlay_text, - float scale_min, - float scale_max, - const ImVec2 size_arg); -CIMGUI_API void igShadeVertsLinearColorGradientKeepAlpha(ImDrawList* draw_list, - int vert_start_idx, - int vert_end_idx, - ImVec2 gradient_p0, - ImVec2 gradient_p1, - ImU32 col0, - ImU32 col1); -CIMGUI_API void igShadeVertsLinearUV(ImDrawList* draw_list, - int vert_start_idx, - int vert_end_idx, - const ImVec2 a, - const ImVec2 b, - const ImVec2 uv_a, - const ImVec2 uv_b, - bool clamp); -CIMGUI_API void igShadeVertsTransformPos(ImDrawList* draw_list, - int vert_start_idx, - int vert_end_idx, - const ImVec2 pivot_in, - float cos_a, - float sin_a, - const ImVec2 pivot_out); -CIMGUI_API void igGcCompactTransientMiscBuffers(void); -CIMGUI_API void igGcCompactTransientWindowBuffers(ImGuiWindow* window); -CIMGUI_API void igGcAwakeTransientWindowBuffers(ImGuiWindow* window); -CIMGUI_API void igDebugLog(const char* fmt, ...); -CIMGUI_API void igDebugLogV(const char* fmt, va_list args); -CIMGUI_API void igDebugAllocHook(ImGuiDebugAllocInfo* info, - int frame_count, - void* ptr, - size_t size); -CIMGUI_API void igErrorCheckEndFrameRecover(ImGuiErrorLogCallback log_callback, - void* user_data); -CIMGUI_API void igErrorCheckEndWindowRecover(ImGuiErrorLogCallback log_callback, - void* user_data); -CIMGUI_API void igErrorCheckUsingSetCursorPosToExtendParentBoundaries(void); -CIMGUI_API void igDebugDrawCursorPos(ImU32 col); -CIMGUI_API void igDebugDrawLineExtents(ImU32 col); -CIMGUI_API void igDebugDrawItemRect(ImU32 col); -CIMGUI_API void igDebugLocateItem(ImGuiID target_id); -CIMGUI_API void igDebugLocateItemOnHover(ImGuiID target_id); -CIMGUI_API void igDebugLocateItemResolveWithLastItem(void); -CIMGUI_API void igDebugBreakClearData(void); -CIMGUI_API bool igDebugBreakButton(const char* label, - const char* description_of_location); -CIMGUI_API void igDebugBreakButtonTooltip(bool keyboard_only, - const char* description_of_location); -CIMGUI_API void igShowFontAtlas(ImFontAtlas* atlas); -CIMGUI_API void igDebugHookIdInfo(ImGuiID id, - ImGuiDataType data_type, - const void* data_id, - const void* data_id_end); -CIMGUI_API void igDebugNodeColumns(ImGuiOldColumns* columns); -CIMGUI_API void igDebugNodeDockNode(ImGuiDockNode* node, const char* label); -CIMGUI_API void igDebugNodeDrawList(ImGuiWindow* window, - ImGuiViewportP* viewport, - const ImDrawList* draw_list, - const char* label); -CIMGUI_API void igDebugNodeDrawCmdShowMeshAndBoundingBox( - ImDrawList* out_draw_list, - const ImDrawList* draw_list, - const ImDrawCmd* draw_cmd, - bool show_mesh, - bool show_aabb); -CIMGUI_API void igDebugNodeFont(ImFont* font); -CIMGUI_API void igDebugNodeFontGlyph(ImFont* font, const ImFontGlyph* glyph); -CIMGUI_API void igDebugNodeStorage(ImGuiStorage* storage, const char* label); -CIMGUI_API void igDebugNodeTabBar(ImGuiTabBar* tab_bar, const char* label); -CIMGUI_API void igDebugNodeTable(ImGuiTable* table); -CIMGUI_API void igDebugNodeTableSettings(ImGuiTableSettings* settings); -CIMGUI_API void igDebugNodeInputTextState(ImGuiInputTextState* state); -CIMGUI_API void igDebugNodeTypingSelectState(ImGuiTypingSelectState* state); -CIMGUI_API void igDebugNodeWindow(ImGuiWindow* window, const char* label); -CIMGUI_API void igDebugNodeWindowSettings(ImGuiWindowSettings* settings); -CIMGUI_API void igDebugNodeWindowsList(ImVector_ImGuiWindowPtr* windows, - const char* label); -CIMGUI_API void igDebugNodeWindowsListByBeginStackParent( - ImGuiWindow** windows, - int windows_size, - ImGuiWindow* parent_in_begin_stack); -CIMGUI_API void igDebugNodeViewport(ImGuiViewportP* viewport); -CIMGUI_API void igDebugRenderKeyboardPreview(ImDrawList* draw_list); -CIMGUI_API void igDebugRenderViewportThumbnail(ImDrawList* draw_list, - ImGuiViewportP* viewport, - const ImRect bb); -CIMGUI_API void igImFontAtlasUpdateConfigDataPointers(ImFontAtlas* atlas); -CIMGUI_API void igImFontAtlasBuildInit(ImFontAtlas* atlas); -CIMGUI_API void igImFontAtlasBuildSetupFont(ImFontAtlas* atlas, - ImFont* font, - ImFontConfig* font_config, - float ascent, - float descent); -CIMGUI_API void igImFontAtlasBuildPackCustomRects(ImFontAtlas* atlas, - void* stbrp_context_opaque); -CIMGUI_API void igImFontAtlasBuildFinish(ImFontAtlas* atlas); -CIMGUI_API void igImFontAtlasBuildRender8bppRectFromString( - ImFontAtlas* atlas, - int x, - int y, - int w, - int h, - const char* in_str, - char in_marker_char, - unsigned char in_marker_pixel_value); -CIMGUI_API void igImFontAtlasBuildRender32bppRectFromString( - ImFontAtlas* atlas, - int x, - int y, - int w, - int h, - const char* in_str, - char in_marker_char, - unsigned int in_marker_pixel_value); -CIMGUI_API void igImFontAtlasBuildMultiplyCalcLookupTable( - unsigned char out_table[256], - float in_multiply_factor); -CIMGUI_API void igImFontAtlasBuildMultiplyRectAlpha8( - const unsigned char table[256], - unsigned char* pixels, - int x, - int y, - int w, - int h, - int stride); - -/////////////////////////hand written functions -// no LogTextV -CIMGUI_API void igLogText(CONST char* fmt, ...); -// no appendfV -CIMGUI_API void ImGuiTextBuffer_appendf(struct ImGuiTextBuffer* buffer, - const char* fmt, - ...); -// for getting FLT_MAX in bindings -CIMGUI_API float igGET_FLT_MAX(void); -// for getting FLT_MIN in bindings -CIMGUI_API float igGET_FLT_MIN(void); - -CIMGUI_API ImVector_ImWchar* ImVector_ImWchar_create(void); -CIMGUI_API void ImVector_ImWchar_destroy(ImVector_ImWchar* self); -CIMGUI_API void ImVector_ImWchar_Init(ImVector_ImWchar* p); -CIMGUI_API void ImVector_ImWchar_UnInit(ImVector_ImWchar* p); - -#endif // CIMGUI_INCLUDED diff --git a/pkg/dcimgui/build.zig b/pkg/dcimgui/build.zig new file mode 100644 index 000000000..683f0be92 --- /dev/null +++ b/pkg/dcimgui/build.zig @@ -0,0 +1,199 @@ +const std = @import("std"); +const NativeTargetInfo = std.zig.system.NativeTargetInfo; + +pub fn build(b: *std.Build) !void { + const target = b.standardTargetOptions(.{}); + const optimize = b.standardOptimizeOption(.{}); + const freetype = b.option(bool, "freetype", "Use Freetype") orelse false; + const backend_opengl3 = b.option(bool, "backend-opengl3", "OpenGL3 backend") orelse false; + const backend_metal = b.option(bool, "backend-metal", "Metal backend") orelse false; + const backend_osx = b.option(bool, "backend-osx", "OSX backend") orelse false; + + // Build options + const options = b.addOptions(); + options.addOption(bool, "freetype", freetype); + options.addOption(bool, "backend_opengl3", backend_opengl3); + options.addOption(bool, "backend_metal", backend_metal); + options.addOption(bool, "backend_osx", backend_osx); + + // Main static lib + const lib = b.addLibrary(.{ + .name = "dcimgui", + .root_module = b.createModule(.{ + .target = target, + .optimize = optimize, + }), + .linkage = .static, + }); + lib.linkLibC(); + lib.linkLibCpp(); + b.installArtifact(lib); + + // Zig module + const mod = b.addModule("dcimgui", .{ + .root_source_file = b.path("main.zig"), + .target = target, + .optimize = optimize, + }); + mod.addOptions("build_options", options); + mod.linkLibrary(lib); + + // We need to add proper Apple SDKs to find stdlib headers + if (target.result.os.tag.isDarwin()) { + if (!target.query.isNative()) { + try @import("apple_sdk").addPaths(b, lib); + } + } + + // Flags for C compilation, common to all. + var flags: std.ArrayList([]const u8) = .empty; + defer flags.deinit(b.allocator); + try flags.appendSlice(b.allocator, &.{ + "-DIMGUI_USE_WCHAR32=1", + "-DIMGUI_DISABLE_OBSOLETE_FUNCTIONS=1", + }); + if (freetype) try flags.appendSlice(b.allocator, &.{ + "-DIMGUI_ENABLE_FREETYPE=1", + }); + if (target.result.os.tag == .windows) { + try flags.appendSlice(b.allocator, &.{ + "-DIMGUI_IMPL_API=extern\t\"C\"\t__declspec(dllexport)", + }); + } else { + try flags.appendSlice(b.allocator, &.{ + "-DIMGUI_IMPL_API=extern\t\"C\"", + }); + } + if (target.result.os.tag == .freebsd) { + try flags.append(b.allocator, "-fPIC"); + } + + // Add the core Dear Imgui source files + if (b.lazyDependency("imgui", .{})) |upstream| { + lib.addIncludePath(upstream.path("")); + lib.addCSourceFiles(.{ + .root = upstream.path(""), + .files = &.{ + "imgui_demo.cpp", + "imgui_draw.cpp", + "imgui_tables.cpp", + "imgui_widgets.cpp", + "imgui.cpp", + }, + .flags = flags.items, + }); + + lib.installHeadersDirectory( + upstream.path(""), + "", + .{ .include_extensions = &.{".h"} }, + ); + + if (freetype) { + lib.addCSourceFile(.{ + .file = upstream.path("misc/freetype/imgui_freetype.cpp"), + .flags = flags.items, + }); + + if (b.systemIntegrationOption("freetype", .{})) { + lib.linkSystemLibrary2("freetype2", dynamic_link_opts); + } else { + const freetype_dep = b.dependency("freetype", .{ + .target = target, + .optimize = optimize, + .@"enable-libpng" = true, + }); + lib.linkLibrary(freetype_dep.artifact("freetype")); + if (freetype_dep.builder.lazyDependency( + "freetype", + .{}, + )) |freetype_upstream| { + mod.addIncludePath(freetype_upstream.path("include")); + } + } + } + + if (backend_metal) { + lib.addCSourceFiles(.{ + .root = upstream.path("backends"), + .files = &.{"imgui_impl_metal.mm"}, + .flags = flags.items, + }); + lib.installHeadersDirectory( + upstream.path("backends"), + "", + .{ .include_extensions = &.{"imgui_impl_metal.h"} }, + ); + } + if (backend_osx) { + lib.addCSourceFiles(.{ + .root = upstream.path("backends"), + .files = &.{"imgui_impl_osx.mm"}, + .flags = flags.items, + }); + lib.installHeadersDirectory( + upstream.path("backends"), + "", + .{ .include_extensions = &.{"imgui_impl_osx.h"} }, + ); + } + if (backend_opengl3) { + lib.addCSourceFiles(.{ + .root = upstream.path("backends"), + .files = &.{"imgui_impl_opengl3.cpp"}, + .flags = flags.items, + }); + lib.installHeadersDirectory( + upstream.path("backends"), + "", + .{ .include_extensions = &.{"imgui_impl_opengl3.h"} }, + ); + } + } + + // Add the C bindings + if (b.lazyDependency("bindings", .{})) |upstream| { + lib.addIncludePath(upstream.path("")); + lib.addCSourceFiles(.{ + .root = upstream.path(""), + .files = &.{ + "dcimgui.cpp", + "dcimgui_internal.cpp", + }, + .flags = flags.items, + }); + lib.addCSourceFiles(.{ + .root = b.path(""), + .files = &.{"ext.cpp"}, + .flags = flags.items, + }); + + lib.installHeadersDirectory( + upstream.path(""), + "", + .{ .include_extensions = &.{".h"} }, + ); + } + + const test_exe = b.addTest(.{ + .name = "test", + .root_module = b.createModule(.{ + .root_source_file = b.path("main.zig"), + .target = target, + .optimize = optimize, + }), + }); + test_exe.root_module.addOptions("build_options", options); + test_exe.linkLibrary(lib); + const tests_run = b.addRunArtifact(test_exe); + const test_step = b.step("test", "Run tests"); + test_step.dependOn(&tests_run.step); +} + +// For dynamic linking, we prefer dynamic linking and to search by +// mode first. Mode first will search all paths for a dynamic library +// before falling back to static. +const dynamic_link_opts: std.Build.Module.LinkSystemLibraryOptions = .{ + .preferred_link_mode = .dynamic, + .search_strategy = .mode_first, +}; diff --git a/pkg/dcimgui/build.zig.zon b/pkg/dcimgui/build.zig.zon new file mode 100644 index 000000000..95d0120e1 --- /dev/null +++ b/pkg/dcimgui/build.zig.zon @@ -0,0 +1,26 @@ +.{ + .name = .dcimgui, + .version = "1.92.5", // -docking branch + .fingerprint = 0x1a25797442c6324f, + .paths = .{""}, + .dependencies = .{ + // The bindings and imgui versions below must match exactly. + + .bindings = .{ + // https://github.com/dearimgui/dear_bindings + .url = "https://deps.files.ghostty.org/DearBindings_v0.17_ImGui_v1.92.5-docking.tar.gz", + .hash = "N-V-__8AANT61wB--nJ95Gj_ctmzAtcjloZ__hRqNw5lC1Kr", + .lazy = true, + }, + + .imgui = .{ + // https://github.com/ocornut/imgui + .url = "https://github.com/ocornut/imgui/archive/refs/tags/v1.92.5-docking.tar.gz", + .hash = "N-V-__8AAEbOfQBnvcFcCX2W5z7tDaN8vaNZGamEQtNOe0UI", + .lazy = true, + }, + + .apple_sdk = .{ .path = "../apple-sdk" }, + .freetype = .{ .path = "../freetype" }, + }, +} diff --git a/pkg/dcimgui/ext.cpp b/pkg/dcimgui/ext.cpp new file mode 100644 index 000000000..d4732e0fa --- /dev/null +++ b/pkg/dcimgui/ext.cpp @@ -0,0 +1,30 @@ +#include "imgui.h" + +// This file contains custom extensions for functionality that isn't +// properly supported by Dear Bindings yet. Namely: +// https://github.com/dearimgui/dear_bindings/issues/55 + +// Wrap this in a namespace to keep it separate from the C++ API +namespace cimgui +{ +#include "dcimgui.h" +} + +extern "C" +{ +CIMGUI_API void ImFontConfig_ImFontConfig(cimgui::ImFontConfig* self) +{ + static_assert(sizeof(cimgui::ImFontConfig) == sizeof(::ImFontConfig), "ImFontConfig size mismatch"); + static_assert(alignof(cimgui::ImFontConfig) == alignof(::ImFontConfig), "ImFontConfig alignment mismatch"); + ::ImFontConfig defaults; + *reinterpret_cast<::ImFontConfig*>(self) = defaults; +} + +CIMGUI_API void ImGuiStyle_ImGuiStyle(cimgui::ImGuiStyle* self) +{ + static_assert(sizeof(cimgui::ImGuiStyle) == sizeof(::ImGuiStyle), "ImGuiStyle size mismatch"); + static_assert(alignof(cimgui::ImGuiStyle) == alignof(::ImGuiStyle), "ImGuiStyle alignment mismatch"); + ::ImGuiStyle defaults; + *reinterpret_cast<::ImGuiStyle*>(self) = defaults; +} +} diff --git a/pkg/dcimgui/main.zig b/pkg/dcimgui/main.zig new file mode 100644 index 000000000..e709158f5 --- /dev/null +++ b/pkg/dcimgui/main.zig @@ -0,0 +1,43 @@ +pub const build_options = @import("build_options"); + +pub const c = @cImport({ + // This is set during the build so it also has to be set + // during import time to get the right types. Without this + // you get stack size mismatches on some structs. + @cDefine("IMGUI_USE_WCHAR32", "1"); + @cInclude("dcimgui.h"); +}); + +// OpenGL3 backend +pub extern fn ImGui_ImplOpenGL3_Init(glsl_version: ?[*:0]const u8) callconv(.c) bool; +pub extern fn ImGui_ImplOpenGL3_Shutdown() callconv(.c) void; +pub extern fn ImGui_ImplOpenGL3_NewFrame() callconv(.c) void; +pub extern fn ImGui_ImplOpenGL3_RenderDrawData(draw_data: *c.ImDrawData) callconv(.c) void; + +// Metal backend +pub extern fn ImGui_ImplMetal_Init(device: *anyopaque) callconv(.c) bool; +pub extern fn ImGui_ImplMetal_Shutdown() callconv(.c) void; +pub extern fn ImGui_ImplMetal_NewFrame(render_pass_descriptor: *anyopaque) callconv(.c) void; +pub extern fn ImGui_ImplMetal_RenderDrawData(draw_data: *c.ImDrawData, command_buffer: *anyopaque, command_encoder: *anyopaque) callconv(.c) void; + +// OSX +pub extern fn ImGui_ImplOSX_Init(*anyopaque) callconv(.c) bool; +pub extern fn ImGui_ImplOSX_Shutdown() callconv(.c) void; +pub extern fn ImGui_ImplOSX_NewFrame(*anyopaque) callconv(.c) void; + +// Internal API functions from dcimgui_internal.h +// We declare these manually because the internal header contains bitfields +// that Zig's cImport cannot translate. +pub extern fn ImGui_DockBuilderDockWindow(window_name: [*:0]const u8, node_id: c.ImGuiID) callconv(.c) void; +pub extern fn ImGui_DockBuilderSplitNode(node_id: c.ImGuiID, split_dir: c.ImGuiDir, size_ratio_for_node_at_dir: f32, out_id_at_dir: *c.ImGuiID, out_id_at_opposite_dir: *c.ImGuiID) callconv(.c) c.ImGuiID; +pub extern fn ImGui_DockBuilderFinish(node_id: c.ImGuiID) callconv(.c) void; + +// Extension functions from ext.cpp +pub const ext = struct { + pub extern fn ImFontConfig_ImFontConfig(self: *c.ImFontConfig) callconv(.c) void; + pub extern fn ImGuiStyle_ImGuiStyle(self: *c.ImGuiStyle) callconv(.c) void; +}; + +test { + _ = c; +} diff --git a/src/apprt/embedded.zig b/src/apprt/embedded.zig index a1b6a6e9b..27f07604a 100644 --- a/src/apprt/embedded.zig +++ b/src/apprt/embedded.zig @@ -947,7 +947,7 @@ pub const Surface = struct { /// Inspector is the state required for the terminal inspector. A terminal /// inspector is 1:1 with a Surface. pub const Inspector = struct { - const cimgui = @import("cimgui"); + const cimgui = @import("dcimgui"); surface: *Surface, ig_ctx: *cimgui.c.ImGuiContext, @@ -968,10 +968,10 @@ pub const Inspector = struct { }; pub fn init(surface: *Surface) !Inspector { - const ig_ctx = cimgui.c.igCreateContext(null) orelse return error.OutOfMemory; - errdefer cimgui.c.igDestroyContext(ig_ctx); - cimgui.c.igSetCurrentContext(ig_ctx); - const io: *cimgui.c.ImGuiIO = cimgui.c.igGetIO(); + const ig_ctx = cimgui.c.ImGui_CreateContext(null) orelse return error.OutOfMemory; + errdefer cimgui.c.ImGui_DestroyContext(ig_ctx); + cimgui.c.ImGui_SetCurrentContext(ig_ctx); + const io: *cimgui.c.ImGuiIO = cimgui.c.ImGui_GetIO(); io.BackendPlatformName = "ghostty_embedded"; // Setup our core inspector @@ -988,9 +988,9 @@ pub const Inspector = struct { pub fn deinit(self: *Inspector) void { self.surface.core_surface.deactivateInspector(); - cimgui.c.igSetCurrentContext(self.ig_ctx); + cimgui.c.ImGui_SetCurrentContext(self.ig_ctx); if (self.backend) |v| v.deinit(); - cimgui.c.igDestroyContext(self.ig_ctx); + cimgui.c.ImGui_DestroyContext(self.ig_ctx); } /// Queue a render for the next frame. @@ -1001,7 +1001,7 @@ pub const Inspector = struct { /// Initialize the inspector for a metal backend. pub fn initMetal(self: *Inspector, device: objc.Object) bool { defer device.msgSend(void, objc.sel("release"), .{}); - cimgui.c.igSetCurrentContext(self.ig_ctx); + cimgui.c.ImGui_SetCurrentContext(self.ig_ctx); if (self.backend) |v| { v.deinit(); @@ -1036,7 +1036,7 @@ pub const Inspector = struct { for (0..2) |_| { cimgui.ImGui_ImplMetal_NewFrame(desc.value); try self.newFrame(); - cimgui.c.igNewFrame(); + cimgui.c.ImGui_NewFrame(); // Build our UI render: { @@ -1046,7 +1046,7 @@ pub const Inspector = struct { } // Render - cimgui.c.igRender(); + cimgui.c.ImGui_Render(); } // MTLRenderCommandEncoder @@ -1057,7 +1057,7 @@ pub const Inspector = struct { ); defer encoder.msgSend(void, objc.sel("endEncoding"), .{}); cimgui.ImGui_ImplMetal_RenderDrawData( - cimgui.c.igGetDrawData(), + cimgui.c.ImGui_GetDrawData(), command_buffer.value, encoder.value, ); @@ -1065,22 +1065,24 @@ pub const Inspector = struct { pub fn updateContentScale(self: *Inspector, x: f64, y: f64) void { _ = y; - cimgui.c.igSetCurrentContext(self.ig_ctx); + cimgui.c.ImGui_SetCurrentContext(self.ig_ctx); // Cache our scale because we use it for cursor position calculations. self.content_scale = x; - // Setup a new style and scale it appropriately. - const style = cimgui.c.ImGuiStyle_ImGuiStyle(); - defer cimgui.c.ImGuiStyle_destroy(style); - cimgui.c.ImGuiStyle_ScaleAllSizes(style, @floatCast(x)); - const active_style = cimgui.c.igGetStyle(); - active_style.* = style.*; + // Setup a new style and scale it appropriately. We must use the + // ImGuiStyle constructor to get proper default values (e.g., + // CurveTessellationTol) rather than zero-initialized values. + var style: cimgui.c.ImGuiStyle = undefined; + cimgui.ext.ImGuiStyle_ImGuiStyle(&style); + cimgui.c.ImGuiStyle_ScaleAllSizes(&style, @floatCast(x)); + const active_style = cimgui.c.ImGui_GetStyle(); + active_style.* = style; } pub fn updateSize(self: *Inspector, width: u32, height: u32) void { - cimgui.c.igSetCurrentContext(self.ig_ctx); - const io: *cimgui.c.ImGuiIO = cimgui.c.igGetIO(); + cimgui.c.ImGui_SetCurrentContext(self.ig_ctx); + const io: *cimgui.c.ImGuiIO = cimgui.c.ImGui_GetIO(); io.DisplaySize = .{ .x = @floatFromInt(width), .y = @floatFromInt(height) }; } @@ -1093,8 +1095,8 @@ pub const Inspector = struct { _ = mods; self.queueRender(); - cimgui.c.igSetCurrentContext(self.ig_ctx); - const io: *cimgui.c.ImGuiIO = cimgui.c.igGetIO(); + cimgui.c.ImGui_SetCurrentContext(self.ig_ctx); + const io: *cimgui.c.ImGuiIO = cimgui.c.ImGui_GetIO(); const imgui_button = switch (button) { .left => cimgui.c.ImGuiMouseButton_Left, @@ -1115,8 +1117,8 @@ pub const Inspector = struct { _ = mods; self.queueRender(); - cimgui.c.igSetCurrentContext(self.ig_ctx); - const io: *cimgui.c.ImGuiIO = cimgui.c.igGetIO(); + cimgui.c.ImGui_SetCurrentContext(self.ig_ctx); + const io: *cimgui.c.ImGuiIO = cimgui.c.ImGui_GetIO(); cimgui.c.ImGuiIO_AddMouseWheelEvent( io, @floatCast(xoff), @@ -1126,8 +1128,8 @@ pub const Inspector = struct { pub fn cursorPosCallback(self: *Inspector, x: f64, y: f64) void { self.queueRender(); - cimgui.c.igSetCurrentContext(self.ig_ctx); - const io: *cimgui.c.ImGuiIO = cimgui.c.igGetIO(); + cimgui.c.ImGui_SetCurrentContext(self.ig_ctx); + const io: *cimgui.c.ImGuiIO = cimgui.c.ImGui_GetIO(); cimgui.c.ImGuiIO_AddMousePosEvent( io, @floatCast(x * self.content_scale), @@ -1137,15 +1139,15 @@ pub const Inspector = struct { pub fn focusCallback(self: *Inspector, focused: bool) void { self.queueRender(); - cimgui.c.igSetCurrentContext(self.ig_ctx); - const io: *cimgui.c.ImGuiIO = cimgui.c.igGetIO(); + cimgui.c.ImGui_SetCurrentContext(self.ig_ctx); + const io: *cimgui.c.ImGuiIO = cimgui.c.ImGui_GetIO(); cimgui.c.ImGuiIO_AddFocusEvent(io, focused); } pub fn textCallback(self: *Inspector, text: [:0]const u8) void { self.queueRender(); - cimgui.c.igSetCurrentContext(self.ig_ctx); - const io: *cimgui.c.ImGuiIO = cimgui.c.igGetIO(); + cimgui.c.ImGui_SetCurrentContext(self.ig_ctx); + const io: *cimgui.c.ImGuiIO = cimgui.c.ImGui_GetIO(); cimgui.c.ImGuiIO_AddInputCharactersUTF8(io, text.ptr); } @@ -1156,8 +1158,8 @@ pub const Inspector = struct { mods: input.Mods, ) !void { self.queueRender(); - cimgui.c.igSetCurrentContext(self.ig_ctx); - const io: *cimgui.c.ImGuiIO = cimgui.c.igGetIO(); + cimgui.c.ImGui_SetCurrentContext(self.ig_ctx); + const io: *cimgui.c.ImGuiIO = cimgui.c.ImGui_GetIO(); // Update all our modifiers cimgui.c.ImGuiIO_AddKeyEvent(io, cimgui.c.ImGuiKey_LeftShift, mods.shift); @@ -1176,7 +1178,7 @@ pub const Inspector = struct { } fn newFrame(self: *Inspector) !void { - const io: *cimgui.c.ImGuiIO = cimgui.c.igGetIO(); + const io: *cimgui.c.ImGuiIO = cimgui.c.ImGui_GetIO(); // Determine our delta time const now = try std.time.Instant.now(); diff --git a/src/apprt/gtk/class/imgui_widget.zig b/src/apprt/gtk/class/imgui_widget.zig index ef1ca05c9..79e85fad2 100644 --- a/src/apprt/gtk/class/imgui_widget.zig +++ b/src/apprt/gtk/class/imgui_widget.zig @@ -1,7 +1,7 @@ const std = @import("std"); const assert = @import("../../../quirks.zig").inlineAssert; -const cimgui = @import("cimgui"); +const cimgui = @import("dcimgui"); const gl = @import("opengl"); const adw = @import("adw"); const gdk = @import("gdk"); @@ -126,7 +126,7 @@ pub const ImguiWidget = extern struct { log.warn("Dear ImGui context not initialized", .{}); return error.ContextNotInitialized; }; - cimgui.c.igSetCurrentContext(ig_context); + cimgui.c.ImGui_SetCurrentContext(ig_context); } /// Initialize the frame. Expects that the context is already current. @@ -137,7 +137,7 @@ pub const ImguiWidget = extern struct { const priv = self.private(); - const io: *cimgui.c.ImGuiIO = cimgui.c.igGetIO(); + const io: *cimgui.c.ImGuiIO = cimgui.c.ImGui_GetIO(); // Determine our delta time const now = std.time.Instant.now() catch unreachable; @@ -163,7 +163,7 @@ pub const ImguiWidget = extern struct { self.setCurrentContext() catch return false; - const io: *cimgui.c.ImGuiIO = cimgui.c.igGetIO(); + const io: *cimgui.c.ImGuiIO = cimgui.c.ImGui_GetIO(); const mods = key.translateMods(gtk_mods); cimgui.c.ImGuiIO_AddKeyEvent(io, cimgui.c.ImGuiKey_LeftShift, mods.shift); @@ -219,14 +219,14 @@ pub const ImguiWidget = extern struct { return; } - priv.ig_context = cimgui.c.igCreateContext(null) orelse { + priv.ig_context = cimgui.c.ImGui_CreateContext(null) orelse { log.warn("unable to initialize Dear ImGui context", .{}); return; }; self.setCurrentContext() catch return; // Setup some basic config - const io: *cimgui.c.ImGuiIO = cimgui.c.igGetIO(); + const io: *cimgui.c.ImGuiIO = cimgui.c.ImGui_GetIO(); io.BackendPlatformName = "ghostty_gtk"; // Realize means that our OpenGL context is ready, so we can now @@ -247,7 +247,7 @@ pub const ImguiWidget = extern struct { /// Handle a request to resize the GLArea fn glAreaResize(area: *gtk.GLArea, width: c_int, height: c_int, self: *Self) callconv(.c) void { self.setCurrentContext() catch return; - const io: *cimgui.c.ImGuiIO = cimgui.c.igGetIO(); + const io: *cimgui.c.ImGuiIO = cimgui.c.ImGui_GetIO(); const scale_factor = area.as(gtk.Widget).getScaleFactor(); // Our display size is always unscaled. We'll do the scaling in the @@ -255,12 +255,14 @@ pub const ImguiWidget = extern struct { io.DisplaySize = .{ .x = @floatFromInt(width), .y = @floatFromInt(height) }; io.DisplayFramebufferScale = .{ .x = 1, .y = 1 }; - // Setup a new style and scale it appropriately. - const style = cimgui.c.ImGuiStyle_ImGuiStyle(); - defer cimgui.c.ImGuiStyle_destroy(style); - cimgui.c.ImGuiStyle_ScaleAllSizes(style, @floatFromInt(scale_factor)); - const active_style = cimgui.c.igGetStyle(); - active_style.* = style.*; + // Setup a new style and scale it appropriately. We must use the + // ImGuiStyle constructor to get proper default values (e.g., + // CurveTessellationTol) rather than zero-initialized values. + var style: cimgui.c.ImGuiStyle = undefined; + cimgui.ext.ImGuiStyle_ImGuiStyle(&style); + cimgui.c.ImGuiStyle_ScaleAllSizes(&style, @floatFromInt(scale_factor)); + const active_style = cimgui.c.ImGui_GetStyle(); + active_style.* = style; } /// Handle a request to render the contents of our GLArea @@ -273,33 +275,33 @@ pub const ImguiWidget = extern struct { for (0..2) |_| { cimgui.ImGui_ImplOpenGL3_NewFrame(); self.newFrame(); - cimgui.c.igNewFrame(); + cimgui.c.ImGui_NewFrame(); // Call the virtual method to draw the UI. self.render(); // Render - cimgui.c.igRender(); + cimgui.c.ImGui_Render(); } // OpenGL final render gl.clearColor(0x28 / 0xFF, 0x2C / 0xFF, 0x34 / 0xFF, 1.0); gl.clear(gl.c.GL_COLOR_BUFFER_BIT); - cimgui.ImGui_ImplOpenGL3_RenderDrawData(cimgui.c.igGetDrawData()); + cimgui.ImGui_ImplOpenGL3_RenderDrawData(cimgui.c.ImGui_GetDrawData()); return @intFromBool(true); } fn ecFocusEnter(_: *gtk.EventControllerFocus, self: *Self) callconv(.c) void { self.setCurrentContext() catch return; - const io: *cimgui.c.ImGuiIO = cimgui.c.igGetIO(); + const io: *cimgui.c.ImGuiIO = cimgui.c.ImGui_GetIO(); cimgui.c.ImGuiIO_AddFocusEvent(io, true); self.queueRender(); } fn ecFocusLeave(_: *gtk.EventControllerFocus, self: *Self) callconv(.c) void { self.setCurrentContext() catch return; - const io: *cimgui.c.ImGuiIO = cimgui.c.igGetIO(); + const io: *cimgui.c.ImGuiIO = cimgui.c.ImGui_GetIO(); cimgui.c.ImGuiIO_AddFocusEvent(io, false); self.queueRender(); } @@ -345,7 +347,7 @@ pub const ImguiWidget = extern struct { ) callconv(.c) void { self.queueRender(); self.setCurrentContext() catch return; - const io: *cimgui.c.ImGuiIO = cimgui.c.igGetIO(); + const io: *cimgui.c.ImGuiIO = cimgui.c.ImGui_GetIO(); const gdk_button = gesture.as(gtk.GestureSingle).getCurrentButton(); if (translateMouseButton(gdk_button)) |button| { cimgui.c.ImGuiIO_AddMouseButtonEvent(io, button, true); @@ -361,7 +363,7 @@ pub const ImguiWidget = extern struct { ) callconv(.c) void { self.queueRender(); self.setCurrentContext() catch return; - const io: *cimgui.c.ImGuiIO = cimgui.c.igGetIO(); + const io: *cimgui.c.ImGuiIO = cimgui.c.ImGui_GetIO(); const gdk_button = gesture.as(gtk.GestureSingle).getCurrentButton(); if (translateMouseButton(gdk_button)) |button| { cimgui.c.ImGuiIO_AddMouseButtonEvent(io, button, false); @@ -376,7 +378,7 @@ pub const ImguiWidget = extern struct { ) callconv(.c) void { self.queueRender(); self.setCurrentContext() catch return; - const io: *cimgui.c.ImGuiIO = cimgui.c.igGetIO(); + const io: *cimgui.c.ImGuiIO = cimgui.c.ImGui_GetIO(); const scale_factor = self.getScaleFactor(); cimgui.c.ImGuiIO_AddMousePosEvent( io, @@ -393,7 +395,7 @@ pub const ImguiWidget = extern struct { ) callconv(.c) c_int { self.queueRender(); self.setCurrentContext() catch return @intFromBool(false); - const io: *cimgui.c.ImGuiIO = cimgui.c.igGetIO(); + const io: *cimgui.c.ImGuiIO = cimgui.c.ImGui_GetIO(); cimgui.c.ImGuiIO_AddMouseWheelEvent( io, @floatCast(x), @@ -409,7 +411,7 @@ pub const ImguiWidget = extern struct { ) callconv(.c) void { self.queueRender(); self.setCurrentContext() catch return; - const io: *cimgui.c.ImGuiIO = cimgui.c.igGetIO(); + const io: *cimgui.c.ImGuiIO = cimgui.c.ImGui_GetIO(); cimgui.c.ImGuiIO_AddInputCharactersUTF8(io, bytes); } diff --git a/src/build/SharedDeps.zig b/src/build/SharedDeps.zig index 5e2cd40b9..b1c084002 100644 --- a/src/build/SharedDeps.zig +++ b/src/build/SharedDeps.zig @@ -135,29 +135,28 @@ pub fn add( // Every exe needs the terminal options self.config.terminalOptions().add(b, step.root_module); - // Freetype + // Freetype. We always include this even if our font backend doesn't + // use it because Dear Imgui uses Freetype. _ = b.systemIntegrationOption("freetype", .{}); // Shows it in help - if (self.config.font_backend.hasFreetype()) { - if (b.lazyDependency("freetype", .{ - .target = target, - .optimize = optimize, - .@"enable-libpng" = true, - })) |freetype_dep| { - step.root_module.addImport( - "freetype", - freetype_dep.module("freetype"), - ); + if (b.lazyDependency("freetype", .{ + .target = target, + .optimize = optimize, + .@"enable-libpng" = true, + })) |freetype_dep| { + step.root_module.addImport( + "freetype", + freetype_dep.module("freetype"), + ); - if (b.systemIntegrationOption("freetype", .{})) { - step.linkSystemLibrary2("bzip2", dynamic_link_opts); - step.linkSystemLibrary2("freetype2", dynamic_link_opts); - } else { - step.linkLibrary(freetype_dep.artifact("freetype")); - try static_libs.append( - b.allocator, - freetype_dep.artifact("freetype").getEmittedBin(), - ); - } + if (b.systemIntegrationOption("freetype", .{})) { + step.linkSystemLibrary2("bzip2", dynamic_link_opts); + step.linkSystemLibrary2("freetype2", dynamic_link_opts); + } else { + step.linkLibrary(freetype_dep.artifact("freetype")); + try static_libs.append( + b.allocator, + freetype_dep.artifact("freetype").getEmittedBin(), + ); } } @@ -479,15 +478,19 @@ pub fn add( } // cimgui - if (b.lazyDependency("cimgui", .{ + if (b.lazyDependency("dcimgui", .{ .target = target, .optimize = optimize, - })) |cimgui_dep| { - step.root_module.addImport("cimgui", cimgui_dep.module("cimgui")); - step.linkLibrary(cimgui_dep.artifact("cimgui")); + .freetype = true, + .@"backend-metal" = target.result.os.tag.isDarwin(), + .@"backend-osx" = target.result.os.tag == .macos, + .@"backend-opengl3" = target.result.os.tag != .macos, + })) |dep| { + step.root_module.addImport("dcimgui", dep.module("dcimgui")); + step.linkLibrary(dep.artifact("dcimgui")); try static_libs.append( b.allocator, - cimgui_dep.artifact("cimgui").getEmittedBin(), + dep.artifact("dcimgui").getEmittedBin(), ); } diff --git a/src/input/key.zig b/src/input/key.zig index 54c7491ae..6445871eb 100644 --- a/src/input/key.zig +++ b/src/input/key.zig @@ -1,7 +1,7 @@ const std = @import("std"); const builtin = @import("builtin"); const Allocator = std.mem.Allocator; -const cimgui = @import("cimgui"); +const cimgui = @import("dcimgui"); const OptionAsAlt = @import("config.zig").OptionAsAlt; /// A generic key input event. This is the information that is necessary @@ -696,7 +696,7 @@ pub const Key = enum(c_int) { } /// Returns the cimgui key constant for this key. - pub fn imguiKey(self: Key) ?c_uint { + pub fn imguiKey(self: Key) ?c_int { return switch (self) { .key_a => cimgui.c.ImGuiKey_A, .key_b => cimgui.c.ImGuiKey_B, diff --git a/src/inspector/Inspector.zig b/src/inspector/Inspector.zig index dc498b58d..156e2cb18 100644 --- a/src/inspector/Inspector.zig +++ b/src/inspector/Inspector.zig @@ -7,7 +7,7 @@ const std = @import("std"); const assert = @import("../quirks.zig").inlineAssert; const Allocator = std.mem.Allocator; const builtin = @import("builtin"); -const cimgui = @import("cimgui"); +const cimgui = @import("dcimgui"); const Surface = @import("../Surface.zig"); const font = @import("../font/main.zig"); const input = @import("../input.zig"); @@ -126,7 +126,7 @@ const CellInspect = union(enum) { /// Setup the ImGui state. This requires an ImGui context to be set. pub fn setup() void { - const io: *cimgui.c.ImGuiIO = cimgui.c.igGetIO(); + const io: *cimgui.c.ImGuiIO = cimgui.c.ImGui_GetIO(); // Enable docking, which we use heavily for the UI. io.ConfigFlags |= cimgui.c.ImGuiConfigFlags_DockingEnable; @@ -144,15 +144,15 @@ pub fn setup() void { // This is currently hardcoded to a 2x content scale. const font_size = 16 * 2; - const font_config: *cimgui.c.ImFontConfig = cimgui.c.ImFontConfig_ImFontConfig(); - defer cimgui.c.ImFontConfig_destroy(font_config); + var font_config: cimgui.c.ImFontConfig = undefined; + cimgui.ext.ImFontConfig_ImFontConfig(&font_config); font_config.FontDataOwnedByAtlas = false; _ = cimgui.c.ImFontAtlas_AddFontFromMemoryTTF( io.Fonts, - @ptrCast(@constCast(font.embedded.regular)), - font.embedded.regular.len, + @ptrCast(@constCast(font.embedded.regular.ptr)), + @intCast(font.embedded.regular.len), font_size, - font_config, + &font_config, null, ); } @@ -221,11 +221,7 @@ pub fn recordPtyRead(self: *Inspector, data: []const u8) !void { /// Render the frame. pub fn render(self: *Inspector) void { - const dock_id = cimgui.c.igDockSpaceOverViewport( - cimgui.c.igGetMainViewport(), - cimgui.c.ImGuiDockNodeFlags_None, - null, - ); + const dock_id = cimgui.c.ImGui_DockSpaceOverViewport(); // Render all of our data. We hold the mutex for this duration. This is // expensive but this is an initial implementation until it doesn't work @@ -245,7 +241,7 @@ pub fn render(self: *Inspector) void { // widgets and such. if (builtin.mode == .Debug) { var show: bool = true; - cimgui.c.igShowDemoWindow(&show); + cimgui.c.ImGui_ShowDemoWindow(&show); } // On first render we set up the layout. We can actually do this at @@ -261,7 +257,7 @@ fn setupLayout(self: *Inspector, dock_id_main: cimgui.c.ImGuiID) void { _ = self; // Our initial focus - cimgui.c.igSetWindowFocus_Str(window_screen); + cimgui.c.ImGui_SetWindowFocusStr(window_screen); // Setup our initial layout. const dock_id: struct { @@ -270,7 +266,7 @@ fn setupLayout(self: *Inspector, dock_id_main: cimgui.c.ImGuiID) void { } = dock_id: { var dock_id_left: cimgui.c.ImGuiID = undefined; var dock_id_right: cimgui.c.ImGuiID = undefined; - _ = cimgui.c.igDockBuilderSplitNode( + _ = cimgui.ImGui_DockBuilderSplitNode( dock_id_main, cimgui.c.ImGuiDir_Left, 0.7, @@ -284,20 +280,20 @@ fn setupLayout(self: *Inspector, dock_id_main: cimgui.c.ImGuiID) void { }; }; - cimgui.c.igDockBuilderDockWindow(window_cell, dock_id.left); - cimgui.c.igDockBuilderDockWindow(window_modes, dock_id.left); - cimgui.c.igDockBuilderDockWindow(window_keyboard, dock_id.left); - cimgui.c.igDockBuilderDockWindow(window_termio, dock_id.left); - cimgui.c.igDockBuilderDockWindow(window_screen, dock_id.left); - cimgui.c.igDockBuilderDockWindow(window_imgui_demo, dock_id.left); - cimgui.c.igDockBuilderDockWindow(window_size, dock_id.right); - cimgui.c.igDockBuilderFinish(dock_id_main); + cimgui.ImGui_DockBuilderDockWindow(window_cell, dock_id.left); + cimgui.ImGui_DockBuilderDockWindow(window_modes, dock_id.left); + cimgui.ImGui_DockBuilderDockWindow(window_keyboard, dock_id.left); + cimgui.ImGui_DockBuilderDockWindow(window_termio, dock_id.left); + cimgui.ImGui_DockBuilderDockWindow(window_screen, dock_id.left); + cimgui.ImGui_DockBuilderDockWindow(window_imgui_demo, dock_id.left); + cimgui.ImGui_DockBuilderDockWindow(window_size, dock_id.right); + cimgui.ImGui_DockBuilderFinish(dock_id_main); } fn renderScreenWindow(self: *Inspector) void { // Start our window. If we're collapsed we do nothing. - defer cimgui.c.igEnd(); - if (!cimgui.c.igBegin( + defer cimgui.c.ImGui_End(); + if (!cimgui.c.ImGui_Begin( window_screen, null, cimgui.c.ImGuiWindowFlags_NoFocusOnAppearing, @@ -307,76 +303,70 @@ fn renderScreenWindow(self: *Inspector) void { const screen: *terminal.Screen = t.screens.active; { - _ = cimgui.c.igBeginTable( + _ = cimgui.c.ImGui_BeginTable( "table_screen", 2, cimgui.c.ImGuiTableFlags_None, - .{ .x = 0, .y = 0 }, - 0, ); - defer cimgui.c.igEndTable(); + defer cimgui.c.ImGui_EndTable(); { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Active Screen"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Active Screen"); } { - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText("%s", @tagName(t.screens.active_key).ptr); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text("%s", @tagName(t.screens.active_key).ptr); } } } - if (cimgui.c.igCollapsingHeader_TreeNodeFlags( + if (cimgui.c.ImGui_CollapsingHeader( "Cursor", cimgui.c.ImGuiTreeNodeFlags_DefaultOpen, )) { { - _ = cimgui.c.igBeginTable( + _ = cimgui.c.ImGui_BeginTable( "table_cursor", 2, cimgui.c.ImGuiTableFlags_None, - .{ .x = 0, .y = 0 }, - 0, ); - defer cimgui.c.igEndTable(); + defer cimgui.c.ImGui_EndTable(); inspector.cursor.renderInTable( self.surface.renderer_state.terminal, &screen.cursor, ); } // table - cimgui.c.igTextDisabled("(Any styles not shown are not currently set)"); + cimgui.c.ImGui_TextDisabled("(Any styles not shown are not currently set)"); } // cursor - if (cimgui.c.igCollapsingHeader_TreeNodeFlags( + if (cimgui.c.ImGui_CollapsingHeader( "Keyboard", cimgui.c.ImGuiTreeNodeFlags_DefaultOpen, )) { { - _ = cimgui.c.igBeginTable( + _ = cimgui.c.ImGui_BeginTable( "table_keyboard", 2, cimgui.c.ImGuiTableFlags_None, - .{ .x = 0, .y = 0 }, - 0, ); - defer cimgui.c.igEndTable(); + defer cimgui.c.ImGui_EndTable(); const kitty_flags = screen.kitty_keyboard.current(); { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Mode"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Mode"); } { - _ = cimgui.c.igTableSetColumnIndex(1); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); const mode = if (kitty_flags.int() != 0) "kitty" else "legacy"; - cimgui.c.igText("%s", mode.ptr); + cimgui.c.ImGui_Text("%s", mode.ptr); } } @@ -386,15 +376,15 @@ fn renderScreenWindow(self: *Inspector) void { { const value = @field(kitty_flags, field.name); - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); const name = std.fmt.comptimePrint("{s}", .{field.name}); - cimgui.c.igText("%s", name.ptr); + cimgui.c.ImGui_Text("%s", name.ptr); } { - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText( + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text( "%s", if (value) "true".ptr else "false".ptr, ); @@ -403,14 +393,14 @@ fn renderScreenWindow(self: *Inspector) void { } } else { { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Xterm modify keys"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Xterm modify keys"); } { - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText( + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text( "%s", if (t.flags.modify_other_keys_2) "true".ptr else "false".ptr, ); @@ -420,143 +410,139 @@ fn renderScreenWindow(self: *Inspector) void { } // table } // keyboard - if (cimgui.c.igCollapsingHeader_TreeNodeFlags( + if (cimgui.c.ImGui_CollapsingHeader( "Kitty Graphics", cimgui.c.ImGuiTreeNodeFlags_DefaultOpen, )) kitty_gfx: { if (!screen.kitty_images.enabled()) { - cimgui.c.igTextDisabled("(Kitty graphics are disabled)"); + cimgui.c.ImGui_TextDisabled("(Kitty graphics are disabled)"); break :kitty_gfx; } { - _ = cimgui.c.igBeginTable( + _ = cimgui.c.ImGui_BeginTable( "##kitty_graphics", 2, cimgui.c.ImGuiTableFlags_None, - .{ .x = 0, .y = 0 }, - 0, ); - defer cimgui.c.igEndTable(); + defer cimgui.c.ImGui_EndTable(); const kitty_images = &screen.kitty_images; { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Memory Usage"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Memory Usage"); } { - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText("%d bytes (%d KiB)", kitty_images.total_bytes, units.toKibiBytes(kitty_images.total_bytes)); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text("%d bytes (%d KiB)", kitty_images.total_bytes, units.toKibiBytes(kitty_images.total_bytes)); } } { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Memory Limit"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Memory Limit"); } { - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText("%d bytes (%d KiB)", kitty_images.total_limit, units.toKibiBytes(kitty_images.total_limit)); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text("%d bytes (%d KiB)", kitty_images.total_limit, units.toKibiBytes(kitty_images.total_limit)); } } { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Image Count"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Image Count"); } { - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText("%d", kitty_images.images.count()); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text("%d", kitty_images.images.count()); } } { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Placement Count"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Placement Count"); } { - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText("%d", kitty_images.placements.count()); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text("%d", kitty_images.placements.count()); } } { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Image Loading"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Image Loading"); } { - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText("%s", if (kitty_images.loading != null) "true".ptr else "false".ptr); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text("%s", if (kitty_images.loading != null) "true".ptr else "false".ptr); } } } // table } // kitty graphics - if (cimgui.c.igCollapsingHeader_TreeNodeFlags( + if (cimgui.c.ImGui_CollapsingHeader( "Internal Terminal State", cimgui.c.ImGuiTreeNodeFlags_DefaultOpen, )) { const pages = &screen.pages; { - _ = cimgui.c.igBeginTable( + _ = cimgui.c.ImGui_BeginTable( "##terminal_state", 2, cimgui.c.ImGuiTableFlags_None, - .{ .x = 0, .y = 0 }, - 0, ); - defer cimgui.c.igEndTable(); + defer cimgui.c.ImGui_EndTable(); { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Memory Usage"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Memory Usage"); } { - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText("%d bytes (%d KiB)", pages.page_size, units.toKibiBytes(pages.page_size)); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text("%d bytes (%d KiB)", pages.page_size, units.toKibiBytes(pages.page_size)); } } { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Memory Limit"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Memory Limit"); } { - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText("%d bytes (%d KiB)", pages.maxSize(), units.toKibiBytes(pages.maxSize())); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text("%d bytes (%d KiB)", pages.maxSize(), units.toKibiBytes(pages.maxSize())); } } { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Viewport Location"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Viewport Location"); } { - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText("%s", @tagName(pages.viewport).ptr); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text("%s", @tagName(pages.viewport).ptr); } } } // table // - if (cimgui.c.igCollapsingHeader_TreeNodeFlags( + if (cimgui.c.ImGui_CollapsingHeader( "Active Page", cimgui.c.ImGuiTreeNodeFlags_DefaultOpen, )) { @@ -569,28 +555,26 @@ fn renderScreenWindow(self: *Inspector) void { /// users to toggle them on and off. fn renderModesWindow(self: *Inspector) void { // Start our window. If we're collapsed we do nothing. - defer cimgui.c.igEnd(); - if (!cimgui.c.igBegin( + defer cimgui.c.ImGui_End(); + if (!cimgui.c.ImGui_Begin( window_modes, null, cimgui.c.ImGuiWindowFlags_NoFocusOnAppearing, )) return; - _ = cimgui.c.igBeginTable( + _ = cimgui.c.ImGui_BeginTable( "table_modes", 3, cimgui.c.ImGuiTableFlags_SizingFixedFit | cimgui.c.ImGuiTableFlags_RowBg, - .{ .x = 0, .y = 0 }, - 0, ); - defer cimgui.c.igEndTable(); + defer cimgui.c.ImGui_EndTable(); { - _ = cimgui.c.igTableSetupColumn("", cimgui.c.ImGuiTableColumnFlags_NoResize, 0, 0); - _ = cimgui.c.igTableSetupColumn("Number", cimgui.c.ImGuiTableColumnFlags_PreferSortAscending, 0, 0); - _ = cimgui.c.igTableSetupColumn("Name", cimgui.c.ImGuiTableColumnFlags_WidthStretch, 0, 0); - cimgui.c.igTableHeadersRow(); + cimgui.c.ImGui_TableSetupColumn("", cimgui.c.ImGuiTableColumnFlags_NoResize); + cimgui.c.ImGui_TableSetupColumn("Number", cimgui.c.ImGuiTableColumnFlags_PreferSortAscending); + cimgui.c.ImGui_TableSetupColumn("Name", cimgui.c.ImGuiTableColumnFlags_WidthStretch); + cimgui.c.ImGui_TableHeadersRow(); } const t = self.surface.renderer_state.terminal; @@ -598,59 +582,57 @@ fn renderModesWindow(self: *Inspector) void { @setEvalBranchQuota(6000); const tag: terminal.modes.ModeTag = @bitCast(@as(terminal.modes.ModeTag.Backing, field.value)); - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); var value: bool = t.modes.get(@field(terminal.Mode, field.name)); - _ = cimgui.c.igCheckbox("", &value); + _ = cimgui.c.ImGui_Checkbox("", &value); } { - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText( + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text( "%s%d", if (tag.ansi) "" else "?", @as(u32, @intCast(tag.value)), ); } { - _ = cimgui.c.igTableSetColumnIndex(2); + _ = cimgui.c.ImGui_TableSetColumnIndex(2); const name = std.fmt.comptimePrint("{s}", .{field.name}); - cimgui.c.igText("%s", name.ptr); + cimgui.c.ImGui_Text("%s", name.ptr); } } } fn renderSizeWindow(self: *Inspector) void { // Start our window. If we're collapsed we do nothing. - defer cimgui.c.igEnd(); - if (!cimgui.c.igBegin( + defer cimgui.c.ImGui_End(); + if (!cimgui.c.ImGui_Begin( window_size, null, cimgui.c.ImGuiWindowFlags_NoFocusOnAppearing, )) return; - cimgui.c.igSeparatorText("Dimensions"); + cimgui.c.ImGui_SeparatorText("Dimensions"); { - _ = cimgui.c.igBeginTable( + _ = cimgui.c.ImGui_BeginTable( "table_size", 2, cimgui.c.ImGuiTableFlags_None, - .{ .x = 0, .y = 0 }, - 0, ); - defer cimgui.c.igEndTable(); + defer cimgui.c.ImGui_EndTable(); // Screen Size { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Screen Size"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Screen Size"); } { - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText( + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text( "%dpx x %dpx", self.surface.size.screen.width, self.surface.size.screen.height, @@ -660,15 +642,15 @@ fn renderSizeWindow(self: *Inspector) void { // Grid Size { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Grid Size"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Grid Size"); } { - _ = cimgui.c.igTableSetColumnIndex(1); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); const grid_size = self.surface.size.grid(); - cimgui.c.igText( + cimgui.c.ImGui_Text( "%dc x %dr", grid_size.columns, grid_size.rows, @@ -678,14 +660,14 @@ fn renderSizeWindow(self: *Inspector) void { // Cell Size { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Cell Size"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Cell Size"); } { - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText( + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text( "%dpx x %dpx", self.surface.size.cell.width, self.surface.size.cell.height, @@ -695,14 +677,14 @@ fn renderSizeWindow(self: *Inspector) void { // Padding { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Window Padding"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Window Padding"); } { - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText( + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text( "T=%d B=%d L=%d R=%d px", self.surface.size.padding.top, self.surface.size.padding.bottom, @@ -713,27 +695,25 @@ fn renderSizeWindow(self: *Inspector) void { } } - cimgui.c.igSeparatorText("Font"); + cimgui.c.ImGui_SeparatorText("Font"); { - _ = cimgui.c.igBeginTable( + _ = cimgui.c.ImGui_BeginTable( "table_font", 2, cimgui.c.ImGuiTableFlags_None, - .{ .x = 0, .y = 0 }, - 0, ); - defer cimgui.c.igEndTable(); + defer cimgui.c.ImGui_EndTable(); { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Size (Points)"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Size (Points)"); } { - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText( + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text( "%.2f pt", self.surface.font_size.points, ); @@ -741,14 +721,14 @@ fn renderSizeWindow(self: *Inspector) void { } { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Size (Pixels)"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Size (Pixels)"); } { - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText( + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text( "%.2f px", self.surface.font_size.pixels(), ); @@ -756,17 +736,15 @@ fn renderSizeWindow(self: *Inspector) void { } } - cimgui.c.igSeparatorText("Mouse"); + cimgui.c.ImGui_SeparatorText("Mouse"); { - _ = cimgui.c.igBeginTable( + _ = cimgui.c.ImGui_BeginTable( "table_mouse", 2, cimgui.c.ImGuiTableFlags_None, - .{ .x = 0, .y = 0 }, - 0, ); - defer cimgui.c.igEndTable(); + defer cimgui.c.ImGui_EndTable(); const mouse = &self.surface.mouse; const t = self.surface.renderer_state.terminal; @@ -781,14 +759,14 @@ fn renderSizeWindow(self: *Inspector) void { break :pt pt.coord(); }; - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Hover Grid"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Hover Grid"); } { - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText( + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text( "row=%d, col=%d", hover_point.y, hover_point.x, @@ -804,14 +782,14 @@ fn renderSizeWindow(self: *Inspector) void { }, }).convert(.terminal, self.surface.size).terminal; - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Hover Point"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Hover Point"); } { - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText( + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text( "(%dpx, %dpx)", @as(i64, @intFromFloat(coord.x)), @as(i64, @intFromFloat(coord.y)), @@ -824,23 +802,23 @@ fn renderSizeWindow(self: *Inspector) void { } else false; click: { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Click State"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Click State"); } { - _ = cimgui.c.igTableSetColumnIndex(1); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); if (!any_click) { - cimgui.c.igText("none"); + cimgui.c.ImGui_Text("none"); break :click; } for (mouse.click_state, 0..) |state, i| { if (state != .press) continue; const button: input.MouseButton = @enumFromInt(i); - cimgui.c.igSameLine(0, 0); - cimgui.c.igText("%s", (switch (button) { + cimgui.c.ImGui_SameLine(); + cimgui.c.ImGui_Text("%s", (switch (button) { .unknown => "?", .left => "L", .middle => "M", @@ -868,14 +846,14 @@ fn renderSizeWindow(self: *Inspector) void { break :pt pt.coord(); }; - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Click Grid"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Click Grid"); } { - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText( + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text( "row=%d, col=%d", left_click_point.y, left_click_point.x, @@ -884,14 +862,14 @@ fn renderSizeWindow(self: *Inspector) void { } { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Click Point"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Click Point"); } { - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText( + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text( "(%dpx, %dpx)", @as(u32, @intFromFloat(mouse.left_click_xpos)), @as(u32, @intFromFloat(mouse.left_click_ypos)), @@ -903,8 +881,8 @@ fn renderSizeWindow(self: *Inspector) void { fn renderCellWindow(self: *Inspector) void { // Start our window. If we're collapsed we do nothing. - defer cimgui.c.igEnd(); - if (!cimgui.c.igBegin( + defer cimgui.c.ImGui_End(); + if (!cimgui.c.ImGui_Begin( window_cell, null, cimgui.c.ImGuiWindowFlags_NoFocusOnAppearing, @@ -913,45 +891,45 @@ fn renderCellWindow(self: *Inspector) void { // Our popup for the picker const popup_picker = "Cell Picker"; - if (cimgui.c.igButton("Picker", .{ .x = 0, .y = 0 })) { + if (cimgui.c.ImGui_Button("Picker")) { // Request a cell self.cell.request(); - cimgui.c.igOpenPopup_Str( + cimgui.c.ImGui_OpenPopup( popup_picker, cimgui.c.ImGuiPopupFlags_None, ); } - if (cimgui.c.igBeginPopupModal( + if (cimgui.c.ImGui_BeginPopupModal( popup_picker, null, cimgui.c.ImGuiWindowFlags_AlwaysAutoResize, )) popup: { - defer cimgui.c.igEndPopup(); + defer cimgui.c.ImGui_EndPopup(); // Once we select a cell, close this popup. if (self.cell == .selected) { - cimgui.c.igCloseCurrentPopup(); + cimgui.c.ImGui_CloseCurrentPopup(); break :popup; } - cimgui.c.igText( + cimgui.c.ImGui_Text( "Click on a cell in the terminal to inspect it.\n" ++ "The click will be intercepted by the picker, \n" ++ "so it won't be sent to the terminal.", ); - cimgui.c.igSeparator(); + cimgui.c.ImGui_Separator(); - if (cimgui.c.igButton("Cancel", .{ .x = 0, .y = 0 })) { - cimgui.c.igCloseCurrentPopup(); + if (cimgui.c.ImGui_Button("Cancel")) { + cimgui.c.ImGui_CloseCurrentPopup(); } } // cell pick popup - cimgui.c.igSeparator(); + cimgui.c.ImGui_Separator(); if (self.cell != .selected) { - cimgui.c.igText("No cell selected."); + cimgui.c.ImGui_Text("No cell selected."); return; } @@ -965,8 +943,8 @@ fn renderCellWindow(self: *Inspector) void { fn renderKeyboardWindow(self: *Inspector) void { // Start our window. If we're collapsed we do nothing. - defer cimgui.c.igEnd(); - if (!cimgui.c.igBegin( + defer cimgui.c.ImGui_End(); + if (!cimgui.c.ImGui_Begin( window_keyboard, null, cimgui.c.ImGuiWindowFlags_NoFocusOnAppearing, @@ -974,47 +952,44 @@ fn renderKeyboardWindow(self: *Inspector) void { list: { if (self.key_events.empty()) { - cimgui.c.igText("No recorded key events. Press a key with the " ++ + cimgui.c.ImGui_Text("No recorded key events. Press a key with the " ++ "terminal focused to record it."); break :list; } - if (cimgui.c.igButton("Clear", .{ .x = 0, .y = 0 })) { + if (cimgui.c.ImGui_Button("Clear")) { var it = self.key_events.iterator(.forward); while (it.next()) |v| v.deinit(self.surface.alloc); self.key_events.clear(); self.vt_stream.handler.current_seq = 1; } - cimgui.c.igSeparator(); + cimgui.c.ImGui_Separator(); - _ = cimgui.c.igBeginTable( + _ = cimgui.c.ImGui_BeginTable( "table_key_events", 1, //cimgui.c.ImGuiTableFlags_ScrollY | cimgui.c.ImGuiTableFlags_RowBg | cimgui.c.ImGuiTableFlags_Borders, - .{ .x = 0, .y = 0 }, - 0, ); - defer cimgui.c.igEndTable(); + defer cimgui.c.ImGui_EndTable(); var it = self.key_events.iterator(.reverse); while (it.next()) |ev| { // Need to push an ID so that our selectable is unique. - cimgui.c.igPushID_Ptr(ev); - defer cimgui.c.igPopID(); + cimgui.c.ImGui_PushIDPtr(ev); + defer cimgui.c.ImGui_PopID(); - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); - _ = cimgui.c.igTableSetColumnIndex(0); + cimgui.c.ImGui_TableNextRow(); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); var buf: [1024]u8 = undefined; const label = ev.label(&buf) catch "Key Event"; - _ = cimgui.c.igSelectable_BoolPtr( + _ = cimgui.c.ImGui_SelectableBoolPtr( label.ptr, &ev.imgui_state.selected, cimgui.c.ImGuiSelectableFlags_None, - .{ .x = 0, .y = 0 }, ); if (!ev.imgui_state.selected) continue; @@ -1034,7 +1009,7 @@ fn getKeyAction(self: *Inspector) KeyAction { }; inline for (keys) |k| { - if (cimgui.c.igIsKeyPressed_Bool(k.key, false)) { + if (cimgui.c.ImGui_IsKeyPressed(k.key)) { return k.action; } } @@ -1043,8 +1018,8 @@ fn getKeyAction(self: *Inspector) KeyAction { fn renderTermioWindow(self: *Inspector) void { // Start our window. If we're collapsed we do nothing. - defer cimgui.c.igEnd(); - if (!cimgui.c.igBegin( + defer cimgui.c.ImGui_End(); + if (!cimgui.c.ImGui_Begin( window_termio, null, cimgui.c.ImGuiWindowFlags_NoFocusOnAppearing, @@ -1057,21 +1032,21 @@ fn renderTermioWindow(self: *Inspector) void { "Pause##pause_play" else "Resume##pause_play"; - if (cimgui.c.igButton(pause_play.ptr, .{ .x = 0, .y = 0 })) { + if (cimgui.c.ImGui_Button(pause_play.ptr)) { self.vt_stream.handler.active = !self.vt_stream.handler.active; } - cimgui.c.igSameLine(0, cimgui.c.igGetStyle().*.ItemInnerSpacing.x); - if (cimgui.c.igButton("Filter", .{ .x = 0, .y = 0 })) { - cimgui.c.igOpenPopup_Str( + cimgui.c.ImGui_SameLineEx(0, cimgui.c.ImGui_GetStyle().*.ItemInnerSpacing.x); + if (cimgui.c.ImGui_Button("Filter")) { + cimgui.c.ImGui_OpenPopup( popup_filter, cimgui.c.ImGuiPopupFlags_None, ); } if (!self.vt_events.empty()) { - cimgui.c.igSameLine(0, cimgui.c.igGetStyle().*.ItemInnerSpacing.x); - if (cimgui.c.igButton("Clear", .{ .x = 0, .y = 0 })) { + cimgui.c.ImGui_SameLineEx(0, cimgui.c.ImGui_GetStyle().*.ItemInnerSpacing.x); + if (cimgui.c.ImGui_Button("Clear")) { var it = self.vt_events.iterator(.forward); while (it.next()) |v| v.deinit(self.surface.alloc); self.vt_events.clear(); @@ -1081,44 +1056,36 @@ fn renderTermioWindow(self: *Inspector) void { } } - cimgui.c.igSeparator(); + cimgui.c.ImGui_Separator(); if (self.vt_events.empty()) { - cimgui.c.igText("Waiting for events..."); + cimgui.c.ImGui_Text("Waiting for events..."); break :list; } - _ = cimgui.c.igBeginTable( + _ = cimgui.c.ImGui_BeginTable( "table_vt_events", 3, cimgui.c.ImGuiTableFlags_RowBg | cimgui.c.ImGuiTableFlags_Borders, - .{ .x = 0, .y = 0 }, - 0, ); - defer cimgui.c.igEndTable(); + defer cimgui.c.ImGui_EndTable(); - cimgui.c.igTableSetupColumn( + cimgui.c.ImGui_TableSetupColumn( "Seq", cimgui.c.ImGuiTableColumnFlags_WidthFixed, - 0, - 0, ); - cimgui.c.igTableSetupColumn( + cimgui.c.ImGui_TableSetupColumn( "Kind", cimgui.c.ImGuiTableColumnFlags_WidthFixed, - 0, - 0, ); - cimgui.c.igTableSetupColumn( + cimgui.c.ImGui_TableSetupColumn( "Description", cimgui.c.ImGuiTableColumnFlags_WidthStretch, - 0, - 0, ); // Handle keyboard navigation when window is focused - if (cimgui.c.igIsWindowFocused(cimgui.c.ImGuiFocusedFlags_RootAndChildWindows)) { + if (cimgui.c.ImGui_IsWindowFocused(cimgui.c.ImGuiFocusedFlags_RootAndChildWindows)) { const key_pressed = self.getKeyAction(); switch (key_pressed) { @@ -1174,11 +1141,11 @@ fn renderTermioWindow(self: *Inspector) void { var it = self.vt_events.iterator(.reverse); while (it.next()) |ev| { // Need to push an ID so that our selectable is unique. - cimgui.c.igPushID_Ptr(ev); - defer cimgui.c.igPopID(); + cimgui.c.ImGui_PushIDPtr(ev); + defer cimgui.c.ImGui_PopID(); - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); - _ = cimgui.c.igTableNextColumn(); + cimgui.c.ImGui_TableNextRow(); + _ = cimgui.c.ImGui_TableNextColumn(); // Store the previous selection state to detect changes const was_selected = ev.imgui_selected; @@ -1189,11 +1156,10 @@ fn renderTermioWindow(self: *Inspector) void { } // Handle selectable widget - if (cimgui.c.igSelectable_BoolPtr( + if (cimgui.c.ImGui_SelectableBoolPtr( "##select", &ev.imgui_selected, cimgui.c.ImGuiSelectableFlags_SpanAllColumns, - .{ .x = 0, .y = 0 }, )) { // If selection state changed, update keyboard navigation state if (ev.imgui_selected != was_selected) { @@ -1205,40 +1171,38 @@ fn renderTermioWindow(self: *Inspector) void { } } - cimgui.c.igSameLine(0, 0); - cimgui.c.igText("%d", ev.seq); - _ = cimgui.c.igTableNextColumn(); - cimgui.c.igText("%s", @tagName(ev.kind).ptr); - _ = cimgui.c.igTableNextColumn(); - cimgui.c.igText("%s", ev.str.ptr); + cimgui.c.ImGui_SameLine(); + cimgui.c.ImGui_Text("%d", ev.seq); + _ = cimgui.c.ImGui_TableNextColumn(); + cimgui.c.ImGui_Text("%s", @tagName(ev.kind).ptr); + _ = cimgui.c.ImGui_TableNextColumn(); + cimgui.c.ImGui_Text("%s", ev.str.ptr); // If the event is selected, we render info about it. For now // we put this in the last column because that's the widest and // imgui has no way to make a column span. if (ev.imgui_selected) { { - _ = cimgui.c.igBeginTable( + _ = cimgui.c.ImGui_BeginTable( "details", 2, cimgui.c.ImGuiTableFlags_None, - .{ .x = 0, .y = 0 }, - 0, ); - defer cimgui.c.igEndTable(); + defer cimgui.c.ImGui_EndTable(); inspector.cursor.renderInTable( self.surface.renderer_state.terminal, &ev.cursor, ); { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Scroll Region"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Scroll Region"); } { - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText( + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text( "T=%d B=%d L=%d R=%d", ev.scrolling_region.top, ev.scrolling_region.bottom, @@ -1253,51 +1217,49 @@ fn renderTermioWindow(self: *Inspector) void { var buf: [256]u8 = undefined; const key = std.fmt.bufPrintZ(&buf, "{s}", .{entry.key_ptr.*}) catch ""; - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); - _ = cimgui.c.igTableNextColumn(); - cimgui.c.igText("%s", key.ptr); - _ = cimgui.c.igTableNextColumn(); - cimgui.c.igText("%s", entry.value_ptr.ptr); + cimgui.c.ImGui_TableNextRow(); + _ = cimgui.c.ImGui_TableNextColumn(); + cimgui.c.ImGui_Text("%s", key.ptr); + _ = cimgui.c.ImGui_TableNextColumn(); + cimgui.c.ImGui_Text("%s", entry.value_ptr.ptr); } } // If this is the selected event and scrolling is needed, scroll to it if (self.need_scroll_to_selected and self.is_keyboard_selection) { - cimgui.c.igSetScrollHereY(0.5); + cimgui.c.ImGui_SetScrollHereY(0.5); self.need_scroll_to_selected = false; } } } } // table - if (cimgui.c.igBeginPopupModal( + if (cimgui.c.ImGui_BeginPopupModal( popup_filter, null, cimgui.c.ImGuiWindowFlags_AlwaysAutoResize, )) { - defer cimgui.c.igEndPopup(); + defer cimgui.c.ImGui_EndPopup(); - cimgui.c.igText("Changed filter settings will only affect future events."); + cimgui.c.ImGui_Text("Changed filter settings will only affect future events."); - cimgui.c.igSeparator(); + cimgui.c.ImGui_Separator(); { - _ = cimgui.c.igBeginTable( + _ = cimgui.c.ImGui_BeginTable( "table_filter_kind", 3, cimgui.c.ImGuiTableFlags_None, - .{ .x = 0, .y = 0 }, - 0, ); - defer cimgui.c.igEndTable(); + defer cimgui.c.ImGui_EndTable(); inline for (@typeInfo(terminal.Parser.Action.Tag).@"enum".fields) |field| { const tag = @field(terminal.Parser.Action.Tag, field.name); if (tag == .apc_put or tag == .dcs_put) continue; - _ = cimgui.c.igTableNextColumn(); + _ = cimgui.c.ImGui_TableNextColumn(); var value = !self.vt_stream.handler.filter_exclude.contains(tag); - if (cimgui.c.igCheckbox(@tagName(tag).ptr, &value)) { + if (cimgui.c.ImGui_Checkbox(@tagName(tag).ptr, &value)) { if (value) { self.vt_stream.handler.filter_exclude.remove(tag); } else { @@ -1307,22 +1269,22 @@ fn renderTermioWindow(self: *Inspector) void { } } // Filter kind table - cimgui.c.igSeparator(); + cimgui.c.ImGui_Separator(); - cimgui.c.igText( + cimgui.c.ImGui_Text( "Filter by string. Empty displays all, \"abc\" finds lines\n" ++ "containing \"abc\", \"abc,xyz\" finds lines containing \"abc\"\n" ++ "or \"xyz\", \"-abc\" excludes lines containing \"abc\".", ); _ = cimgui.c.ImGuiTextFilter_Draw( - self.vt_stream.handler.filter_text, + &self.vt_stream.handler.filter_text, "##filter_text", 0, ); - cimgui.c.igSeparator(); - if (cimgui.c.igButton("Close", .{ .x = 0, .y = 0 })) { - cimgui.c.igCloseCurrentPopup(); + cimgui.c.ImGui_Separator(); + if (cimgui.c.ImGui_Button("Close")) { + cimgui.c.ImGui_CloseCurrentPopup(); } } // filter popup } diff --git a/src/inspector/cell.zig b/src/inspector/cell.zig index 2f72556bd..540e044fd 100644 --- a/src/inspector/cell.zig +++ b/src/inspector/cell.zig @@ -1,7 +1,7 @@ const std = @import("std"); const assert = @import("../quirks.zig").inlineAssert; const Allocator = std.mem.Allocator; -const cimgui = @import("cimgui"); +const cimgui = @import("dcimgui"); const terminal = @import("../terminal/main.zig"); /// A cell being inspected. This duplicates much of the data in @@ -55,24 +55,22 @@ pub const Cell = struct { y: usize, ) void { // We have a selected cell, show information about it. - _ = cimgui.c.igBeginTable( + _ = cimgui.c.ImGui_BeginTable( "table_cursor", 2, cimgui.c.ImGuiTableFlags_None, - .{ .x = 0, .y = 0 }, - 0, ); - defer cimgui.c.igEndTable(); + defer cimgui.c.ImGui_EndTable(); { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Grid Position"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Grid Position"); } { - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText("row=%d col=%d", y, x); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text("row=%d col=%d", y, x); } } @@ -82,18 +80,18 @@ pub const Cell = struct { // the single glyph in an image view so it looks _identical_ to the // terminal. codepoint: { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Codepoints"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Codepoints"); } { - _ = cimgui.c.igTableSetColumnIndex(1); - if (cimgui.c.igBeginListBox("##codepoints", .{ .x = 0, .y = 0 })) { - defer cimgui.c.igEndListBox(); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + if (cimgui.c.ImGui_BeginListBox("##codepoints", .{ .x = 0, .y = 0 })) { + defer cimgui.c.ImGui_EndListBox(); if (self.codepoint == 0) { - _ = cimgui.c.igSelectable_Bool("(empty)", false, 0, .{}); + _ = cimgui.c.ImGui_SelectableEx("(empty)", false, 0, .{}); break :codepoint; } @@ -102,42 +100,42 @@ pub const Cell = struct { { const key = std.fmt.bufPrintZ(&buf, "U+{X}", .{self.codepoint}) catch ""; - _ = cimgui.c.igSelectable_Bool(key.ptr, false, 0, .{}); + _ = cimgui.c.ImGui_SelectableEx(key.ptr, false, 0, .{}); } // All extras for (self.cps) |cp| { const key = std.fmt.bufPrintZ(&buf, "U+{X}", .{cp}) catch ""; - _ = cimgui.c.igSelectable_Bool(key.ptr, false, 0, .{}); + _ = cimgui.c.ImGui_SelectableEx(key.ptr, false, 0, .{}); } } } } // Character width property - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Width Property"); - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText(@tagName(self.wide)); + cimgui.c.ImGui_TableNextRow(); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Width Property"); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text(@tagName(self.wide)); // If we have a color then we show the color - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Foreground Color"); - _ = cimgui.c.igTableSetColumnIndex(1); + cimgui.c.ImGui_TableNextRow(); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Foreground Color"); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); switch (self.style.fg_color) { - .none => cimgui.c.igText("default"), + .none => cimgui.c.ImGui_Text("default"), .palette => |idx| { const rgb = t.colors.palette.current[idx]; - cimgui.c.igValue_Int("Palette", idx); + cimgui.c.ImGui_Text("Palette %d", idx); var color: [3]f32 = .{ @as(f32, @floatFromInt(rgb.r)) / 255, @as(f32, @floatFromInt(rgb.g)) / 255, @as(f32, @floatFromInt(rgb.b)) / 255, }; - _ = cimgui.c.igColorEdit3( + _ = cimgui.c.ImGui_ColorEdit3( "color_fg", &color, cimgui.c.ImGuiColorEditFlags_DisplayHex | @@ -152,7 +150,7 @@ pub const Cell = struct { @as(f32, @floatFromInt(rgb.g)) / 255, @as(f32, @floatFromInt(rgb.b)) / 255, }; - _ = cimgui.c.igColorEdit3( + _ = cimgui.c.ImGui_ColorEdit3( "color_fg", &color, cimgui.c.ImGuiColorEditFlags_DisplayHex | @@ -162,21 +160,21 @@ pub const Cell = struct { }, } - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Background Color"); - _ = cimgui.c.igTableSetColumnIndex(1); + cimgui.c.ImGui_TableNextRow(); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Background Color"); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); switch (self.style.bg_color) { - .none => cimgui.c.igText("default"), + .none => cimgui.c.ImGui_Text("default"), .palette => |idx| { const rgb = t.colors.palette.current[idx]; - cimgui.c.igValue_Int("Palette", idx); + cimgui.c.ImGui_Text("Palette %d", idx); var color: [3]f32 = .{ @as(f32, @floatFromInt(rgb.r)) / 255, @as(f32, @floatFromInt(rgb.g)) / 255, @as(f32, @floatFromInt(rgb.b)) / 255, }; - _ = cimgui.c.igColorEdit3( + _ = cimgui.c.ImGui_ColorEdit3( "color_bg", &color, cimgui.c.ImGuiColorEditFlags_DisplayHex | @@ -191,7 +189,7 @@ pub const Cell = struct { @as(f32, @floatFromInt(rgb.g)) / 255, @as(f32, @floatFromInt(rgb.b)) / 255, }; - _ = cimgui.c.igColorEdit3( + _ = cimgui.c.ImGui_ColorEdit3( "color_bg", &color, cimgui.c.ImGuiColorEditFlags_DisplayHex | @@ -209,17 +207,17 @@ pub const Cell = struct { inline for (styles) |style| style: { if (!@field(self.style.flags, style)) break :style; - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText(style.ptr); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text(style.ptr); } { - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText("true"); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text("true"); } } - cimgui.c.igTextDisabled("(Any styles not shown are not currently set)"); + cimgui.c.ImGui_TextDisabled("(Any styles not shown are not currently set)"); } }; diff --git a/src/inspector/cursor.zig b/src/inspector/cursor.zig index 756898252..4f8bfb2e0 100644 --- a/src/inspector/cursor.zig +++ b/src/inspector/cursor.zig @@ -1,4 +1,4 @@ -const cimgui = @import("cimgui"); +const cimgui = @import("dcimgui"); const terminal = @import("../terminal/main.zig"); /// Render cursor information with a table already open. @@ -7,57 +7,57 @@ pub fn renderInTable( cursor: *const terminal.Screen.Cursor, ) void { { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Position (x, y)"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Position (x, y)"); } { - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText("(%d, %d)", cursor.x, cursor.y); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text("(%d, %d)", cursor.x, cursor.y); } } { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Style"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Style"); } { - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText("%s", @tagName(cursor.cursor_style).ptr); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text("%s", @tagName(cursor.cursor_style).ptr); } } if (cursor.pending_wrap) { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Pending Wrap"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Pending Wrap"); } { - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText("%s", if (cursor.pending_wrap) "true".ptr else "false".ptr); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text("%s", if (cursor.pending_wrap) "true".ptr else "false".ptr); } } // If we have a color then we show the color - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Foreground Color"); - _ = cimgui.c.igTableSetColumnIndex(1); + cimgui.c.ImGui_TableNextRow(); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Foreground Color"); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); switch (cursor.style.fg_color) { - .none => cimgui.c.igText("default"), + .none => cimgui.c.ImGui_Text("default"), .palette => |idx| { const rgb = t.colors.palette.current[idx]; - cimgui.c.igValue_Int("Palette", idx); + cimgui.c.ImGui_Text("Palette %d", idx); var color: [3]f32 = .{ @as(f32, @floatFromInt(rgb.r)) / 255, @as(f32, @floatFromInt(rgb.g)) / 255, @as(f32, @floatFromInt(rgb.b)) / 255, }; - _ = cimgui.c.igColorEdit3( + _ = cimgui.c.ImGui_ColorEdit3( "color_fg", &color, cimgui.c.ImGuiColorEditFlags_DisplayHex | @@ -72,7 +72,7 @@ pub fn renderInTable( @as(f32, @floatFromInt(rgb.g)) / 255, @as(f32, @floatFromInt(rgb.b)) / 255, }; - _ = cimgui.c.igColorEdit3( + _ = cimgui.c.ImGui_ColorEdit3( "color_fg", &color, cimgui.c.ImGuiColorEditFlags_DisplayHex | @@ -82,21 +82,21 @@ pub fn renderInTable( }, } - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Background Color"); - _ = cimgui.c.igTableSetColumnIndex(1); + cimgui.c.ImGui_TableNextRow(); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Background Color"); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); switch (cursor.style.bg_color) { - .none => cimgui.c.igText("default"), + .none => cimgui.c.ImGui_Text("default"), .palette => |idx| { const rgb = t.colors.palette.current[idx]; - cimgui.c.igValue_Int("Palette", idx); + cimgui.c.ImGui_Text("Palette %d", idx); var color: [3]f32 = .{ @as(f32, @floatFromInt(rgb.r)) / 255, @as(f32, @floatFromInt(rgb.g)) / 255, @as(f32, @floatFromInt(rgb.b)) / 255, }; - _ = cimgui.c.igColorEdit3( + _ = cimgui.c.ImGui_ColorEdit3( "color_bg", &color, cimgui.c.ImGuiColorEditFlags_DisplayHex | @@ -111,7 +111,7 @@ pub fn renderInTable( @as(f32, @floatFromInt(rgb.g)) / 255, @as(f32, @floatFromInt(rgb.b)) / 255, }; - _ = cimgui.c.igColorEdit3( + _ = cimgui.c.ImGui_ColorEdit3( "color_bg", &color, cimgui.c.ImGuiColorEditFlags_DisplayHex | @@ -129,14 +129,14 @@ pub fn renderInTable( inline for (styles) |style| style: { if (!@field(cursor.style.flags, style)) break :style; - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText(style.ptr); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text(style.ptr); } { - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText("true"); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text("true"); } } } diff --git a/src/inspector/key.zig b/src/inspector/key.zig index e42e4f23c..12d91a107 100644 --- a/src/inspector/key.zig +++ b/src/inspector/key.zig @@ -2,7 +2,7 @@ const std = @import("std"); const Allocator = std.mem.Allocator; const input = @import("../input.zig"); const CircBuf = @import("../datastruct/main.zig").CircBuf; -const cimgui = @import("cimgui"); +const cimgui = @import("dcimgui"); /// Circular buffer of key events. pub const EventRing = CircBuf(Event, undefined); @@ -72,30 +72,28 @@ pub const Event = struct { /// Render this event in the inspector GUI. pub fn render(self: *const Event) void { - _ = cimgui.c.igBeginTable( + _ = cimgui.c.ImGui_BeginTable( "##event", 2, cimgui.c.ImGuiTableFlags_None, - .{ .x = 0, .y = 0 }, - 0, ); - defer cimgui.c.igEndTable(); + defer cimgui.c.ImGui_EndTable(); if (self.binding.len > 0) { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Triggered Binding"); - _ = cimgui.c.igTableSetColumnIndex(1); + cimgui.c.ImGui_TableNextRow(); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Triggered Binding"); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); const height: f32 = height: { const item_count: f32 = @floatFromInt(@min(self.binding.len, 5)); - const padding = cimgui.c.igGetStyle().*.FramePadding.y * 2; - break :height cimgui.c.igGetTextLineHeightWithSpacing() * item_count + padding; + const padding = cimgui.c.ImGui_GetStyle().*.FramePadding.y * 2; + break :height cimgui.c.ImGui_GetTextLineHeightWithSpacing() * item_count + padding; }; - if (cimgui.c.igBeginListBox("##bindings", .{ .x = 0, .y = height })) { - defer cimgui.c.igEndListBox(); + if (cimgui.c.ImGui_BeginListBox("##bindings", .{ .x = 0, .y = height })) { + defer cimgui.c.ImGui_EndListBox(); for (self.binding) |action| { - _ = cimgui.c.igSelectable_Bool( + _ = cimgui.c.ImGui_SelectableEx( @tagName(action).ptr, false, cimgui.c.ImGuiSelectableFlags_None, @@ -106,64 +104,64 @@ pub const Event = struct { } pty: { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Encoding to Pty"); - _ = cimgui.c.igTableSetColumnIndex(1); + cimgui.c.ImGui_TableNextRow(); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Encoding to Pty"); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); if (self.pty.len == 0) { - cimgui.c.igTextDisabled("(no data)"); + cimgui.c.ImGui_TextDisabled("(no data)"); break :pty; } self.renderPty() catch { - cimgui.c.igTextDisabled("(error rendering pty data)"); + cimgui.c.ImGui_TextDisabled("(error rendering pty data)"); break :pty; }; } { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Action"); - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText("%s", @tagName(self.event.action).ptr); + cimgui.c.ImGui_TableNextRow(); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Action"); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text("%s", @tagName(self.event.action).ptr); } { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Key"); - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText("%s", @tagName(self.event.key).ptr); + cimgui.c.ImGui_TableNextRow(); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Key"); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text("%s", @tagName(self.event.key).ptr); } if (!self.event.mods.empty()) { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Mods"); - _ = cimgui.c.igTableSetColumnIndex(1); - if (self.event.mods.shift) cimgui.c.igText("shift "); - if (self.event.mods.ctrl) cimgui.c.igText("ctrl "); - if (self.event.mods.alt) cimgui.c.igText("alt "); - if (self.event.mods.super) cimgui.c.igText("super "); + cimgui.c.ImGui_TableNextRow(); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Mods"); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + if (self.event.mods.shift) cimgui.c.ImGui_Text("shift "); + if (self.event.mods.ctrl) cimgui.c.ImGui_Text("ctrl "); + if (self.event.mods.alt) cimgui.c.ImGui_Text("alt "); + if (self.event.mods.super) cimgui.c.ImGui_Text("super "); } if (self.event.composing) { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Composing"); - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText("true"); + cimgui.c.ImGui_TableNextRow(); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Composing"); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text("true"); } utf8: { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("UTF-8"); - _ = cimgui.c.igTableSetColumnIndex(1); + cimgui.c.ImGui_TableNextRow(); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("UTF-8"); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); if (self.event.utf8.len == 0) { - cimgui.c.igTextDisabled("(empty)"); + cimgui.c.ImGui_TextDisabled("(empty)"); break :utf8; } self.renderUtf8(self.event.utf8) catch { - cimgui.c.igTextDisabled("(error rendering utf-8)"); + cimgui.c.ImGui_TextDisabled("(error rendering utf-8)"); break :utf8; }; } @@ -187,13 +185,11 @@ pub const Event = struct { try writer.writeByte(0); // Render as a textbox - _ = cimgui.c.igInputText( + _ = cimgui.c.ImGui_InputText( "##utf8", &buf, buf_stream.getWritten().len - 1, cimgui.c.ImGuiInputTextFlags_ReadOnly, - null, - null, ); } @@ -223,13 +219,11 @@ pub const Event = struct { try writer.writeByte(0); // Render as a textbox - _ = cimgui.c.igInputText( + _ = cimgui.c.ImGui_InputText( "##pty", &buf, buf_stream.getWritten().len - 1, cimgui.c.ImGuiInputTextFlags_ReadOnly, - null, - null, ); } }; diff --git a/src/inspector/page.zig b/src/inspector/page.zig index 7da469e21..fd9d3bfb4 100644 --- a/src/inspector/page.zig +++ b/src/inspector/page.zig @@ -1,167 +1,161 @@ const std = @import("std"); const Allocator = std.mem.Allocator; -const cimgui = @import("cimgui"); +const cimgui = @import("dcimgui"); const terminal = @import("../terminal/main.zig"); const units = @import("units.zig"); pub fn render(page: *const terminal.Page) void { - cimgui.c.igPushID_Ptr(page); - defer cimgui.c.igPopID(); + cimgui.c.ImGui_PushIDPtr(page); + defer cimgui.c.ImGui_PopID(); - _ = cimgui.c.igBeginTable( + _ = cimgui.c.ImGui_BeginTable( "##page_state", 2, cimgui.c.ImGuiTableFlags_None, - .{ .x = 0, .y = 0 }, - 0, ); - defer cimgui.c.igEndTable(); + defer cimgui.c.ImGui_EndTable(); { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Memory Size"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Memory Size"); } { - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText("%d bytes (%d KiB)", page.memory.len, units.toKibiBytes(page.memory.len)); - cimgui.c.igText("%d VM pages", page.memory.len / std.heap.page_size_min); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text("%d bytes (%d KiB)", page.memory.len, units.toKibiBytes(page.memory.len)); + cimgui.c.ImGui_Text("%d VM pages", page.memory.len / std.heap.page_size_min); } } { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Unique Styles"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Unique Styles"); } { - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText("%d", page.styles.count()); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text("%d", page.styles.count()); } } { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Grapheme Entries"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Grapheme Entries"); } { - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText("%d", page.graphemeCount()); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text("%d", page.graphemeCount()); } } { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Capacity"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Capacity"); } { - _ = cimgui.c.igTableSetColumnIndex(1); - _ = cimgui.c.igBeginTable( + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + _ = cimgui.c.ImGui_BeginTable( "##capacity", 2, cimgui.c.ImGuiTableFlags_None, - .{ .x = 0, .y = 0 }, - 0, ); - defer cimgui.c.igEndTable(); + defer cimgui.c.ImGui_EndTable(); const cap = page.capacity; { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Columns"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Columns"); } { - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText("%d", @as(u32, @intCast(cap.cols))); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text("%d", @as(u32, @intCast(cap.cols))); } } { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Rows"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Rows"); } { - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText("%d", @as(u32, @intCast(cap.rows))); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text("%d", @as(u32, @intCast(cap.rows))); } } { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Unique Styles"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Unique Styles"); } { - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText("%d", @as(u32, @intCast(cap.styles))); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text("%d", @as(u32, @intCast(cap.styles))); } } { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Grapheme Bytes"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Grapheme Bytes"); } { - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText("%d", cap.grapheme_bytes); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text("%d", cap.grapheme_bytes); } } } } { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Size"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Size"); } { - _ = cimgui.c.igTableSetColumnIndex(1); - _ = cimgui.c.igBeginTable( + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + _ = cimgui.c.ImGui_BeginTable( "##size", 2, cimgui.c.ImGuiTableFlags_None, - .{ .x = 0, .y = 0 }, - 0, ); - defer cimgui.c.igEndTable(); + defer cimgui.c.ImGui_EndTable(); const size = page.size; { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Columns"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Columns"); } { - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText("%d", @as(u32, @intCast(size.cols))); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text("%d", @as(u32, @intCast(size.cols))); } } { - cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); + cimgui.c.ImGui_TableNextRow(); { - _ = cimgui.c.igTableSetColumnIndex(0); - cimgui.c.igText("Rows"); + _ = cimgui.c.ImGui_TableSetColumnIndex(0); + cimgui.c.ImGui_Text("Rows"); } { - _ = cimgui.c.igTableSetColumnIndex(1); - cimgui.c.igText("%d", @as(u32, @intCast(size.rows))); + _ = cimgui.c.ImGui_TableSetColumnIndex(1); + cimgui.c.ImGui_Text("%d", @as(u32, @intCast(size.rows))); } } } diff --git a/src/inspector/termio.zig b/src/inspector/termio.zig index 7e2b51ee1..9f55e6019 100644 --- a/src/inspector/termio.zig +++ b/src/inspector/termio.zig @@ -1,6 +1,6 @@ const std = @import("std"); const Allocator = std.mem.Allocator; -const cimgui = @import("cimgui"); +const cimgui = @import("dcimgui"); const terminal = @import("../terminal/main.zig"); const CircBuf = @import("../datastruct/main.zig").CircBuf; const Surface = @import("../Surface.zig"); @@ -83,7 +83,7 @@ pub const VTEvent = struct { /// Returns true if the event passes the given filter. pub fn passFilter( self: *const VTEvent, - filter: *cimgui.c.ImGuiTextFilter, + filter: *const cimgui.c.ImGuiTextFilter, ) bool { // Check our main string if (cimgui.c.ImGuiTextFilter_PassFilter( @@ -318,19 +318,18 @@ pub const VTHandler = struct { /// Exclude certain actions by tag. filter_exclude: ActionTagSet = .initMany(&.{.print}), - filter_text: *cimgui.c.ImGuiTextFilter, + filter_text: cimgui.c.ImGuiTextFilter = .{}, const ActionTagSet = std.EnumSet(terminal.Parser.Action.Tag); pub fn init(surface: *Surface) VTHandler { return .{ .surface = surface, - .filter_text = cimgui.c.ImGuiTextFilter_ImGuiTextFilter(""), }; } pub fn deinit(self: *VTHandler) void { - cimgui.c.ImGuiTextFilter_destroy(self.filter_text); + _ = self; } pub fn vt( @@ -371,7 +370,7 @@ pub const VTHandler = struct { errdefer ev.deinit(alloc); // Check if the event passes the filter - if (!ev.passFilter(self.filter_text)) { + if (!ev.passFilter(&self.filter_text)) { ev.deinit(alloc); return true; }