From 86924b1a79ea2b8f8faea890c48e0da2916a583d Mon Sep 17 00:00:00 2001
From: Pascal Thomet Hello ImGui dependencies set(autodownload_default ON)
endif()
option(HELLOIMGUI_DOWNLOAD_GLFW_IF_NEEDED "Download and build GLFW if needed" ${autodownload_default})
-option(HELLOIMGUI_DOWNLOAD_SDL_IF_NEEDED "Download and build GLFW if needed" ${autodownload_default})
+option(HELLOIMGUI_DOWNLOAD_SDL_IF_NEEDED "Download and build SDL2 if needed" ${autodownload_default})
option(HELLOIMGUI_DOWNLOAD_FREETYPE_IF_NEEDED "Download and build Freetype if needed" ${autodownload_default})
option(HELLOIMGUI_FREETYPE_STATIC "Force static linking of freetype (only used for python bindings)" OFF)
diff --git a/docs/book/doc_api.html b/docs/book/doc_api.html
index 8b82e633..42d41125 100644
--- a/docs/book/doc_api.html
+++ b/docs/book/doc_api.html
@@ -200,6 +200,7 @@
+
Contents
HelloImGui::GetRunnerParams() will return the runnerParams of the current application.
+If you want to be in control of the rendering loop, you may use the class HelloImGui::Renderer
(available since September 2024)
// HelloImGui::Renderer is an alternative to HelloImGui::Run, allowing fine-grained control over the rendering process.
+// - It is customizable like HelloImGui::Run: construct it with `RunnerParams` or `SimpleRunnerParams`
+// - `Render()` will render the application for one frame:
+// Ensure that `Render()` is triggered regularly (e.g., through a loop or other mechanism) to maintain responsiveness.
+// This method must be called on the main thread.
+//
+// A typical use case is:
+// ```cpp
+// HelloImGui::RunnerParams runnerParams;
+// runnerParams.callbacks.ShowGui = ...; // your GUI function
+// // Optionally, choose between Sleep, EarlyReturn, or Auto for fps idling mode:
+// // runnerParams.fpsIdling.fpsIdlingMode = HelloImGui::FpsIdlingMode::Sleep; // or EarlyReturn, Auto
+// Renderer renderer(runnerParams); // note: a distinct copy of the `RunnerParams` will be stored inside the HelloImGui::GetRunnerParams()
+// while (! HelloImGui::GetRunnerParams()->appShallExit)
+// {
+// renderer.Render();
+// }
+// ```
+//
+// **Notes:**
+// 1. Depending on the configuration (`runnerParams.fpsIdling.fpsIdlingMode`), `HelloImGui` may enter an idle state to
+// reduce CPU usage, if no events are received (e.g., no input or interaction).
+// In this case, `Render()` will either sleep or return immediately.
+// By default,
+// - On Emscripten, `Render()` will return immediately to avoid blocking the main thread.
+// - On other platforms, it will sleep
+// 2. Only one instance of `Renderer` can exist at a time.
+// 3. If constructed with `RunnerParams`, a copy of the `RunnerParams` will be made (which you can access with `GetRunnerParams())`.
+class Renderer
+{
+public:
+ // Initializes with the full customizable `RunnerParams` to set up the application.
+ // Nb: a distinct copy of the `RunnerParams` will be made, and you can access it with `GetRunnerParams()`.
+ Renderer(const RunnerParams& runnerParams);
+
+ // Initializes with SimpleRunnerParams.
+ Renderer(const SimpleRunnerParams& simpleParams);
+
+ // Initializes with a simple GUI function and additional parameters.
+ Renderer(
+ const VoidFunction &guiFunction,
+ const std::string &windowTitle = "",
+ bool windowSizeAuto = false,
+ bool windowRestorePreviousGeometry = false,
+ const ScreenSize &windowSize = DefaultWindowSize,
+ float fpsIdle = 10.f
+ );
+
+ // Render the current frame (or return immediately if in idle state).
+ void Render();
+
+ // Destructor (automatically tears down HelloImGui).
+ ~Renderer();
+};
+
// `FrameRate(durationForMean = 0.5)`: Returns the current FrameRate.
+// `GetRunnerParams()`: a convenience function that will return the runnerParams
+// of the current application
+ RunnerParams* GetRunnerParams();
+
+// `IsUsingHelloImGui()`: returns true if the application is using HelloImGui
+ bool IsUsingHelloImGui();
+
+// `FrameRate(durationForMean = 0.5)`: Returns the current FrameRate.
// May differ from ImGui::GetIO().FrameRate, since one can choose the duration
// for the calculation of the mean value of the fps
// Returns the current FrameRate. May differ from ImGui::GetIO().FrameRate,
@@ -744,6 +819,15 @@ Switch between several layouts// `CurrentLayoutName()`: returns the name of the current layout
std::string CurrentLayoutName();
+
+// `AddDockableWindow()`: will add a dockable window to the current layout.
+// Will dock the window to the dockspace it belongs to if forceDockspace is true,
+// otherwise will dock it to the last space it was docked to (using saved settings)
+void AddDockableWindow(const DockableWindow& dockableWindow, bool forceDockspace = false);
+
+// `RemoveDockableWindow()`: will remove a dockable window from the current layout.
+// (dockableWindowName is the label of the window, as provided in the DockableWindow struct)
+void RemoveDockableWindow(const std::string& dockableWindowName);
@@ -1114,6 +1198,7 @@ Fine tune DPI Handling
API
Run Application
+Run Application while handling the rendering loop
Place widgets in a DPI-aware way
Load fonts
Applications assets
diff --git a/docs/book/doc_params.html b/docs/book/doc_params.html
index 94be7a6b..6936725f 100644
--- a/docs/book/doc_params.html
+++ b/docs/book/doc_params.html
@@ -200,6 +200,7 @@
+
- Build instructions
@@ -1256,7 +1257,23 @@ Default window types
Fps Idling#
See runner_params.h.
-// FpsIdling is a struct that contains Fps Idling parameters
+// FpsIdlingMode is an enum that describes the different modes of idling when rendering the GUI.
+// - Sleep: the application will sleep when idling to reduce CPU usage.
+// - EarlyReturn: rendering will return immediately when idling.
+// This is specifically designed for event-driven, and real-time applications.
+// Avoid using it in a tight loop without pauses, as it may cause excessive CPU consumption.
+// - Auto: use platform-specific default behavior.
+// On most platforms, it will sleep. On Emscripten, `Render()` will return immediately
+// to avoid blocking the main thread.
+// Note: you can override the default behavior by explicitly setting Sleep or EarlyReturn.
+enum class FpsIdlingMode
+{
+ Sleep,
+ EarlyReturn,
+ Auto,
+};
+
+// FpsIdling is a struct that contains Fps Idling parameters
struct FpsIdling
{
// `fpsIdle`: _float, default=9_.
@@ -1287,6 +1304,10 @@ Fps Idling // `rememberEnableIdling`: _bool, default=true_.
// If true, the last value of enableIdling is restored from the settings at startup.
bool rememberEnableIdling = false;
+
+ // `fpsIdlingMode`: _FpsIdlingMode, default=FpsIdlingMode::Automatic_.
+ // Sets the mode of idling when rendering the GUI (Sleep, EarlyReturn, Automatic)
+ FpsIdlingMode fpsIdlingMode = FpsIdlingMode::Auto;
};
@@ -1542,7 +1563,7 @@ Docking Splits // `direction`: *ImGuiDir_*
// (enum with ImGuiDir_Down, ImGuiDir_Down, ImGuiDir_Left, ImGuiDir_Right)*
// Direction where this dock space should be created.
- ImGuiDir_ direction;
+ ImGuiDir direction;
// `ratio`: _float, default=0.25f_.
// Ratio of the initialDock size that should be used by the new dock space.
@@ -1555,7 +1576,7 @@ Docking Splits // Constructor
DockingSplit(const DockSpaceName& initialDock_ = "", const DockSpaceName& newDock_ = "",
- ImGuiDir_ direction_ = ImGuiDir_Down, float ratio_ = 0.25f,
+ ImGuiDir direction_ = ImGuiDir_Down, float ratio_ = 0.25f,
ImGuiDockNodeFlags nodeFlags_ = ImGuiDockNodeFlags_None)
: initialDock(initialDock_), newDock(newDock_), direction(direction_), ratio(ratio_), nodeFlags(nodeFlags_) {}
};
@@ -1569,7 +1590,7 @@ Dockable window{
// --------------- Main params -------------------
- // `label`: _string_. Title of the window.
+ // `label`: _string_. Title of the window. It should be unique! Use "##" to add a unique suffix if needed.
std::string label;
// `dockSpaceName`: _DockSpaceName (aka string)_.
@@ -1715,11 +1736,7 @@ Docking Params bool focusDockableWindow(const std::string& windowName);
// `optional<ImGuiID> dockSpaceIdFromName(const std::string& dockSpaceName)`:
- // may return the ImGuiID corresponding to the dockspace with this name.
- // **Warning**: this will work reliably only if
- // layoutCondition = DockingLayoutCondition::ApplicationStart.
- // In other cases, the ID may be cached by ImGui himself at the first run,
- // and HelloImGui will *not* know it on subsequent runs!
+ // returns the ImGuiID corresponding to the dockspace with this name
std::optional<ImGuiID> dockSpaceIdFromName(const std::string& dockSpaceName);
};
diff --git a/docs/book/genindex.html b/docs/book/genindex.html
index a7086334..cecbfdba 100644
--- a/docs/book/genindex.html
+++ b/docs/book/genindex.html
@@ -197,6 +197,7 @@
+
Build instructions
diff --git a/docs/book/get_started.html b/docs/book/get_started.html
index 73e06596..5f557d18 100644
--- a/docs/book/get_started.html
+++ b/docs/book/get_started.html
@@ -200,6 +200,7 @@
+
Build instructions
diff --git a/docs/book/intro.html b/docs/book/intro.html
index 007ee453..a8ab40af 100644
--- a/docs/book/intro.html
+++ b/docs/book/intro.html
@@ -199,6 +199,7 @@
+
Build instructions
diff --git a/docs/book/search.html b/docs/book/search.html
index b2088629..594fd444 100644
--- a/docs/book/search.html
+++ b/docs/book/search.html
@@ -199,6 +199,7 @@
+
Build instructions
diff --git a/docs/book/searchindex.js b/docs/book/searchindex.js
index c6cd42f8..5c55afdf 100644
--- a/docs/book/searchindex.js
+++ b/docs/book/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["build", "doc_api", "doc_params", "get_started", "intro"], "filenames": ["build.md", "doc_api.md", "doc_params.md", "get_started.md", "intro.md"], "titles": ["Build instructions", "API", "Application parameters", "Get started", "Hello ImGui"], "terms": {"On": [0, 1, 2], "almost": [0, 1], "all": [0, 1, 2, 3, 4], "platform": [0, 1, 2, 3, 4], "helloimgui": [0, 2, 3, 4], "can": [0, 1, 2, 3, 4], "compil": [0, 2], "simpl": [0, 1, 3, 4], "command": [0, 2], "bash": 0, "git": [0, 3], "clone": [0, 3], "http": [0, 1, 2, 3], "github": [0, 1, 2, 3], "com": [0, 1, 2, 3], "pthom": [0, 1, 2, 3], "hello_imgui": [0, 1, 2, 3, 4], "cd": 0, "mkdir": 0, "make": [0, 1, 2, 4], "j": 0, "thi": [0, 1, 2, 3, 4], "librari": [0, 1, 2, 3, 4], "which": [0, 1, 2, 3, 4], "locat": [0, 2, 3], "bin": 0, "folder": [0, 1, 2, 3], "To": [0, 1, 2], "an": [0, 1, 2, 3, 4], "you": [0, 1, 2, 3, 4], "either": [0, 2], "place": [0, 2, 3], "insid": [0, 1, 2, 3], "project": [0, 3], "exampl": [0, 1, 3], "submodul": 0, "download": [0, 3], "built": [0, 3, 4], "automat": [0, 1, 2, 3, 4], "In": [0, 1, 2], "ani": [0, 2, 3, 4], "case": [0, 1, 2], "follow": [0, 1, 2], "given": [0, 1, 2], "starter": 0, "templat": 0, "see": [0, 1, 2, 3, 4], "document": [0, 1, 2], "below": [0, 1, 2], "extract": [0, 3], "from": [0, 2, 3], "cmakelist": [0, 1, 3], "txt": [0, 1, 2, 3], "need": [0, 1, 2, 3], "select": [0, 1], "least": [0, 3], "two": [0, 1, 2], "At": [0, 2], "one": [0, 1, 2, 3], "more": [0, 1, 2, 4], "render": [0, 1, 4], "opengl3": [0, 1, 2, 3, 4], "metal": [0, 1, 2, 4], "vulkan": [0, 1, 2, 4], "directx11": [0, 2], "directx12": [0, 2], "choic": 0, "accord": 0, "target": [0, 1, 2, 3], "between": [0, 2], "dhelloimgui_has_opengl3": 0, "ON": [0, 2], "recommend": [0, 3], "especi": [0, 4], "beginn": 0, "dhelloimgui_has_met": 0, "appl": [0, 3], "onli": [0, 1, 2], "advanc": [0, 1, 2], "user": [0, 2, 4], "dhelloimgui_has_vulkan": 0, "dhelloimgui_has_directx11": 0, "still": [0, 2], "experiment": [0, 2], "dhelloimgui_has_directx12": 0, "sdl2": [0, 4], "glfw3": [0, 4], "dhelloimgui_use_sdl2": 0, "dhelloimgui_use_glfw3": 0, "If": [0, 1, 2, 4], "default": [0, 1, 3], "helloimgui_use_glfw3": 0, "helloimgui_has_opengl3": 0, "note": [0, 1, 2], "about": [0, 1, 2, 3], "start": [0, 2, 4], "point": [0, 2, 3], "do": [0, 1, 2, 3], "work": [0, 1, 2, 4], "mai": [0, 1, 2], "custom": [0, 2], "code": [0, 2, 3, 4], "src": [0, 1, 2], "intern": [0, 1, 2], "backend_impl": [0, 2], "rendering_xxxx": 0, "h": [0, 1, 2, 3, 4], "cpp": [0, 1, 2, 3, 4], "those": [0, 2], "probabl": [0, 2], "impli": 0, "want": [0, 1, 2], "heavili": 0, "off": 0, "helloimgui_use_sdl2": 0, "helloimgui_has_met": 0, "helloimgui_has_vulkan": 0, "helloimgui_has_directx11": 0, "helloimgui_has_directx12": 0, "headless": 0, "mode": [0, 2, 4], "s": [0, 2, 3], "tool": 0, "alwai": [0, 1, 2], "check": [0, 2], "null": [0, 2], "set": [0, 2, 3, 4], "helloimgui_headless": 0, "disabl": [0, 2], "allow": [0, 1, 4], "order": [0, 1, 2], "own": [0, 2, 3], "afor": 0, "mention": [0, 2], "combin": 0, "freetyp": [0, 1, 2, 4], "font": [0, 2, 3, 4], "helloimgui_use_freetyp": 0, "provid": [0, 1, 2, 3, 4], "version": [0, 1, 2], "conveni": [0, 1], "linux": [0, 1, 2, 4], "prefer": [0, 1, 2], "system": [0, 1], "enabl": [0, 1, 2], "other": [0, 1, 2], "sdl": [0, 1, 2, 4], "helloimgui_download_glfw_if_need": 0, "helloimgui_download_sdl_if_need": 0, "helloimgui_use_sdl_xxxx": 0, "helloimgui_use_glfw_xxxx": 0, "were": [0, 2], "ad": [0, 2, 3], "add_subdirectori": [0, 3], "extern": [0, 3], "glfw": [0, 1, 2, 3, 4], "find_packag": [0, 3], "fail": [0, 2], "found": [0, 3], "path": [0, 2, 3], "cmake_prefix_path": 0, "instead": [0, 1], "helloimgui_download_freetyp": 0, "wa": [0, 1, 2], "also": [0, 2], "forcibl": 0, "helloimgui_freetype_stat": 0, "becaus": [0, 1], "ubuntu": 0, "instal": [0, 1, 3], "them": [0, 1, 2, 3], "sudo": 0, "apt": 0, "libglfw3": 0, "dev": 0, "libsdl2": 0, "libfreetyp": 0, "cmake_system_nam": 0, "match": [0, 4], "autodownload_default": 0, "els": 0, "endif": [0, 2, 3], "helloimgui_download_freetype_if_need": 0, "forc": 0, "static": [0, 1, 3], "link": [0, 3], "python": [0, 1, 4], "bind": [0, 3, 4], "requir": [0, 1, 2, 3, 4], "support": [0, 1, 2], "test": [0, 1, 2, 4], "engin": [0, 1, 2, 4], "yet": 0, "The": [0, 1, 2, 3, 4], "file": [0, 2, 3], "json": 0, "defin": [0, 1, 2, 4], "For": [0, 1, 2], "bootstrap": 0, "microsoft": 0, "sh": 0, "export": 0, "vcpkg_root": 0, "pwd": 0, "environ": [0, 2], "variabl": 0, "tell": 0, "where": [0, 1, 2], "find": [0, 2, 4], "thei": [0, 1, 2], "read": [0, 2], "dcmake_toolchain_fil": 0, "script": 0, "buildsystem": 0, "4": [0, 1, 2], "cmakepreset": 0, "sever": [0, 2], "grab": 0, "thu": [0, 1], "like": [0, 2], "build_vcpkg_default": 0, "toolchain": 0, "ar": [0, 1, 2, 4], "most": [0, 1, 2], "import": [0, 1, 2], "except": [0, 1, 2, 3], "mingw": 0, "text": [0, 1, 2, 3, 4], "freetype_default": 0, "helloimgui_with_test_engin": 0, "under": [0, 1, 2, 4], "winmain": 0, "function": [0, 2, 3], "call": [0, 1, 2], "main": [0, 1, 2, 3, 4], "expect": 0, "signatur": [0, 1, 2], "int": [0, 1, 2, 3, 4], "char": [0, 1, 3, 4], "linker": 0, "error": [0, 1], "pass": 0, "dhelloimgui_win32_auto_winmain": 0, "line": [0, 1, 3, 4], "write": [0, 4], "warn": [0, 2], "sdl_main_handl": 0, "befor": [0, 1, 2], "inclus": [0, 1], "refrain": 0, "sdl_main": 0, "opengl": [0, 2, 3], "es3": 0, "current": [0, 1, 2], "hello_imgui_cmak": 0, "asm": 0, "js": [0, 3], "webassembl": 0, "llvm": 0, "let": [0, 2], "run": [0, 2, 3, 4], "c": [0, 1, 2, 4], "web": 0, "nativ": [0, 1, 2], "speed": [0, 2], "without": 0, "plugin": 0, "server": 0, "basic": 0, "easi": [0, 1, 2, 4], "usen": 0, "launch": [0, 1], "build_emscripten": 0, "python3": 0, "m": 0, "open": [0, 2, 4], "browser": [0, 2], "navig": 0, "localhost": 0, "8000": 0, "regular": 0, "termin": [0, 2], "execut": [0, 1, 2], "app": [0, 1, 2], "bundl": [0, 1, 3], "dhelloimgui_macos_no_bundl": 0, "opengles3": 0, "extrem": [1, 2], "three": [1, 2], "overload": 1, "singl": [1, 2], "runnerparam": 1, "full": [1, 4], "customiz": [1, 2], "whose": [1, 2], "param": 1, "gui": [1, 2, 4], "const": [1, 2], "simplerunnerparam": [1, 2], "simpler": [1, 2], "guifunct": [1, 2, 3], "windowtitl": [1, 2], "windows": [1, 2], "windowsizeauto": [1, 2], "fals": [1, 2], "restorelastwindowgeometri": [1, 2], "fpsidl": [1, 2], "10": [1, 2], "titl": [1, 2, 4], "etc": [1, 2, 3, 4], "although": [1, 2], "highli": [1, 2], "mani": [1, 2], "option": [1, 3], "fill": [1, 2], "element": [1, 2], "struct": [1, 2], "getrunnerparam": [1, 2, 3], "return": [1, 2, 3], "special": 1, "care": 1, "must": [1, 2], "taken": [1, 2], "correctli": 1, "recent": 1, "laptop": 1, "imvec2": [1, 2], "fix": 1, "valu": [1, 2], "bad": 1, "idea": 1, "intend": [1, 2], "otherwis": 1, "might": [1, 2], "misplac": 1, "too": [1, 2], "small": [1, 2], "differ": [1, 2, 3], "should": [1, 2, 3, 4], "scale": [1, 2, 4], "rel": [1, 2, 3], "done": [1, 2], "em": [1, 2], "css": 1, "unit": [1, 2], "__helloimgui": 1, "emtovec2": [1, 2], "__": 1, "independ": [1, 2], "multipl": [1, 2, 4], "i": [1, 2, 3], "e": [1, 2], "float": [1, 2], "x": 1, "y": [1, 2], "v": 1, "emsiz": 1, "visibl": [1, 2], "nbline": 1, "correspond": [1, 2], "hello_imgui_font": 1, "when": [1, 2, 4], "loadfont": 1, "loaddpiresponsivefont": [1, 2], "getio": [1, 2], "addfontfromfilettf": 1, "adjust": 1, "account": [1, 2], "highdpi": 1, "help": 1, "consist": 1, "across": [1, 4], "paramet": 1, "avail": [1, 2, 4], "color": [1, 2, 4], "merg": 1, "rang": [1, 2], "fontloadingparam": 1, "true": [1, 2, 3, 4], "bool": [1, 2], "adjustsizetodpi": 1, "glyph": [1, 2], "usefullglyphrang": 1, "fontconfig": 1, "glyphrang": 1, "oversampleh": [1, 2], "oversamplev": [1, 2], "1": [1, 2, 3, 4], "save": [1, 2, 4], "memori": [1, 2], "reducememoryusageiffullglyphrang": 1, "last": [1, 2], "mergetolastfont": 1, "imgui_enable_freetyp": 1, "loadcolor": 1, "filesystem": 1, "insideasset": 1, "list": [1, 2, 4], "pair": 1, "imwchar": 1, "empti": [1, 2], "specifi": [1, 2], "interv": 1, "bound": 1, "common": 1, "getglyphrangesjapanes": 1, "getglyphrangeschines": 1, "translatecommonglyphrang": 1, "translate_common_glyph_rang": 1, "std": [1, 2], "vector": [1, 2], "imwcharpair": 1, "config": [1, 2, 3], "imfontconfig": [1, 2], "fontawesom": [1, 3], "icon": [1, 2, 3, 4], "deprec": 1, "step": 1, "old": 1, "mergefontawesom": 1, "fontconfigfontawesom": 1, "A": [1, 2, 3], "resiz": [1, 2, 4], "chang": [1, 2], "loadadaptivefont": 1, "behavior": [1, 2], "reload": 1, "dure": [1, 2, 3], "fontdpirespons": 1, "imfont": 1, "nullptr": [1, 2], "string": [1, 2], "fontfilenam": 1, "fontsiz": 1, "0": [1, 2, 3], "f": [1, 2], "adapt": [1, 2], "after": [1, 2], "startup": [1, 2], "avoid": 1, "mix": 1, "loadfontdpirespons": 1, "hello_imgui_asset": 1, "assetfiledata": 1, "void": [1, 2], "size_t": 1, "datas": 1, "loadassetfiledata": 1, "assetpath": 1, "Will": [1, 2], "entir": 1, "includ": [1, 2, 3, 4], "android": [1, 2, 3, 4], "have": [1, 2], "freeassetfiledata": 1, "free": [1, 2, 4], "addfontfrommemoryttf": 1, "take": 1, "ownership": 1, "assetfilefullpath": 1, "assetrelativefilenam": 1, "compat": 1, "whenev": 1, "possibl": [1, 2], "io": [1, 2, 3, 4], "give": [1, 2], "privat": 1, "xxx": 1, "emscripten": [1, 2, 3, 4], "virtual": 1, "implement": [1, 2], "throw": 1, "compress": 1, "t": [1, 2], "standard": [1, 2], "oper": 1, "assertifnotfound": 1, "exist": 1, "assetexist": 1, "mobil": [1, 2, 3, 4], "setassetsfold": 1, "image_from_asset": 1, "first": [1, 2], "cach": [1, 2], "freed": 1, "just": [1, 2], "exit": [1, 2], "structur": 1, "my_imag": 1, "jpg": [1, 2, 3], "my_app": 1, "imagefromasset": [1, 3], "uv0": 1, "uv1": 1, "imvec4": [1, 2], "tint_col": 1, "border_col": 1, "imagebuttonfromasset": 1, "button": [1, 2, 3], "frame_pad": 1, "bg_col": 1, "imtextureid": 1, "imtextureidfromasset": 1, "textur": 1, "id": [1, 2], "imagesizefromasset": 1, "imageands": 1, "imageandsizefromasset": 1, "textureid": 1, "imageproportionals": 1, "askeds": 1, "images": 1, "dimens": 1, "comput": [1, 2], "keep": [1, 2], "aspect": [1, 4], "ratio": [1, 2], "fit": 1, "exactli": 1, "potenti": 1, "so": [1, 2], "don": [1, 2], "directli": 1, "framer": 1, "durationformean": 1, "5": [1, 2, 3, 4], "sinc": [1, 2], "choos": [1, 2], "durat": 1, "calcul": 1, "mean": [1, 3], "fp": [1, 4], "lead": [1, 2], "accur": 1, "each": [1, 2, 3], "frame": [1, 2], "5f": [1, 2], "imguitestengin": [1, 2], "getimguitestengin": 1, "pointer": 1, "global": 1, "instanc": 1, "initi": [1, 2], "iif": 1, "activ": 1, "getbackenddescript": 1, "info": [1, 2, 3], "could": 1, "changewindows": 1, "screensiz": [1, 2], "demo": [1, 2], "tree": 1, "master": [1, 2, 3], "hello_imgui_demo": [1, 2], "hello_imgui_demodock": 1, "switchlayout": 1, "layoutnam": [1, 2], "alternativedockinglayout": [1, 2], "currentlayoutnam": 1, "name": [1, 2, 3, 4], "inifoldertyp": [1, 2], "enum": [1, 2], "describ": 1, "base": [1, 2, 3, 4], "inifolderloc": 1, "contain": [1, 2], "member": [1, 2], "currentfold": [1, 2], "inifilenam": [1, 2], "inifilename_useappwindowtitl": [1, 2], "deriv": [1, 2], "appwindowparam": 1, "subfold": [1, 2, 3], "class": [1, 2], "develop": [1, 4], "product": 1, "absolutepath": 1, "absolut": 1, "appuserconfigfold": [1, 2], "appdata": [1, 2], "usernam": 1, "roam": [1, 2], "maco": [1, 2, 3, 4], "easili": [1, 4], "access": 1, "appexecutablefold": [1, 2], "shortcut": 1, "homefold": [1, 2], "home": [1, 2], "documentsfold": [1, 2], "tempfold": [1, 2], "temp": 1, "inisettingsloc": 1, "hasiniset": 1, "deleteiniset": 1, "delet": 1, "larg": [1, 2], "quantiti": 1, "sparingli": 1, "saveuserpref": 1, "userprefnam": 1, "userprefcont": 1, "shall": [1, 2], "callback": 1, "beforeexit": [1, 2], "loaduserpref": 1, "postinit": [1, 2], "statu": [1, 2, 3], "bar": [1, 2], "imguiwindowparam": 1, "showmenubar": [1, 2], "showmenu_app": [1, 2], "showmenu_view": [1, 2], "fulli": [1, 2], "showmenu": [1, 2], "showviewmenu": [1, 2], "showappmenu": [1, 2], "show": [1, 2, 3, 4], "view": [1, 2], "dock": [1, 4], "quit": [1, 2], "item": [1, 2], "input": 1, "field": 1, "It": [1, 2, 3], "both": [1, 2], "multi": 1, "express": [1, 2], "usag": [1, 3, 4], "somewher": 1, "state": [1, 2], "inputtextdata": 1, "textinput": 1, "my": 1, "3": [1, 2, 3], "label": [1, 2, 3], "text_input": 1, "multilin": 1, "size_em": 1, "input_text_resiz": 1, "edit": 1, "hint": 1, "sizeem": [1, 2], "serial": 1, "dict": [1, 2], "dicttypeinputtextdata": 1, "map": [1, 2], "variant": 1, "inputtextdatatodict": 1, "inputtextdatafromdict": 1, "inputtextdatatostr": 1, "inputtextdatafromstr": 1, "str": 1, "add": [1, 2, 3, 4], "implot": [1, 4], "widget_s": 1, "200": 1, "auto": [1, 2, 3, 4], "mywidgetfunct": 1, "beginplot": 1, "plot": 1, "plotlin": 1, "1000": 1, "endplot": 1, "widget_with_resize_handl": 1, "voidfunct": [1, 2], "widgetguifunct": 1, "handlesizeem": 1, "0f": [1, 2], "onitemres": 1, "nullopt": 1, "onitemhov": 1, "part": [1, 2], "relev": 1, "worri": 1, "There": 1, "thing": 1, "know": [1, 2], "within": 1, "vs": 1, "pixel": [1, 2], "time": [1, 2, 3], "factor": [1, 2], "similar": [1, 2, 3], "retina": [1, 2], "typic": [1, 2], "2x2": 1, "vari": [1, 2], "distribut": 1, "300": 1, "3x3": 1, "situat": 1, "1x1": 1, "extent": 1, "resolut": [1, 2, 3], "howev": [1, 2], "blurri": 1, "normal": 1, "bigger": 1, "than": 1, "actual": 1, "reflect": 1, "2": [1, 2, 3], "cannot": [1, 2], "manual": [1, 2, 3], "reset": [1, 2], "new": [1, 2, 3], "ask": [1, 2], "16": [1, 2], "32": [1, 2], "solv": 1, "helper": [1, 2, 3], "imguidefaultfontglobalscal": 1, "dpifontloadingfactor": [1, 2], "multipli": [1, 2], "simpli": [1, 3], "theoret": 1, "96": [1, 2], "ppi": [1, 2], "windowgeometri": 1, "yourself": [1, 2], "its": [1, 2, 3, 4], "millimet": [1, 2], "wide": 1, "depend": [1, 2], "appear": 1, "veri": [1, 2], "dpiwindowsizefactor": [1, 2], "equal": 1, "currentscreenpixelperinch": 1, "dpiawareparam": [1, 2], "inform": [1, 2], "us": [2, 3, 4], "api": 2, "summar": 2, "explain": 2, "detail": 2, "later": 2, "runner_param": 2, "suffici": 2, "mygui": 2, "hello": [2, 3], "world": [2, 3], "appshallexit": [2, 3], "_voidfunction_": 2, "emptyvoidfunct": 2, "_string": 2, "_": 2, "_bool": 2, "false_": 2, "size": [2, 4], "widget": [2, 3, 4], "windowrestorepreviousgeometri": 2, "true_": 2, "restor": [2, 4], "posit": [2, 4], "_screensiz": 2, "800": 2, "600": 2, "handl": [2, 3, 4], "96ppi": 2, "screen": [2, 4], "same": 2, "physic": 2, "whatev": 2, "defaultwindows": 2, "_float": 2, "9_": 2, "9": 2, "enableidl": 2, "torunnerparam": 2, "_see": 2, "runner_callback": 2, "h_": 2, "showgui": 2, "menu": 2, "app_window_param": 2, "imgui_window_param": 2, "providefullscreenwindow": 2, "dockingparam": 2, "docking_param": 2, "content": 2, "layout": 2, "_vector": 2, "empty_": 2, "addit": [2, 3, 4], "rememberselectedalternativelayout": 2, "rememb": 2, "backendpoint": 2, "backend_point": 2, "These": 2, "rendererbackendopt": 2, "renderer_backend_opt": 2, "platformbackendtyp": 2, "_enum": 2, "firstavailable_": 2, "firstavail": 2, "over": 2, "renderingbackendtyp": 2, "abov": 2, "rendererbackendtyp": 2, "_inifoldertyp": 2, "currentfolder_": 2, "ini": 2, "filenam": 2, "Its": [2, 4], "creat": 2, "_note": 2, "ha": 2, "effect": 2, "devic": 2, "_fpsidling_": 2, "try": 2, "best": 2, "look": 2, "misc": 2, "useimguitestengin": 2, "dear": [2, 3], "autom": [2, 4], "ocornut": 2, "imgui_test_engin": 2, "dhelloimgui_with_test_engin": 2, "hello_imgui_demo_test_engin": 2, "licens": 2, "subject": 2, "specif": [2, 3, 4], "blob": 2, "tl": 2, "dr": 2, "individu": 2, "educ": 2, "sourc": [2, 4], "busi": 2, "paid": 2, "larger": 2, "emscripten_fp": 2, "_int": 2, "0_": 2, "refresh": 2, "rate": 2, "stand": 2, "decid": 2, "ifdef": 2, "helloimgui_with_remote_displai": 2, "remoteparam": 2, "remot": 2, "displai": [2, 3], "unsupport": 2, "via": [2, 3], "voidfunctionpoint": 2, "hold": 2, "inlin": 2, "sequencefunct": 2, "f1": 2, "f2": 2, "sequenc": 2, "anyeventcallback": 2, "backendev": 2, "emptyeventcallback": 2, "your": [2, 3, 4], "beginmenu": 2, "menuitem": 2, "endmenu": 2, "beginmenubar": 2, "endmenubar": 2, "some": 2, "_showmenubar": 2, "showmenu_app_quitabout": 2, "showmenu_view_": 2, "showappmenuitem": 2, "showstatu": 2, "height": 2, "30": 2, "samelin": 2, "edgestoolbar": 2, "edgetoolbartyp": 2, "edgetoolbar": 2, "addedgetoolbar": 2, "edgetoolbaropt": 2, "postinit_addplatformbackendcallback": 2, "here": [2, 3, 4], "onc": 2, "init": 2, "everyth": 2, "enqueuepostinit": 2, "modifi": 2, "append": 2, "loadadditionalfont": 2, "_loaddefaultfont_withfontawesom": 2, "load": [2, 4], "imguidefaultset": 2, "loaddefaultfont_withfontawesomeicon": 2, "control": 2, "defaulticonfont": 2, "fontawesome4": 2, "setupimguiconfig": 2, "_imguidefaultset": 2, "setupdefaultimguiconfig": 2, "gamepad": 2, "setupimguistyl": 2, "style": 2, "setupdefaultimguistyl": 2, "registertest": 2, "readi": 2, "definit": 2, "registertestscal": 2, "again": 2, "enqueuebeforeexit": 2, "beforeexit_postcleanup": 2, "been": 2, "stop": 2, "loop": 2, "prenewfram": 2, "newfram": 2, "good": 2, "beforeimguirend": 2, "endfram": 2, "afterswap": 2, "swap": 2, "custombackground": 2, "By": [2, 3], "background": 2, "clear": 2, "backgroundcolor": 2, "drawn": 2, "behind": 2, "3d": 2, "mesh": 2, "editor": [2, 4], "game": 2, "top": [2, 4], "postrenderdockablewindow": 2, "anybackendeventcallback": 2, "event": [2, 3], "_onli": 2, "sdl_event": 2, "process": 2, "further": 2, "regist": 2, "helloimgui_mobiledevic": 2, "winrt": 2, "present": 2, "detect": 2, "dictionari": 2, "per": 2, "bottom": 2, "left": 2, "right": [2, 3], "width": 2, "pad": 2, "windowpaddingem": 2, "3f": 2, "windowbg": 2, "w": 2, "non": 2, "showtoolbar": 2, "alledgetoolbartyp": 2, "edgetoolbartypenam": 2, "embed": [2, 4], "usual": 2, "desktop": [2, 3], "quickli": 2, "often": 2, "os": 2, "immedi": 2, "respons": 2, "shortli": 2, "send": 2, "appropri": 2, "put": 2, "paus": 2, "ondestroi": 2, "being": 2, "onlowmemori": 2, "_voidfunct": 2, "low": 2, "onpaus": 2, "enter": 2, "onresum": 2, "came": 2, "foreground": 2, "now": 2, "interact": [2, 3, 4], "twice": 2, "consecut": 2, "raw": 2, "githubusercont": 2, "doc_src": 2, "hello_imgui_diagram": 2, "_windowgeometry_": 2, "precis": 2, "geometri": [2, 4], "monitor": 2, "fake": 2, "restorepreviousgeometri": 2, "written": 2, "imgui_app_window": 2, "creation": 2, "hidden": 2, "dynam": 2, "hide": 2, "borderless": [2, 4], "border": 2, "borderlessmov": 2, "movabl": [2, 4], "drag": 2, "zone": 2, "mous": 2, "borderlessresiz": 2, "borderlessclos": 2, "close": 2, "borderlesshighlightcolor": 2, "highlight": 2, "move": 2, "highlightcolor": 2, "getcoloru32": 2, "imguicol_titlebgact": 2, "6f": 2, "2f": 2, "4f": 2, "notch": 2, "edgeinset": 2, "_edgeinsets_": 2, "out": 2, "iphon": 2, "inset": 2, "handleedgeinset": 2, "defaultimguiwindowtyp": 2, "nodefaultwindow": 2, "updat": 2, "few": 2, "repaint": 2, "reserv": 2, "issu": 2, "112": 2, "gotcha": 2, "stabl": 2, "suggest": 2, "repaintduringresize_gotchareentrantrepaint": 2, "fullscreenmod": 2, "nofullscreen": 2, "sizeauto": 2, "measur": 2, "As": 2, "consequ": 2, "1st": 2, "2nd": 2, "windowsizest": 2, "_windowsizest": 2, "standard_": 2, "minim": [2, 4], "maxim": 2, "windowsizemeasuremod": 2, "_windowsizemeasuremode_": 2, "relativeto96ppi": 2, "how": [2, 3, 4], "result": 2, "densiti": 2, "800x600": 2, "coord": 2, "1600x120": 2, "192": 2, "With": [2, 3], "screencoord": 2, "coordin": 2, "real": 2, "high": [2, 4], "positionmod": 2, "osdefault": 2, "monitorcent": 2, "fromcoord": 2, "windowpositionmod": 2, "40": 2, "screenposit": 2, "defaultscreenposit": 2, "monitoridx": 2, "index": 2, "fullscreen": 2, "fullscreendesktopresolut": 2, "fullmonitorworkarea": 2, "resizeappwindowatnextfram": 2, "_bool_": 2, "flag": 2, "next": 2, "subsequ": 2, "inner": 2, "affect": 2, "appwindowsparam": 2, "z": 2, "providefullscreendockspac": 2, "dockspac": 2, "enableviewport": 2, "viewport": 2, "outsid": 2, "configwindowsmovefromtitlebaronli": 2, "menuapptitl": 2, "Then": [2, 3], "shown": 2, "confirm": 2, "showmenu_app_quit": 2, "_view_": 2, "theme": 2, "showmenu_view_them": 2, "rememberthem": 2, "showstatusbar": 2, "showstatus_fp": 2, "store": [2, 4], "rememberstatusbarset": 2, "fullscreenwindow_margintopleft": 2, "fullscreenwindow_marginbottomright": 2, "margin": 2, "corner": 2, "tweakedthem": 2, "imguithem": 2, "imguitweakedthem": 2, "queri": 2, "availablethem": 2, "clearcolor": 2, "altern": 2, "what": 2, "whether": 2, "No": 2, "debug": 2, "consum": 2, "lot": [2, 4], "cpu": [2, 4], "frequent": 2, "reduc": [2, 4], "ok": 2, "anim": 2, "live": 2, "video": [2, 4], "faster": 2, "increas": 2, "maximum": 2, "timeactiveafterlastev": 2, "f_": 2, "second": 2, "consid": [2, 4], "isidl": 2, "rememberenableidl": 2, "fine": 2, "tune": 2, "dpi_awar": 2, "fontrenderingscal": 2, "improv": 2, "qualiti": [2, 4], "fontoversampleh": 2, "fontoversamplev": 2, "oversampl": 2, "raster": 2, "higher": 2, "sub": 2, "unus": 2, "zero": 2, "big": 2, "programmat": 2, "hello_imgui_exampl": 2, "method": 2, "prioriti": 2, "book": 2, "doc_api": 2, "html": [2, 3], "get": [2, 4], "960x480": 2, "mm": 2, "inch": 2, "treat": 2, "our": 2, "10x5": 2, "doe": 2, "half": 2, "better": 2, "fontglobalscal": 2, "onlyusefontdpirespons": 2, "guarante": 2, "realli": 2, "we": 2, "axi": 2, "noth": 2, "stb": 2, "readm": 2, "md": 2, "equival": 2, "r": 2, "branch": 2, "switch": 2, "modif": 2, "explan": 2, "youtub": 2, "minut": [2, 3, 4], "And": 2, "space": 2, "dockingsplit": 2, "dockablewindow": 2, "along": 2, "lambda": 2, "instanti": 2, "createdefaultdockingsplit": 2, "maindockspac": 2, "___________________________________________": 2, "miscspac": 2, "25": 2, "preexist": 2, "splitmainmisc": 2, "initialdock": 2, "newdock": 2, "direct": 2, "imguidir_down": 2, "25f": 2, "occupi": 2, "column": 2, "splitmaincommand": 2, "commandspac": 2, "imguidir_left": 2, "createdockablewindow": 2, "appstat": 2, "panel": 2, "commandgui": 2, "commandswindow": 2, "dockspacenam": 2, "log": 2, "logger": 2, "logswindow": 2, "loggui": 2, "final": 2, "wai": 2, "appli": 2, "partit": 2, "_dockspacenam": 2, "aka": 2, "imguidir_": 2, "imguidir_right": 2, "25f_": 2, "nodeflag": 2, "imguidocknodeflags_": 2, "tab": 2, "imguidocknodeflag": 2, "imguidocknodeflags_non": 2, "constructor": 2, "initialdock_": 2, "newdock_": 2, "direction_": 2, "ratio_": 2, "nodeflags_": 2, "repres": 2, "_string_": 2, "isvis": 2, "indic": 2, "rememberisvis": 2, "canbeclos": 2, "callbeginend": 2, "begin": 2, "end": 2, "includeinviewmenu": 2, "imguiwindowflag": 2, "_imguiwindowflag": 2, "imguiwindowflags_": 2, "focu": [2, 4], "focuswindowatnextfram": 2, "focus": 2, "_imvec2": 2, "windowsizecondit": 2, "_imguicond": 2, "imguicond_firstuseever_": 2, "imguicond": 2, "imguicond_firstuseev": 2, "windowpo": 2, "windowposit": 2, "windowposcondit": 2, "windowpositioncondit": 2, "label_": 2, "dockspacename_": 2, "guifunction_": 2, "isvisible_": 2, "canbeclosed_": 2, "concern": 2, "togeth": [2, 3], "maindockspacenodeflag": 2, "_imguidocknodeflag": 2, "imguidocknodeflags_passthrucentralnode_": 2, "inherit": 2, "children": 2, "imguidocknodeflags_passthrucentralnod": 2, "layoutcondit": 2, "dockinglayoutcondit": 2, "firstuseever_": 2, "firstuseev": 2, "applicationstart": 2, "reappli": 2, "never": 2, "layoutreset": 2, "drop": 2, "dockablewindowofnam": 2, "focusdockablewindow": 2, "windownam": 2, "imguiid": 2, "dockspaceidfromnam": 2, "reliabl": 2, "himself": 2, "directx": [2, 4], "interest": 2, "rendering_met": 2, "rendering_vulkan": 2, "rendering_dx11": 2, "rendering_dx12": 2, "glfwwindow": 2, "sdlwindow": 2, "sdl_window": 2, "sdlglcontext": 2, "glcontext": 2, "sdl_glcontext": 2, "hasedrsupport": 2, "extend": [2, 4], "edr": 2, "abil": 2, "reproduc": 2, "intens": 2, "exceed": 2, "leverag": 2, "floatbuff": 2, "requestfloatbuff": 2, "request": 2, "framebuff": 2, "openglopt": 2, "risk": 2, "emb": [3, 4], "configur": 3, "build": 3, "is_directori": 3, "cmake_current_source_dir": 3, "fetch": 3, "NOT": 3, "messag": 3, "fetchcont": 3, "fetchcontent_declar": 3, "git_repositori": 3, "git_tag": 3, "fetchcontent_makeavail": 3, "vcpkg": 3, "imgui": 3, "ii": 3, "hello_world_": 3, "hello_world": [3, 4], "add_execut": 3, "app_nam": 3, "file1": 3, "file2": 3, "Or": 3, "assets_loc": 3, "search": 3, "featur": 3, "glad": 3, "perform": [3, 4], "anyth": 3, "besid": 3, "app_set": 3, "gener": 3, "deploi": 3, "droidsan": 3, "ttf": 3, "webfont": 3, "applic": [3, 4], "png": 3, "squar": 3, "256x256": 3, "convert": 3, "format": 3, "plist": 3, "resourc": 3, "storyboard": 3, "launchscreen": 3, "androidmanifest": 3, "xml": 3, "manifest": 3, "miss": 3, "re": 3, "mipmap": 3, "xxxhdpi": 3, "studio": 3, "click": 3, "imag": 3, "shell": 3, "favicon": 3, "program": [3, 4], "bye": 3, "action": 3, "globe": 3, "great": 3, "learn": 3, "design": 4, "multiplatform": 4, "flexibl": 4, "suit": 4, "complex": 4, "well": 4, "prototyp": 4, "creativ": 4, "util": 4, "seamlessli": 4, "window": 4, "setup": 4, "cmake": 4, "asset": 4, "effortless": 4, "univers": 4, "power": 4, "optim": 4, "idl": 4, "dpi": 4, "ui": 4, "enhanc": 4, "dockabl": 4, "autos": 4, "extens": 4, "emoji": 4, "integr": 4, "backend": 4, "minimum": 4, "7": 4, "6": 4, "hello_imgui_add_app": 4, "much": 4, "onlin": 4, "tutori": 4, "demonstr": 4, "fledg": 4, "node": 4, "imfiledialog": 4, "imguicolortextedit": 4, "imgui_md": 4, "complet": 4, "mit": 4, "omar": 4, "cornut": 4, "portion": 4, "govern": 4, "softwar": 4, "lunasvg": 4, "zlib": 4, "libpng": 4, "welcom": 4, "mainten": 4, "consider": 4, "effort": 4, "valuabl": 4, "commerci": 4, "enterpris": 4, "research": 4, "pleas": 4, "donat": 4, "thank": 4}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"build": 0, "instruct": 0, "hello": [0, 1, 4], "imgui": [0, 1, 2, 4], "its": 0, "demo": [0, 4], "your": [0, 1], "applic": [0, 1, 2], "us": [0, 1], "avail": 0, "backend": [0, 1, 2], "depend": 0, "get": [0, 1, 3], "via": 0, "vcpkg": 0, "manual": [0, 4], "cmake": [0, 3], "preset": 0, "option": [0, 2], "os": [0, 1], "specif": [0, 1], "window": [0, 1, 2], "io": 0, "emscripten": 0, "maco": 0, "android": 0, "api": 1, "run": 1, "place": 1, "widget": 1, "dpi": [1, 2], "awar": [1, 2], "wai": 1, "load": 1, "font": 1, "asset": [1, 3], "data": 1, "buffer": 1, "path": 1, "displai": 1, "imag": 1, "from": 1, "util": [1, 3], "function": 1, "switch": 1, "between": 1, "sever": 1, "layout": [1, 4], "ini": 1, "set": 1, "locat": 1, "store": 1, "user": 1, "file": 1, "custom": [1, 3, 4], "menu": 1, "addit": 1, "inputtextresiz": 1, "widgetwithresizehandl": 1, "handl": 1, "screen": 1, "high": 1, "coordin": 1, "displayframebufferscal": 1, "fontglobalscal": 1, "how": 1, "correct": 1, "size": 1, "helloimgui": 1, "recommend": 1, "dear": [1, 4], "reproduc": 1, "physic": 1, "mm": 1, "inch": 1, "own": 1, "code": 1, "creat": 1, "fine": 1, "tune": 1, "paramet": 2, "diagram": 2, "runnerparam": 2, "simpl": 2, "runner": 2, "param": 2, "full": 2, "select": 2, "callback": 2, "type": 2, "runnercallback": 2, "edg": 2, "toolbar": 2, "mobilecallback": 2, "appwindowparam": 2, "windowgeometri": 2, "imguiwindowparam": 2, "default": 2, "fp": 2, "idl": 2, "dock": 2, "exampl": 2, "usag": 2, "split": 2, "dockabl": 2, "pointer": 2, "render": 2, "start": 3, "starter": [3, 4], "templat": [3, 4], "hello_imgui_add_app": 3, "app": [3, 4], "immedi": 3, "gui": 3, "mode": 3, "featur": 4, "real": 4, "world": 4, "motto": 4, "advanc": 4, "3d": 4, "background": 4, "rpn": 4, "calcul": 4, "bundl": 4, "theme": 4, "tweak": 4, "about": 4, "credit": 4, "licens": 4, "contribut": 4, "support": 4, "project": 4}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx": 56}})
\ No newline at end of file
+Search.setIndex({"docnames": ["build", "doc_api", "doc_params", "get_started", "intro"], "filenames": ["build.md", "doc_api.md", "doc_params.md", "get_started.md", "intro.md"], "titles": ["Build instructions", "API", "Application parameters", "Get started", "Hello ImGui"], "terms": {"On": [0, 1, 2], "almost": [0, 1], "all": [0, 1, 2, 3, 4], "platform": [0, 1, 2, 3, 4], "helloimgui": [0, 2, 3, 4], "can": [0, 1, 2, 3, 4], "compil": [0, 2], "simpl": [0, 1, 3, 4], "command": [0, 2], "bash": 0, "git": [0, 3], "clone": [0, 3], "http": [0, 1, 2, 3], "github": [0, 1, 2, 3], "com": [0, 1, 2, 3], "pthom": [0, 1, 2, 3], "hello_imgui": [0, 1, 2, 3, 4], "cd": 0, "mkdir": 0, "make": [0, 1, 2, 4], "j": 0, "thi": [0, 1, 2, 3, 4], "librari": [0, 1, 2, 3, 4], "which": [0, 1, 2, 3, 4], "locat": [0, 2, 3], "bin": 0, "folder": [0, 1, 2, 3], "To": [0, 1, 2], "an": [0, 1, 2, 3, 4], "you": [0, 1, 2, 3, 4], "either": [0, 1, 2], "place": [0, 2, 3], "insid": [0, 1, 2, 3], "project": [0, 3], "exampl": [0, 1, 3], "submodul": 0, "download": [0, 3], "built": [0, 3, 4], "automat": [0, 1, 2, 3, 4], "In": [0, 1, 2], "ani": [0, 2, 3, 4], "case": [0, 1, 2], "follow": [0, 1, 2], "given": [0, 1, 2], "starter": 0, "templat": 0, "see": [0, 1, 2, 3, 4], "document": [0, 1, 2], "below": [0, 1, 2], "extract": [0, 3], "from": [0, 2, 3], "cmakelist": [0, 1, 3], "txt": [0, 1, 2, 3], "need": [0, 1, 2, 3], "select": [0, 1], "least": [0, 3], "two": [0, 1, 2], "At": [0, 2], "one": [0, 1, 2, 3], "more": [0, 1, 2, 4], "render": [0, 4], "opengl3": [0, 1, 2, 3, 4], "metal": [0, 1, 2, 4], "vulkan": [0, 1, 2, 4], "directx11": [0, 2], "directx12": [0, 2], "choic": 0, "accord": 0, "target": [0, 1, 2, 3], "between": [0, 2], "dhelloimgui_has_opengl3": 0, "ON": [0, 2], "recommend": [0, 3], "especi": [0, 4], "beginn": 0, "dhelloimgui_has_met": 0, "appl": [0, 3], "onli": [0, 1, 2], "advanc": [0, 1, 2], "user": [0, 2, 4], "dhelloimgui_has_vulkan": 0, "dhelloimgui_has_directx11": 0, "still": [0, 2], "experiment": [0, 2], "dhelloimgui_has_directx12": 0, "sdl2": [0, 4], "glfw3": [0, 4], "dhelloimgui_use_sdl2": 0, "dhelloimgui_use_glfw3": 0, "If": [0, 1, 2, 4], "default": [0, 1, 3], "helloimgui_use_glfw3": 0, "helloimgui_has_opengl3": 0, "note": [0, 1, 2], "about": [0, 1, 2, 3], "start": [0, 2, 4], "point": [0, 2, 3], "do": [0, 1, 2, 3], "work": [0, 1, 2, 4], "mai": [0, 1, 2], "custom": [0, 2], "code": [0, 2, 3, 4], "src": [0, 1, 2], "intern": [0, 1, 2], "backend_impl": [0, 2], "rendering_xxxx": 0, "h": [0, 1, 2, 3, 4], "cpp": [0, 1, 2, 3, 4], "those": [0, 2], "probabl": [0, 2], "impli": 0, "want": [0, 1, 2], "heavili": 0, "off": 0, "helloimgui_use_sdl2": 0, "helloimgui_has_met": 0, "helloimgui_has_vulkan": 0, "helloimgui_has_directx11": 0, "helloimgui_has_directx12": 0, "headless": 0, "mode": [0, 1, 2, 4], "s": [0, 2, 3], "tool": 0, "alwai": [0, 1, 2], "check": [0, 2], "null": [0, 2], "set": [0, 2, 3, 4], "helloimgui_headless": 0, "disabl": [0, 2], "allow": [0, 1, 4], "order": [0, 1, 2], "own": [0, 2, 3], "afor": 0, "mention": [0, 2], "combin": 0, "freetyp": [0, 1, 2, 4], "font": [0, 2, 3, 4], "helloimgui_use_freetyp": 0, "provid": [0, 1, 2, 3, 4], "version": [0, 1, 2], "conveni": [0, 1], "linux": [0, 1, 2, 4], "prefer": [0, 1, 2], "system": [0, 1], "enabl": [0, 1, 2], "other": [0, 1], "sdl": [0, 1, 2, 4], "helloimgui_download_glfw_if_need": 0, "helloimgui_download_sdl_if_need": 0, "helloimgui_use_sdl_xxxx": 0, "helloimgui_use_glfw_xxxx": 0, "were": [0, 2], "ad": [0, 2, 3], "add_subdirectori": [0, 3], "extern": [0, 3], "glfw": [0, 1, 2, 3, 4], "find_packag": [0, 3], "fail": [0, 2], "found": [0, 3], "path": [0, 2, 3], "cmake_prefix_path": 0, "instead": [0, 1], "helloimgui_download_freetyp": 0, "wa": [0, 1, 2], "also": [0, 2], "forcibl": 0, "helloimgui_freetype_stat": 0, "becaus": [0, 1], "ubuntu": 0, "instal": [0, 1, 3], "them": [0, 1, 2, 3], "sudo": 0, "apt": 0, "libglfw3": 0, "dev": 0, "libsdl2": 0, "libfreetyp": 0, "cmake_system_nam": 0, "match": [0, 4], "autodownload_default": 0, "els": 0, "endif": [0, 2, 3], "helloimgui_download_freetype_if_need": 0, "forc": 0, "static": [0, 1, 3], "link": [0, 3], "python": [0, 1, 4], "bind": [0, 3, 4], "requir": [0, 1, 2, 3, 4], "support": [0, 1, 2], "test": [0, 1, 2, 4], "engin": [0, 1, 2, 4], "yet": 0, "The": [0, 1, 2, 3, 4], "file": [0, 2, 3], "json": 0, "defin": [0, 1, 2, 4], "For": [0, 1, 2], "bootstrap": 0, "microsoft": 0, "sh": 0, "export": 0, "vcpkg_root": 0, "pwd": 0, "environ": [0, 2], "variabl": 0, "tell": 0, "where": [0, 1, 2], "find": [0, 2, 4], "thei": [0, 1, 2], "read": [0, 2], "dcmake_toolchain_fil": 0, "script": 0, "buildsystem": 0, "4": [0, 1, 2], "cmakepreset": 0, "sever": [0, 2], "grab": 0, "thu": [0, 1], "like": [0, 1, 2], "build_vcpkg_default": 0, "toolchain": 0, "ar": [0, 1, 2, 4], "most": [0, 1, 2], "import": [0, 1, 2], "except": [0, 1, 2, 3], "mingw": 0, "text": [0, 1, 2, 3, 4], "freetype_default": 0, "helloimgui_with_test_engin": 0, "under": [0, 1, 2, 4], "winmain": 0, "function": [0, 2, 3], "call": [0, 1, 2], "main": [0, 1, 2, 3, 4], "expect": 0, "signatur": [0, 1, 2], "int": [0, 1, 2, 3, 4], "char": [0, 1, 3, 4], "linker": 0, "error": [0, 1], "pass": 0, "dhelloimgui_win32_auto_winmain": 0, "line": [0, 1, 3, 4], "write": [0, 4], "warn": [0, 2], "sdl_main_handl": 0, "befor": [0, 1, 2], "inclus": [0, 1], "refrain": 0, "sdl_main": 0, "opengl": [0, 2, 3], "es3": 0, "current": [0, 1, 2], "hello_imgui_cmak": 0, "asm": 0, "js": [0, 3], "webassembl": 0, "llvm": 0, "let": [0, 2], "run": [0, 2, 3, 4], "c": [0, 1, 2, 4], "web": 0, "nativ": [0, 1, 2], "speed": [0, 2], "without": [0, 2], "plugin": 0, "server": 0, "basic": 0, "easi": [0, 1, 2, 4], "usen": 0, "launch": [0, 1], "build_emscripten": 0, "python3": 0, "m": 0, "open": [0, 2, 4], "browser": [0, 2], "navig": 0, "localhost": 0, "8000": 0, "regular": 0, "termin": [0, 2], "execut": [0, 1, 2], "app": [0, 1, 2], "bundl": [0, 1, 3], "dhelloimgui_macos_no_bundl": 0, "opengles3": 0, "extrem": [1, 2], "three": [1, 2], "overload": 1, "singl": [1, 2], "runnerparam": 1, "full": [1, 4], "customiz": [1, 2], "whose": [1, 2], "param": 1, "gui": [1, 2, 4], "const": [1, 2], "simplerunnerparam": [1, 2], "simpler": [1, 2], "guifunct": [1, 2, 3], "windowtitl": [1, 2], "windows": [1, 2], "windowsizeauto": [1, 2], "fals": [1, 2], "restorelastwindowgeometri": [1, 2], "fpsidl": [1, 2], "10": [1, 2], "titl": [1, 2, 4], "etc": [1, 2, 3, 4], "although": [1, 2], "highli": [1, 2], "mani": [1, 2], "option": [1, 3], "fill": [1, 2], "element": [1, 2], "struct": [1, 2], "getrunnerparam": [1, 2, 3], "return": [1, 2, 3], "control": [1, 2], "class": [1, 2], "avail": [1, 2, 4], "sinc": [1, 2], "septemb": 1, "2024": 1, "altern": [1, 2], "grain": 1, "over": [1, 2], "process": [1, 2], "It": [1, 2, 3], "construct": 1, "frame": [1, 2], "ensur": 1, "trigger": 1, "regularli": 1, "e": [1, 2], "g": 1, "through": 1, "mechan": 1, "maintain": 1, "respons": [1, 2], "method": [1, 2], "must": [1, 2], "thread": [1, 2], "A": [1, 2, 3], "typic": [1, 2], "callback": 1, "showgui": [1, 2], "choos": [1, 2], "sleep": [1, 2], "earlyreturn": [1, 2], "auto": [1, 2, 3, 4], "fp": [1, 4], "idl": [1, 4], "fpsidlingmod": [1, 2], "distinct": 1, "copi": 1, "appshallexit": [1, 2, 3], "1": [1, 2, 3, 4], "depend": [1, 2], "configur": [1, 3], "enter": [1, 2], "state": [1, 2], "reduc": [1, 2, 4], "cpu": [1, 2, 4], "usag": [1, 3, 4], "event": [1, 2, 3], "receiv": 1, "input": 1, "interact": [1, 2, 3, 4], "immedi": [1, 2], "By": [1, 2, 3], "emscripten": [1, 2, 3, 4], "avoid": [1, 2], "block": [1, 2], "2": [1, 2, 3], "instanc": 1, "exist": 1, "time": [1, 2, 3], "3": [1, 2, 3], "made": 1, "access": 1, "public": 1, "initi": [1, 2], "up": 1, "nb": 1, "simpleparam": 1, "paramet": 1, "voidfunct": [1, 2], "std": [1, 2], "string": [1, 2], "bool": [1, 2], "windowrestorepreviousgeometri": [1, 2], "screensiz": [1, 2], "defaultwindows": [1, 2], "float": [1, 2], "f": [1, 2], "void": [1, 2], "destructor": 1, "tear": 1, "down": 1, "special": 1, "care": 1, "taken": [1, 2], "correctli": 1, "recent": 1, "laptop": 1, "imvec2": [1, 2], "fix": 1, "valu": [1, 2], "bad": 1, "idea": 1, "intend": [1, 2], "otherwis": 1, "might": [1, 2], "misplac": 1, "too": [1, 2], "small": [1, 2], "differ": [1, 2, 3], "should": [1, 2, 3, 4], "scale": [1, 2, 4], "rel": [1, 2, 3], "done": [1, 2], "em": [1, 2], "css": 1, "unit": [1, 2], "__helloimgui": 1, "emtovec2": [1, 2], "__": 1, "independ": [1, 2], "multipl": [1, 2, 4], "i": [1, 2, 3], "x": 1, "y": [1, 2], "v": 1, "emsiz": 1, "visibl": [1, 2], "nbline": 1, "correspond": [1, 2], "pixeltoem": 1, "convert": [1, 3], "vec2": 1, "pixel": [1, 2], "coord": [1, 2], "pixelstoem": 1, "pixelsizetoem": 1, "pixels": 1, "hello_imgui_font": 1, "when": [1, 2, 4], "loadfont": 1, "loaddpiresponsivefont": [1, 2], "getio": [1, 2], "addfontfromfilettf": 1, "adjust": 1, "account": [1, 2], "highdpi": 1, "help": 1, "consist": 1, "across": [1, 4], "color": [1, 2, 4], "merg": 1, "rang": [1, 2], "fontloadingparam": 1, "true": [1, 2, 3, 4], "adjustsizetodpi": 1, "glyph": [1, 2], "usefullglyphrang": 1, "fontconfig": 1, "glyphrang": 1, "oversampleh": [1, 2], "oversamplev": [1, 2], "save": [1, 2, 4], "memori": [1, 2], "reducememoryusageiffullglyphrang": 1, "last": [1, 2], "mergetolastfont": 1, "imgui_enable_freetyp": 1, "loadcolor": 1, "filesystem": 1, "insideasset": 1, "list": [1, 2, 4], "pair": 1, "imwchar": 1, "empti": [1, 2], "specifi": [1, 2], "interv": 1, "bound": 1, "common": 1, "getglyphrangesjapanes": 1, "getglyphrangeschines": 1, "translatecommonglyphrang": 1, "translate_common_glyph_rang": 1, "vector": [1, 2], "imwcharpair": 1, "config": [1, 2, 3], "imfontconfig": [1, 2], "fontawesom": [1, 3], "icon": [1, 2, 3, 4], "deprec": 1, "step": 1, "old": 1, "mergefontawesom": 1, "fontconfigfontawesom": 1, "resiz": [1, 2, 4], "chang": [1, 2], "loadadaptivefont": 1, "behavior": [1, 2], "reload": 1, "dure": [1, 2, 3], "fontdpirespons": 1, "imfont": 1, "nullptr": [1, 2], "fontfilenam": 1, "fontsiz": 1, "0": [1, 2, 3], "adapt": [1, 2], "after": [1, 2], "startup": [1, 2], "mix": 1, "loadfontdpirespons": 1, "hello_imgui_asset": 1, "assetfiledata": 1, "size_t": 1, "datas": 1, "loadassetfiledata": 1, "assetpath": 1, "Will": [1, 2], "entir": 1, "includ": [1, 2, 3, 4], "android": [1, 2, 3, 4], "have": [1, 2], "freeassetfiledata": 1, "free": [1, 2, 4], "addfontfrommemoryttf": 1, "take": 1, "ownership": 1, "assetfilefullpath": 1, "assetrelativefilenam": 1, "compat": 1, "whenev": 1, "possibl": [1, 2], "io": [1, 2, 3, 4], "give": [1, 2], "privat": 1, "xxx": 1, "virtual": 1, "implement": [1, 2], "throw": 1, "compress": 1, "t": [1, 2], "standard": [1, 2], "oper": 1, "assertifnotfound": 1, "assetexist": 1, "mobil": [1, 2, 3, 4], "setassetsfold": 1, "image_from_asset": 1, "first": [1, 2], "cach": 1, "freed": 1, "just": [1, 2], "exit": [1, 2], "structur": 1, "my_imag": 1, "jpg": [1, 2, 3], "my_app": 1, "imagefromasset": [1, 3], "uv0": 1, "uv1": 1, "imvec4": [1, 2], "tint_col": 1, "border_col": 1, "imagebuttonfromasset": 1, "button": [1, 2, 3], "frame_pad": 1, "bg_col": 1, "imtextureid": 1, "imtextureidfromasset": 1, "textur": 1, "id": [1, 2], "imagesizefromasset": 1, "imageands": 1, "imageandsizefromasset": 1, "textureid": 1, "imageproportionals": 1, "askeds": 1, "images": 1, "dimens": 1, "comput": [1, 2], "keep": [1, 2], "aspect": [1, 4], "ratio": [1, 2], "fit": 1, "exactli": 1, "potenti": 1, "so": [1, 2], "don": [1, 2], "directli": 1, "isusinghelloimgui": 1, "framer": 1, "durationformean": 1, "5": [1, 2, 3, 4], "durat": 1, "calcul": 1, "mean": [1, 3], "lead": [1, 2], "accur": 1, "each": [1, 2, 3], "5f": [1, 2], "imguitestengin": [1, 2], "getimguitestengin": 1, "pointer": 1, "global": 1, "iif": 1, "activ": 1, "getbackenddescript": 1, "info": [1, 2, 3], "could": 1, "changewindows": 1, "demo": [1, 2], "tree": 1, "master": [1, 2, 3], "hello_imgui_demo": [1, 2], "hello_imgui_demodock": 1, "switchlayout": 1, "layoutnam": [1, 2], "alternativedockinglayout": [1, 2], "currentlayoutnam": 1, "name": [1, 2, 3, 4], "adddockablewindow": 1, "add": [1, 2, 3, 4], "dockabl": [1, 4], "dock": [1, 4], "dockspac": [1, 2], "belong": 1, "forcedockspac": 1, "space": [1, 2], "dockablewindow": [1, 2], "removedockablewindow": 1, "remov": 1, "dockablewindownam": 1, "label": [1, 2, 3], "inifoldertyp": [1, 2], "enum": [1, 2], "describ": [1, 2], "base": [1, 2, 3, 4], "inifolderloc": 1, "contain": [1, 2], "member": [1, 2], "currentfold": [1, 2], "inifilenam": [1, 2], "inifilename_useappwindowtitl": [1, 2], "deriv": [1, 2], "appwindowparam": 1, "subfold": [1, 2, 3], "develop": [1, 4], "product": 1, "absolutepath": 1, "absolut": 1, "appuserconfigfold": [1, 2], "appdata": [1, 2], "usernam": 1, "roam": [1, 2], "maco": [1, 2, 3, 4], "easili": [1, 4], "appexecutablefold": [1, 2], "shortcut": 1, "homefold": [1, 2], "home": [1, 2], "documentsfold": [1, 2], "tempfold": [1, 2], "temp": 1, "inisettingsloc": 1, "hasiniset": 1, "deleteiniset": 1, "delet": 1, "larg": [1, 2], "quantiti": 1, "sparingli": 1, "saveuserpref": 1, "userprefnam": 1, "userprefcont": 1, "shall": [1, 2], "beforeexit": [1, 2], "loaduserpref": 1, "postinit": [1, 2], "statu": [1, 2, 3], "bar": [1, 2], "imguiwindowparam": 1, "showmenubar": [1, 2], "showmenu_app": [1, 2], "showmenu_view": [1, 2], "fulli": [1, 2], "showmenu": [1, 2], "showviewmenu": [1, 2], "showappmenu": [1, 2], "show": [1, 2, 3, 4], "view": [1, 2], "quit": [1, 2], "item": [1, 2], "field": 1, "both": [1, 2], "multi": 1, "express": [1, 2], "somewher": 1, "inputtextdata": 1, "textinput": 1, "my": 1, "text_input": 1, "multilin": 1, "size_em": 1, "input_text_resiz": 1, "edit": 1, "hint": 1, "sizeem": [1, 2], "serial": 1, "dict": [1, 2], "dicttypeinputtextdata": 1, "map": [1, 2], "variant": 1, "inputtextdatatodict": 1, "inputtextdatafromdict": 1, "inputtextdatatostr": 1, "inputtextdatafromstr": 1, "str": 1, "implot": [1, 4], "widget_s": 1, "200": 1, "mywidgetfunct": 1, "beginplot": 1, "plot": 1, "plotlin": 1, "1000": 1, "endplot": 1, "widget_with_resize_handl": 1, "widgetguifunct": 1, "handlesizeem": 1, "0f": [1, 2], "onitemres": 1, "nullopt": 1, "onitemhov": 1, "part": [1, 2], "relev": 1, "worri": 1, "There": 1, "thing": 1, "know": 1, "within": 1, "vs": 1, "factor": [1, 2], "similar": [1, 2, 3], "retina": [1, 2], "2x2": 1, "vari": [1, 2], "distribut": 1, "300": 1, "3x3": 1, "situat": 1, "1x1": 1, "extent": 1, "resolut": [1, 2, 3], "howev": [1, 2], "blurri": 1, "normal": 1, "bigger": 1, "than": 1, "actual": 1, "reflect": 1, "cannot": [1, 2], "manual": [1, 2, 3], "reset": [1, 2], "new": [1, 2, 3], "ask": [1, 2], "16": [1, 2], "32": [1, 2], "solv": 1, "helper": [1, 2, 3], "imguidefaultfontglobalscal": 1, "dpifontloadingfactor": [1, 2], "multipli": [1, 2], "simpli": [1, 3], "theoret": 1, "96": [1, 2], "ppi": [1, 2], "windowgeometri": 1, "yourself": [1, 2], "its": [1, 2, 3, 4], "millimet": [1, 2], "wide": 1, "appear": 1, "veri": [1, 2], "dpiwindowsizefactor": [1, 2], "equal": 1, "currentscreenpixelperinch": 1, "dpiawareparam": [1, 2], "inform": [1, 2], "us": [2, 3, 4], "api": 2, "summar": 2, "explain": 2, "detail": 2, "later": 2, "runner_param": 2, "suffici": 2, "mygui": 2, "hello": [2, 3], "world": [2, 3], "_voidfunction_": 2, "emptyvoidfunct": 2, "_string": 2, "_": 2, "_bool": 2, "false_": 2, "size": [2, 4], "widget": [2, 3, 4], "true_": 2, "restor": [2, 4], "posit": [2, 4], "_screensiz": 2, "800": 2, "600": 2, "handl": [2, 3, 4], "96ppi": 2, "screen": [2, 4], "same": 2, "physic": 2, "whatev": 2, "_float": 2, "9_": 2, "9": 2, "enableidl": 2, "torunnerparam": 2, "_see": 2, "runner_callback": 2, "h_": 2, "menu": 2, "app_window_param": 2, "imgui_window_param": 2, "providefullscreenwindow": 2, "dockingparam": 2, "docking_param": 2, "content": 2, "layout": 2, "_vector": 2, "empty_": 2, "addit": [2, 3, 4], "rememberselectedalternativelayout": 2, "rememb": 2, "backendpoint": 2, "backend_point": 2, "These": 2, "rendererbackendopt": 2, "renderer_backend_opt": 2, "platformbackendtyp": 2, "_enum": 2, "firstavailable_": 2, "firstavail": 2, "renderingbackendtyp": 2, "abov": 2, "rendererbackendtyp": 2, "_inifoldertyp": 2, "currentfolder_": 2, "ini": 2, "filenam": 2, "Its": [2, 4], "creat": 2, "_note": 2, "ha": 2, "effect": 2, "devic": 2, "_fpsidling_": 2, "try": 2, "best": 2, "look": 2, "misc": 2, "useimguitestengin": 2, "dear": [2, 3], "autom": [2, 4], "ocornut": 2, "imgui_test_engin": 2, "dhelloimgui_with_test_engin": 2, "hello_imgui_demo_test_engin": 2, "licens": 2, "subject": 2, "specif": [2, 3, 4], "blob": 2, "tl": 2, "dr": 2, "individu": 2, "educ": 2, "sourc": [2, 4], "busi": 2, "paid": 2, "larger": 2, "emscripten_fp": 2, "_int": 2, "0_": 2, "refresh": 2, "rate": 2, "stand": 2, "decid": 2, "ifdef": 2, "helloimgui_with_remote_displai": 2, "remoteparam": 2, "remot": 2, "displai": [2, 3], "unsupport": 2, "via": [2, 3], "voidfunctionpoint": 2, "hold": 2, "inlin": 2, "sequencefunct": 2, "f1": 2, "f2": 2, "sequenc": 2, "anyeventcallback": 2, "backendev": 2, "emptyeventcallback": 2, "your": [2, 3, 4], "beginmenu": 2, "menuitem": 2, "endmenu": 2, "beginmenubar": 2, "endmenubar": 2, "some": 2, "_showmenubar": 2, "showmenu_app_quitabout": 2, "showmenu_view_": 2, "showappmenuitem": 2, "showstatu": 2, "height": 2, "30": 2, "samelin": 2, "edgestoolbar": 2, "edgetoolbartyp": 2, "edgetoolbar": 2, "addedgetoolbar": 2, "edgetoolbaropt": 2, "postinit_addplatformbackendcallback": 2, "here": [2, 3, 4], "onc": 2, "init": 2, "everyth": 2, "enqueuepostinit": 2, "modifi": 2, "append": 2, "loadadditionalfont": 2, "_loaddefaultfont_withfontawesom": 2, "load": [2, 4], "imguidefaultset": 2, "loaddefaultfont_withfontawesomeicon": 2, "defaulticonfont": 2, "fontawesome4": 2, "setupimguiconfig": 2, "_imguidefaultset": 2, "setupdefaultimguiconfig": 2, "gamepad": 2, "setupimguistyl": 2, "style": 2, "setupdefaultimguistyl": 2, "registertest": 2, "readi": 2, "definit": 2, "registertestscal": 2, "again": 2, "enqueuebeforeexit": 2, "beforeexit_postcleanup": 2, "been": 2, "stop": 2, "loop": 2, "prenewfram": 2, "newfram": 2, "good": 2, "beforeimguirend": 2, "endfram": 2, "afterswap": 2, "swap": 2, "custombackground": 2, "background": 2, "clear": 2, "backgroundcolor": 2, "drawn": 2, "behind": 2, "3d": 2, "mesh": 2, "editor": [2, 4], "game": 2, "top": [2, 4], "postrenderdockablewindow": 2, "anybackendeventcallback": 2, "_onli": 2, "sdl_event": 2, "further": 2, "regist": 2, "helloimgui_mobiledevic": 2, "winrt": 2, "present": 2, "detect": 2, "dictionari": 2, "per": 2, "bottom": 2, "left": 2, "right": [2, 3], "width": 2, "pad": 2, "windowpaddingem": 2, "3f": 2, "windowbg": 2, "w": 2, "non": 2, "showtoolbar": 2, "alledgetoolbartyp": 2, "edgetoolbartypenam": 2, "embed": [2, 4], "usual": 2, "desktop": [2, 3], "quickli": 2, "often": 2, "os": 2, "shortli": 2, "send": 2, "appropri": 2, "put": 2, "paus": 2, "ondestroi": 2, "being": 2, "onlowmemori": 2, "_voidfunct": 2, "low": 2, "onpaus": 2, "onresum": 2, "came": 2, "foreground": 2, "now": 2, "twice": 2, "consecut": 2, "raw": 2, "githubusercont": 2, "doc_src": 2, "hello_imgui_diagram": 2, "_windowgeometry_": 2, "precis": 2, "geometri": [2, 4], "monitor": 2, "fake": 2, "restorepreviousgeometri": 2, "written": 2, "imgui_app_window": 2, "creation": 2, "hidden": 2, "dynam": 2, "hide": 2, "borderless": [2, 4], "border": 2, "borderlessmov": 2, "movabl": [2, 4], "drag": 2, "zone": 2, "mous": 2, "borderlessresiz": 2, "borderlessclos": 2, "close": 2, "borderlesshighlightcolor": 2, "highlight": 2, "move": 2, "highlightcolor": 2, "getcoloru32": 2, "imguicol_titlebgact": 2, "6f": 2, "2f": 2, "4f": 2, "notch": 2, "edgeinset": 2, "_edgeinsets_": 2, "out": 2, "iphon": 2, "inset": 2, "handleedgeinset": 2, "defaultimguiwindowtyp": 2, "nodefaultwindow": 2, "updat": 2, "few": 2, "repaint": 2, "reserv": 2, "issu": 2, "112": 2, "gotcha": 2, "stabl": 2, "suggest": 2, "repaintduringresize_gotchareentrantrepaint": 2, "fullscreenmod": 2, "nofullscreen": 2, "sizeauto": 2, "measur": 2, "As": 2, "consequ": 2, "1st": 2, "2nd": 2, "windowsizest": 2, "_windowsizest": 2, "standard_": 2, "minim": [2, 4], "maxim": 2, "windowsizemeasuremod": 2, "_windowsizemeasuremode_": 2, "relativeto96ppi": 2, "how": [2, 3, 4], "result": 2, "densiti": 2, "800x600": 2, "1600x120": 2, "192": 2, "With": [2, 3], "screencoord": 2, "coordin": 2, "real": 2, "high": [2, 4], "positionmod": 2, "osdefault": 2, "monitorcent": 2, "fromcoord": 2, "windowpositionmod": 2, "40": 2, "screenposit": 2, "defaultscreenposit": 2, "monitoridx": 2, "index": 2, "fullscreen": 2, "fullscreendesktopresolut": 2, "fullmonitorworkarea": 2, "resizeappwindowatnextfram": 2, "_bool_": 2, "flag": 2, "next": 2, "subsequ": 2, "inner": 2, "affect": 2, "appwindowsparam": 2, "z": 2, "providefullscreendockspac": 2, "enableviewport": 2, "viewport": 2, "outsid": 2, "configwindowsmovefromtitlebaronli": 2, "menuapptitl": 2, "Then": [2, 3], "shown": 2, "confirm": 2, "showmenu_app_quit": 2, "_view_": 2, "theme": 2, "showmenu_view_them": 2, "rememberthem": 2, "showstatusbar": 2, "showstatus_fp": 2, "store": [2, 4], "rememberstatusbarset": 2, "fullscreenwindow_margintopleft": 2, "fullscreenwindow_marginbottomright": 2, "margin": 2, "corner": 2, "tweakedthem": 2, "imguithem": 2, "imguitweakedthem": 2, "queri": 2, "availablethem": 2, "clearcolor": 2, "what": 2, "whether": 2, "No": 2, "debug": 2, "design": [2, 4], "driven": 2, "tight": 2, "caus": 2, "excess": 2, "consumpt": 2, "overrid": 2, "explicitli": 2, "consum": 2, "lot": [2, 4], "frequent": 2, "ok": 2, "anim": 2, "live": 2, "video": [2, 4], "faster": 2, "increas": 2, "maximum": 2, "timeactiveafterlastev": 2, "f_": 2, "second": 2, "consid": [2, 4], "isidl": 2, "rememberenableidl": 2, "_fpsidlingmod": 2, "automatic_": 2, "fine": 2, "tune": 2, "dpi_awar": 2, "fontrenderingscal": 2, "improv": 2, "qualiti": [2, 4], "fontoversampleh": 2, "fontoversamplev": 2, "oversampl": 2, "raster": 2, "higher": 2, "sub": 2, "unus": 2, "zero": 2, "big": 2, "programmat": 2, "hello_imgui_exampl": 2, "prioriti": 2, "book": 2, "doc_api": 2, "html": [2, 3], "get": [2, 4], "960x480": 2, "mm": 2, "inch": 2, "treat": 2, "our": 2, "10x5": 2, "doe": 2, "half": 2, "better": 2, "fontglobalscal": 2, "onlyusefontdpirespons": 2, "guarante": 2, "realli": 2, "we": 2, "axi": 2, "noth": 2, "stb": 2, "readm": 2, "md": 2, "equival": 2, "r": 2, "branch": 2, "switch": 2, "modif": 2, "explan": 2, "youtub": 2, "minut": [2, 3, 4], "And": 2, "dockingsplit": 2, "along": 2, "lambda": 2, "instanti": 2, "createdefaultdockingsplit": 2, "maindockspac": 2, "___________________________________________": 2, "miscspac": 2, "25": 2, "preexist": 2, "splitmainmisc": 2, "initialdock": 2, "newdock": 2, "direct": 2, "imguidir_down": 2, "25f": 2, "occupi": 2, "column": 2, "splitmaincommand": 2, "commandspac": 2, "imguidir_left": 2, "createdockablewindow": 2, "appstat": 2, "panel": 2, "commandgui": 2, "commandswindow": 2, "dockspacenam": 2, "log": 2, "logger": 2, "logswindow": 2, "loggui": 2, "final": 2, "wai": 2, "appli": 2, "partit": 2, "_dockspacenam": 2, "aka": 2, "imguidir_": 2, "imguidir_right": 2, "imguidir": 2, "25f_": 2, "nodeflag": 2, "imguidocknodeflags_": 2, "tab": 2, "imguidocknodeflag": 2, "imguidocknodeflags_non": 2, "constructor": 2, "initialdock_": 2, "newdock_": 2, "direction_": 2, "ratio_": 2, "nodeflags_": 2, "repres": 2, "_string_": 2, "uniqu": 2, "suffix": 2, "isvis": 2, "indic": 2, "rememberisvis": 2, "canbeclos": 2, "callbeginend": 2, "begin": 2, "end": 2, "includeinviewmenu": 2, "imguiwindowflag": 2, "_imguiwindowflag": 2, "imguiwindowflags_": 2, "focu": [2, 4], "focuswindowatnextfram": 2, "focus": 2, "_imvec2": 2, "windowsizecondit": 2, "_imguicond": 2, "imguicond_firstuseever_": 2, "imguicond": 2, "imguicond_firstuseev": 2, "windowpo": 2, "windowposit": 2, "windowposcondit": 2, "windowpositioncondit": 2, "label_": 2, "dockspacename_": 2, "guifunction_": 2, "isvisible_": 2, "canbeclosed_": 2, "concern": 2, "togeth": [2, 3], "maindockspacenodeflag": 2, "_imguidocknodeflag": 2, "imguidocknodeflags_passthrucentralnode_": 2, "inherit": 2, "children": 2, "imguidocknodeflags_passthrucentralnod": 2, "layoutcondit": 2, "dockinglayoutcondit": 2, "firstuseever_": 2, "firstuseev": 2, "applicationstart": 2, "reappli": 2, "never": 2, "layoutreset": 2, "drop": 2, "dockablewindowofnam": 2, "focusdockablewindow": 2, "windownam": 2, "imguiid": 2, "dockspaceidfromnam": 2, "directx": [2, 4], "interest": 2, "rendering_met": 2, "rendering_vulkan": 2, "rendering_dx11": 2, "rendering_dx12": 2, "glfwwindow": 2, "sdlwindow": 2, "sdl_window": 2, "sdlglcontext": 2, "glcontext": 2, "sdl_glcontext": 2, "hasedrsupport": 2, "extend": [2, 4], "edr": 2, "abil": 2, "reproduc": 2, "intens": 2, "exceed": 2, "leverag": 2, "floatbuff": 2, "requestfloatbuff": 2, "request": 2, "framebuff": 2, "openglopt": 2, "risk": 2, "emb": [3, 4], "build": 3, "is_directori": 3, "cmake_current_source_dir": 3, "fetch": 3, "NOT": 3, "messag": 3, "fetchcont": 3, "fetchcontent_declar": 3, "git_repositori": 3, "git_tag": 3, "fetchcontent_makeavail": 3, "vcpkg": 3, "imgui": 3, "ii": 3, "hello_world_": 3, "hello_world": [3, 4], "add_execut": 3, "app_nam": 3, "file1": 3, "file2": 3, "Or": 3, "assets_loc": 3, "search": 3, "featur": 3, "glad": 3, "perform": [3, 4], "anyth": 3, "besid": 3, "app_set": 3, "gener": 3, "deploi": 3, "droidsan": 3, "ttf": 3, "webfont": 3, "applic": [3, 4], "png": 3, "squar": 3, "256x256": 3, "format": 3, "plist": 3, "resourc": 3, "storyboard": 3, "launchscreen": 3, "androidmanifest": 3, "xml": 3, "manifest": 3, "miss": 3, "re": 3, "mipmap": 3, "xxxhdpi": 3, "studio": 3, "click": 3, "imag": 3, "shell": 3, "favicon": 3, "program": [3, 4], "bye": 3, "action": 3, "globe": 3, "great": 3, "learn": 3, "multiplatform": 4, "flexibl": 4, "suit": 4, "complex": 4, "well": 4, "prototyp": 4, "creativ": 4, "util": 4, "seamlessli": 4, "window": 4, "setup": 4, "cmake": 4, "asset": 4, "effortless": 4, "univers": 4, "power": 4, "optim": 4, "dpi": 4, "ui": 4, "enhanc": 4, "autos": 4, "extens": 4, "emoji": 4, "integr": 4, "backend": 4, "minimum": 4, "7": 4, "6": 4, "hello_imgui_add_app": 4, "much": 4, "onlin": 4, "tutori": 4, "demonstr": 4, "fledg": 4, "node": 4, "imfiledialog": 4, "imguicolortextedit": 4, "imgui_md": 4, "complet": 4, "mit": 4, "omar": 4, "cornut": 4, "portion": 4, "govern": 4, "softwar": 4, "lunasvg": 4, "zlib": 4, "libpng": 4, "welcom": 4, "mainten": 4, "consider": 4, "effort": 4, "valuabl": 4, "commerci": 4, "enterpris": 4, "research": 4, "pleas": 4, "donat": 4, "thank": 4}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"build": 0, "instruct": 0, "hello": [0, 1, 4], "imgui": [0, 1, 2, 4], "its": 0, "demo": [0, 4], "your": [0, 1], "applic": [0, 1, 2], "us": [0, 1], "avail": 0, "backend": [0, 1, 2], "depend": 0, "get": [0, 1, 3], "via": 0, "vcpkg": 0, "manual": [0, 4], "cmake": [0, 3], "preset": 0, "option": [0, 2], "os": [0, 1], "specif": [0, 1], "window": [0, 1, 2], "io": 0, "emscripten": 0, "maco": 0, "android": 0, "api": 1, "run": 1, "while": 1, "handl": 1, "render": [1, 2], "loop": 1, "place": 1, "widget": 1, "dpi": [1, 2], "awar": [1, 2], "wai": 1, "load": 1, "font": 1, "asset": [1, 3], "data": 1, "buffer": 1, "path": 1, "displai": 1, "imag": 1, "from": 1, "util": [1, 3], "function": 1, "switch": 1, "between": 1, "sever": 1, "layout": [1, 4], "ini": 1, "set": 1, "locat": 1, "store": 1, "user": 1, "file": 1, "custom": [1, 3, 4], "menu": 1, "addit": 1, "inputtextresiz": 1, "widgetwithresizehandl": 1, "screen": 1, "high": 1, "coordin": 1, "displayframebufferscal": 1, "fontglobalscal": 1, "how": 1, "correct": 1, "size": 1, "helloimgui": 1, "recommend": 1, "dear": [1, 4], "reproduc": 1, "physic": 1, "mm": 1, "inch": 1, "own": 1, "code": 1, "creat": 1, "fine": 1, "tune": 1, "paramet": 2, "diagram": 2, "runnerparam": 2, "simpl": 2, "runner": 2, "param": 2, "full": 2, "select": 2, "callback": 2, "type": 2, "runnercallback": 2, "edg": 2, "toolbar": 2, "mobilecallback": 2, "appwindowparam": 2, "windowgeometri": 2, "imguiwindowparam": 2, "default": 2, "fp": 2, "idl": 2, "dock": 2, "exampl": 2, "usag": 2, "split": 2, "dockabl": 2, "pointer": 2, "start": 3, "starter": [3, 4], "templat": [3, 4], "hello_imgui_add_app": 3, "app": [3, 4], "immedi": 3, "gui": 3, "mode": 3, "featur": 4, "real": 4, "world": 4, "motto": 4, "advanc": 4, "3d": 4, "background": 4, "rpn": 4, "calcul": 4, "bundl": 4, "theme": 4, "tweak": 4, "about": 4, "credit": 4, "licens": 4, "contribut": 4, "support": 4, "project": 4}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx": 56}})
\ No newline at end of file