0.2.0
Loading...
Searching...
No Matches
imgui_ex.hpp
Go to the documentation of this file.
1// This file is part of INSTINCT, the INS Toolkit for Integrated
2// Navigation Concepts and Training by the Institute of Navigation of
3// the University of Stuttgart, Germany.
4//
5// This Source Code Form is subject to the terms of the Mozilla Public
6// License, v. 2.0. If a copy of the MPL was not distributed with this
7// file, You can obtain one at https://mozilla.org/MPL/2.0/.
8
13
14#pragma once
15
16#include <imgui.h>
17
18#include <limits>
19#include <string>
20#include <cstdint>
21
22namespace ImGui
23{
24// Widgets: Drag Sliders
25// - CTRL+Click on any drag box to turn them into an input box. Manually input values aren't clamped and can go off-bounds.
26// - For all the Float2/Float3/Float4/Int2/Int3/Int4 versions of every functions, note that a 'float v[X]' function
27// argument is the same as 'float* v', the array syntax is just a way to document the number of elements that are
28// expected to be accessible. You can pass address of your first element out of a contiguous set, e.g. &myvector.x
29// - Adjust format string to decorate the value with a prefix, a suffix, or adapt the editing and display precision
30// e.g. "%.3f" -> 1.234; "%5.2f secs" -> 01.23 secs; "Biscuit: %.0f" -> Biscuit: 1; etc.
31// - Format string may also be set to NULL or use the default format ("%f" or "%d").
32// - Speed are per-pixel of mouse movement (v_speed=0.2f: mouse needs to move by 5 pixels to increase value by 1).
33// For gamepad/keyboard navigation, minimum speed is Max(v_speed, minimum_step_at_given_precision).
34// - Use v_min < v_max to clamp edits to given limits. Note that CTRL+Click manual input can override those limits.
35// - Use v_max = FLT_MAX / INT_MAX etc to avoid clamping to a maximum, same with v_min = -FLT_MAX / INT_MIN to avoid clamping to a minimum.
36// - We use the same sets of flags for DragXXX() and SliderXXX() functions as the features are the same and it makes it easier to swap them.
37// - Legacy: Pre-1.78 there are DragXXX() function signatures that takes a final `float power=1.0f' argument instead of the `ImGuiSliderFlags flags=0' argument.
38// If you get a warning converting a float to ImGuiSliderFlags, read https://github.com/ocornut/imgui/issues/3361
39// - If v_min >= v_max we have no bound
40
50bool DragDouble(const char* label, double* v, float v_speed = 1.0F, double v_min = 0.0, double v_max = 0.0, const char* format = "%.6f", ImGuiSliderFlags flags = 0);
51
61bool DragDouble2(const char* label, double v[2], float v_speed = 1.0F, double v_min = 0.0, double v_max = 0.0, const char* format = "%.6f", ImGuiSliderFlags flags = 0); // NOLINT(hicpp-avoid-c-arrays,modernize-avoid-c-arrays,cppcoreguidelines-avoid-c-arrays)
62
72bool DragDouble3(const char* label, double v[3], float v_speed = 1.0F, double v_min = 0.0, double v_max = 0.0, const char* format = "%.6f", ImGuiSliderFlags flags = 0); // NOLINT(hicpp-avoid-c-arrays,modernize-avoid-c-arrays,cppcoreguidelines-avoid-c-arrays)
73
83bool DragDouble4(const char* label, double v[4], float v_speed = 1.0F, double v_min = 0.0, double v_max = 0.0, const char* format = "%.6f", ImGuiSliderFlags flags = 0); // NOLINT(hicpp-avoid-c-arrays,modernize-avoid-c-arrays,cppcoreguidelines-avoid-c-arrays)
84
85// #####################################################################################################################
86
96bool DragLong(const char* label, int64_t* v, float v_speed = 1.0F, int64_t v_min = 0.0, int64_t v_max = 0.0, const char* format = "%ld", ImGuiSliderFlags flags = 0);
97
107bool DragLong2(const char* label, int64_t v[2], float v_speed = 1.0F, int64_t v_min = 0.0, int64_t v_max = 0.0, const char* format = "%ld", ImGuiSliderFlags flags = 0); // NOLINT(hicpp-avoid-c-arrays,modernize-avoid-c-arrays,cppcoreguidelines-avoid-c-arrays)
108
118bool DragLong3(const char* label, int64_t v[3], float v_speed = 1.0F, int64_t v_min = 0.0, int64_t v_max = 0.0, const char* format = "%ld", ImGuiSliderFlags flags = 0); // NOLINT(hicpp-avoid-c-arrays,modernize-avoid-c-arrays,cppcoreguidelines-avoid-c-arrays)
119
129bool DragLong4(const char* label, int64_t v[4], float v_speed = 1.0F, int64_t v_min = 0.0, int64_t v_max = 0.0, const char* format = "%ld", ImGuiSliderFlags flags = 0); // NOLINT(hicpp-avoid-c-arrays,modernize-avoid-c-arrays,cppcoreguidelines-avoid-c-arrays)
130
131// #####################################################################################################################
132
142bool DragULong(const char* label, uint64_t* v, float v_speed = 1.0F, uint64_t v_min = 0.0, uint64_t v_max = 0.0, const char* format = "%lu", ImGuiSliderFlags flags = 0);
143
153bool DragULong2(const char* label, uint64_t v[2], float v_speed = 1.0F, uint64_t v_min = 0.0, uint64_t v_max = 0.0, const char* format = "%lu", ImGuiSliderFlags flags = 0); // NOLINT(hicpp-avoid-c-arrays,modernize-avoid-c-arrays,cppcoreguidelines-avoid-c-arrays)
154
164bool DragULong3(const char* label, uint64_t v[3], float v_speed = 1.0F, uint64_t v_min = 0.0, uint64_t v_max = 0.0, const char* format = "%lu", ImGuiSliderFlags flags = 0); // NOLINT(hicpp-avoid-c-arrays,modernize-avoid-c-arrays,cppcoreguidelines-avoid-c-arrays)
165
175bool DragULong4(const char* label, uint64_t v[4], float v_speed = 1.0F, uint64_t v_min = 0.0, uint64_t v_max = 0.0, const char* format = "%lu", ImGuiSliderFlags flags = 0); // NOLINT(hicpp-avoid-c-arrays,modernize-avoid-c-arrays,cppcoreguidelines-avoid-c-arrays)
176
177// #####################################################################################################################
178
179// Widgets: Regular Sliders
180// - CTRL+Click on any slider to turn them into an input box. Manually input values aren't clamped and can go off-bounds.
181// - Adjust format string to decorate the value with a prefix, a suffix, or adapt the editing and display precision e.g. "%.3f" -> 1.234; "%5.2f secs" -> 01.23 secs; "Biscuit: %.0f" -> Biscuit: 1; etc.
182// - Format string may also be set to NULL or use the default format ("%f" or "%d").
183// - Legacy: Pre-1.78 there are SliderXXX() function signatures that takes a final `float power=1.0f' argument instead of the `ImGuiSliderFlags flags=0' argument.
184// If you get a warning converting a float to ImGuiSliderFlags, read https://github.com/ocornut/imgui/issues/3361
185
194bool SliderDouble(const char* label, double* v, double v_min, double v_max, const char* format = "%.6f", ImGuiSliderFlags flags = 0);
195
204bool SliderDouble2(const char* label, double v[2], double v_min, double v_max, const char* format = "%.6f", ImGuiSliderFlags flags = 0); // NOLINT(hicpp-avoid-c-arrays,modernize-avoid-c-arrays,cppcoreguidelines-avoid-c-arrays)
205
214bool SliderDouble3(const char* label, double v[3], double v_min, double v_max, const char* format = "%.6f", ImGuiSliderFlags flags = 0); // NOLINT(hicpp-avoid-c-arrays,modernize-avoid-c-arrays,cppcoreguidelines-avoid-c-arrays)
215
224bool SliderDouble4(const char* label, double v[4], double v_min, double v_max, const char* format = "%.6f", ImGuiSliderFlags flags = 0); // NOLINT(hicpp-avoid-c-arrays,modernize-avoid-c-arrays,cppcoreguidelines-avoid-c-arrays)
225
226// #####################################################################################################################
227
236bool SliderLong(const char* label, int64_t* v, int64_t v_min, int64_t v_max, const char* format = "%ld", ImGuiSliderFlags flags = 0);
237
246bool SliderLong2(const char* label, int64_t v[2], int64_t v_min, int64_t v_max, const char* format = "%ld", ImGuiSliderFlags flags = 0); // NOLINT(hicpp-avoid-c-arrays,modernize-avoid-c-arrays,cppcoreguidelines-avoid-c-arrays)
247
256bool SliderLong3(const char* label, int64_t v[3], int64_t v_min, int64_t v_max, const char* format = "%ld", ImGuiSliderFlags flags = 0); // NOLINT(hicpp-avoid-c-arrays,modernize-avoid-c-arrays,cppcoreguidelines-avoid-c-arrays)
257
266bool SliderLong4(const char* label, int64_t v[4], int64_t v_min, int64_t v_max, const char* format = "%ld", ImGuiSliderFlags flags = 0); // NOLINT(hicpp-avoid-c-arrays,modernize-avoid-c-arrays,cppcoreguidelines-avoid-c-arrays)
267
268// #####################################################################################################################
269
278bool SliderULong(const char* label, uint64_t* v, uint64_t v_min, uint64_t v_max, const char* format = "%lu", ImGuiSliderFlags flags = 0);
279
288bool SliderULong2(const char* label, uint64_t v[2], uint64_t v_min, uint64_t v_max, const char* format = "%lu", ImGuiSliderFlags flags = 0); // NOLINT(hicpp-avoid-c-arrays,modernize-avoid-c-arrays,cppcoreguidelines-avoid-c-arrays)
289
298bool SliderULong3(const char* label, uint64_t v[3], uint64_t v_min, uint64_t v_max, const char* format = "%lu", ImGuiSliderFlags flags = 0); // NOLINT(hicpp-avoid-c-arrays,modernize-avoid-c-arrays,cppcoreguidelines-avoid-c-arrays)
299
308bool SliderULong4(const char* label, uint64_t v[4], uint64_t v_min, uint64_t v_max, const char* format = "%lu", ImGuiSliderFlags flags = 0); // NOLINT(hicpp-avoid-c-arrays,modernize-avoid-c-arrays,cppcoreguidelines-avoid-c-arrays)
309
310// #####################################################################################################################
311
320bool SliderUInt(const char* label, uint32_t* v, uint32_t v_min, uint32_t v_max, const char* format = "%lu", ImGuiSliderFlags flags = 0);
321
330bool SliderUInt2(const char* label, uint32_t v[2], uint32_t v_min, uint32_t v_max, const char* format = "%lu", ImGuiSliderFlags flags = 0); // NOLINT(hicpp-avoid-c-arrays,modernize-avoid-c-arrays,cppcoreguidelines-avoid-c-arrays)
331
340bool SliderUInt3(const char* label, uint32_t v[3], uint32_t v_min, uint32_t v_max, const char* format = "%lu", ImGuiSliderFlags flags = 0); // NOLINT(hicpp-avoid-c-arrays,modernize-avoid-c-arrays,cppcoreguidelines-avoid-c-arrays)
341
350bool SliderUInt4(const char* label, uint32_t v[4], uint32_t v_min, uint32_t v_max, const char* format = "%lu", ImGuiSliderFlags flags = 0); // NOLINT(hicpp-avoid-c-arrays,modernize-avoid-c-arrays,cppcoreguidelines-avoid-c-arrays)
351
352// #####################################################################################################################
353
354// Widgets: Input with Keyboard
355// - If you want to use InputText() with std::string or any custom dynamic string type, see misc/cpp/imgui_stdlib.h and comments in imgui_demo.cpp.
356// - Most of the ImGuiInputTextFlags flags are only useful for InputText() and not for InputFloatX, InputIntX, InputDouble etc.
357
364bool InputDouble2(const char* label, double v[2], const char* format = "%.6f", ImGuiInputTextFlags flags = 0); // NOLINT(hicpp-avoid-c-arrays,modernize-avoid-c-arrays,cppcoreguidelines-avoid-c-arrays)
365
372bool InputDouble3(const char* label, double v[3], const char* format = "%.6f", ImGuiInputTextFlags flags = 0); // NOLINT(hicpp-avoid-c-arrays,modernize-avoid-c-arrays,cppcoreguidelines-avoid-c-arrays)
373
380bool InputDouble4(const char* label, double v[4], const char* format = "%.6f", ImGuiInputTextFlags flags = 0); // NOLINT(hicpp-avoid-c-arrays,modernize-avoid-c-arrays,cppcoreguidelines-avoid-c-arrays)
381
382// ###########################################################################################################
383
394bool InputFloatL(const char* label, float* v, float v_min = std::numeric_limits<float>::lowest(), float v_max = std::numeric_limits<float>::max(), float step = 0.0F, float step_fast = 0.0F, const char* format = "%.3f", ImGuiInputTextFlags flags = 0);
395
404bool InputFloat2L(const char* label, float v[2], float v_min = std::numeric_limits<float>::lowest(), float v_max = std::numeric_limits<float>::max(), const char* format = "%.3f", ImGuiInputTextFlags flags = 0); // NOLINT(hicpp-avoid-c-arrays,modernize-avoid-c-arrays,cppcoreguidelines-avoid-c-arrays)
405
414bool InputFloat3L(const char* label, float v[3], float v_min = std::numeric_limits<float>::lowest(), float v_max = std::numeric_limits<float>::max(), const char* format = "%.3f", ImGuiInputTextFlags flags = 0); // NOLINT(hicpp-avoid-c-arrays,modernize-avoid-c-arrays,cppcoreguidelines-avoid-c-arrays)
415
424bool InputFloat4L(const char* label, float v[4], float v_min = std::numeric_limits<float>::lowest(), float v_max = std::numeric_limits<float>::max(), const char* format = "%.3f", ImGuiInputTextFlags flags = 0); // NOLINT(hicpp-avoid-c-arrays,modernize-avoid-c-arrays,cppcoreguidelines-avoid-c-arrays)
425
435bool InputIntL(const char* label, int* v, int v_min = std::numeric_limits<int>::lowest(), int v_max = std::numeric_limits<int>::max(), int step = 1, int step_fast = 100, ImGuiInputTextFlags flags = 0);
436
444bool InputInt2L(const char* label, int v[2], int v_min = std::numeric_limits<int>::lowest(), int v_max = std::numeric_limits<int>::max(), ImGuiInputTextFlags flags = 0); // NOLINT(hicpp-avoid-c-arrays,modernize-avoid-c-arrays,cppcoreguidelines-avoid-c-arrays)
445
453bool InputInt3L(const char* label, int v[3], int v_min = std::numeric_limits<int>::lowest(), int v_max = std::numeric_limits<int>::max(), ImGuiInputTextFlags flags = 0); // NOLINT(hicpp-avoid-c-arrays,modernize-avoid-c-arrays,cppcoreguidelines-avoid-c-arrays)
454
462bool InputInt4L(const char* label, int v[4], int v_min = std::numeric_limits<int>::lowest(), int v_max = std::numeric_limits<int>::max(), ImGuiInputTextFlags flags = 0); // NOLINT(hicpp-avoid-c-arrays,modernize-avoid-c-arrays,cppcoreguidelines-avoid-c-arrays)
463
474bool InputDoubleL(const char* label, double* v, double v_min = std::numeric_limits<double>::lowest(), double v_max = std::numeric_limits<double>::max(), double step = 0.0, double step_fast = 0.0, const char* format = "%.6f", ImGuiInputTextFlags flags = 0);
475
484bool InputDouble2L(const char* label, double v[2], double v_min = std::numeric_limits<double>::lowest(), double v_max = std::numeric_limits<double>::max(), const char* format = "%.3f", ImGuiInputTextFlags flags = 0); // NOLINT(hicpp-avoid-c-arrays,modernize-avoid-c-arrays,cppcoreguidelines-avoid-c-arrays)
485
494bool InputDouble3L(const char* label, double v[3], double v_min = std::numeric_limits<double>::lowest(), double v_max = std::numeric_limits<double>::max(), const char* format = "%.3f", ImGuiInputTextFlags flags = 0); // NOLINT(hicpp-avoid-c-arrays,modernize-avoid-c-arrays,cppcoreguidelines-avoid-c-arrays)
495
504bool InputDouble4L(const char* label, double v[4], double v_min = std::numeric_limits<double>::lowest(), double v_max = std::numeric_limits<double>::max(), const char* format = "%.3f", ImGuiInputTextFlags flags = 0); // NOLINT(hicpp-avoid-c-arrays,modernize-avoid-c-arrays,cppcoreguidelines-avoid-c-arrays)
505
512bool InputTextL(const char* label, std::string* str, size_t limit, ImGuiInputTextFlags flags = 0);
513
514} // namespace ImGui
515
520bool operator==(const ImVec4& lhs, const ImVec4& rhs);
521
526bool operator!=(const ImVec4& lhs, const ImVec4& rhs);
bool InputFloat3L(const char *label, float v[3], float v_min=std::numeric_limits< float >::lowest(), float v_max=std::numeric_limits< float >::max(), const char *format="%.3f", ImGuiInputTextFlags flags=0)
Shows a value limited InputText GUI element for an array of 'float[3]'.
bool DragLong2(const char *label, int64_t v[2], float v_speed=1.0F, int64_t v_min=0.0, int64_t v_max=0.0, const char *format="%ld", ImGuiSliderFlags flags=0)
Shows a Drag GUI element for an array of 'int64[2]'.
bool SliderLong3(const char *label, int64_t v[3], int64_t v_min, int64_t v_max, const char *format="%ld", ImGuiSliderFlags flags=0)
Shows a Slider GUI element for an array of 'int64[3]'.
bool DragULong3(const char *label, uint64_t v[3], float v_speed=1.0F, uint64_t v_min=0.0, uint64_t v_max=0.0, const char *format="%lu", ImGuiSliderFlags flags=0)
Shows a Drag GUI element for an array of 'uint64[3]'.
bool SliderUInt4(const char *label, uint32_t v[4], uint32_t v_min, uint32_t v_max, const char *format="%lu", ImGuiSliderFlags flags=0)
Shows a Slider GUI element for an array of 'uint32[4]'.
bool SliderDouble4(const char *label, double v[4], double v_min, double v_max, const char *format="%.6f", ImGuiSliderFlags flags=0)
Shows a Slider GUI element for an array of 'double[4]'.
bool InputTextL(const char *label, std::string *str, size_t limit, ImGuiInputTextFlags flags=0)
Shows a InputText GUI element with limited amount of characters.
bool SliderLong2(const char *label, int64_t v[2], int64_t v_min, int64_t v_max, const char *format="%ld", ImGuiSliderFlags flags=0)
Shows a Slider GUI element for an array of 'int64[2]'.
bool SliderDouble3(const char *label, double v[3], double v_min, double v_max, const char *format="%.6f", ImGuiSliderFlags flags=0)
Shows a Slider GUI element for an array of 'double[3]'.
bool InputIntL(const char *label, int *v, int v_min=std::numeric_limits< int >::lowest(), int v_max=std::numeric_limits< int >::max(), int step=1, int step_fast=100, ImGuiInputTextFlags flags=0)
Shows a value limited InputText GUI element for 'int'.
bool InputDouble4(const char *label, double v[4], const char *format="%.6f", ImGuiInputTextFlags flags=0)
Shows an InputText GUI element for an array of 'double[4]'.
bool DragLong3(const char *label, int64_t v[3], float v_speed=1.0F, int64_t v_min=0.0, int64_t v_max=0.0, const char *format="%ld", ImGuiSliderFlags flags=0)
Shows a Drag GUI element for an array of 'int64[3]'.
bool InputFloat2L(const char *label, float v[2], float v_min=std::numeric_limits< float >::lowest(), float v_max=std::numeric_limits< float >::max(), const char *format="%.3f", ImGuiInputTextFlags flags=0)
Shows a value limited InputText GUI element for an array of 'float[2]'.
bool SliderULong4(const char *label, uint64_t v[4], uint64_t v_min, uint64_t v_max, const char *format="%lu", ImGuiSliderFlags flags=0)
Shows a Slider GUI element for an array of 'uint64[4]'.
bool InputInt2L(const char *label, int v[2], int v_min=std::numeric_limits< int >::lowest(), int v_max=std::numeric_limits< int >::max(), ImGuiInputTextFlags flags=0)
Shows a value limited InputText GUI element for an array of 'int[2]'.
bool SliderLong4(const char *label, int64_t v[4], int64_t v_min, int64_t v_max, const char *format="%ld", ImGuiSliderFlags flags=0)
Shows a Slider GUI element for an array of 'int64[4]'.
bool DragDouble4(const char *label, double v[4], float v_speed=1.0F, double v_min=0.0, double v_max=0.0, const char *format="%.6f", ImGuiSliderFlags flags=0)
Shows a Drag GUI element for an array of 'double[4]'.
bool DragLong4(const char *label, int64_t v[4], float v_speed=1.0F, int64_t v_min=0.0, int64_t v_max=0.0, const char *format="%ld", ImGuiSliderFlags flags=0)
Shows a Drag GUI element for an array of 'int64[4]'.
bool InputDouble4L(const char *label, double v[4], double v_min=std::numeric_limits< double >::lowest(), double v_max=std::numeric_limits< double >::max(), const char *format="%.3f", ImGuiInputTextFlags flags=0)
Shows a value limited InputText GUI element for an array of 'double[4]'.
bool InputInt3L(const char *label, int v[3], int v_min=std::numeric_limits< int >::lowest(), int v_max=std::numeric_limits< int >::max(), ImGuiInputTextFlags flags=0)
Shows a value limited InputText GUI element for an array of 'int[3]'.
bool DragULong2(const char *label, uint64_t v[2], float v_speed=1.0F, uint64_t v_min=0.0, uint64_t v_max=0.0, const char *format="%lu", ImGuiSliderFlags flags=0)
Shows a Drag GUI element for an array of 'uint64[2]'.
bool SliderUInt(const char *label, uint32_t *v, uint32_t v_min, uint32_t v_max, const char *format="%lu", ImGuiSliderFlags flags=0)
Shows a Slider GUI element for 'uint32'.
bool DragDouble2(const char *label, double v[2], float v_speed=1.0F, double v_min=0.0, double v_max=0.0, const char *format="%.6f", ImGuiSliderFlags flags=0)
Shows a Drag GUI element for an array of 'double[2]'.
bool InputDouble3L(const char *label, double v[3], double v_min=std::numeric_limits< double >::lowest(), double v_max=std::numeric_limits< double >::max(), const char *format="%.3f", ImGuiInputTextFlags flags=0)
Shows a value limited InputText GUI element for an array of 'double[3]'.
bool InputFloat4L(const char *label, float v[4], float v_min=std::numeric_limits< float >::lowest(), float v_max=std::numeric_limits< float >::max(), const char *format="%.3f", ImGuiInputTextFlags flags=0)
Shows a value limited InputText GUI element for an array of 'float[4]'.
bool InputInt4L(const char *label, int v[4], int v_min=std::numeric_limits< int >::lowest(), int v_max=std::numeric_limits< int >::max(), ImGuiInputTextFlags flags=0)
Shows a value limited InputText GUI element for an array of 'int[4]'.
bool DragDouble(const char *label, double *v, float v_speed=1.0F, double v_min=0.0, double v_max=0.0, const char *format="%.6f", ImGuiSliderFlags flags=0)
Shows a Drag GUI element for 'double'.
bool DragULong4(const char *label, uint64_t v[4], float v_speed=1.0F, uint64_t v_min=0.0, uint64_t v_max=0.0, const char *format="%lu", ImGuiSliderFlags flags=0)
Shows a Drag GUI element for an array of 'uint64[4]'.
bool DragULong(const char *label, uint64_t *v, float v_speed=1.0F, uint64_t v_min=0.0, uint64_t v_max=0.0, const char *format="%lu", ImGuiSliderFlags flags=0)
Shows a Drag GUI element for 'uint64'.
bool InputFloatL(const char *label, float *v, float v_min=std::numeric_limits< float >::lowest(), float v_max=std::numeric_limits< float >::max(), float step=0.0F, float step_fast=0.0F, const char *format="%.3f", ImGuiInputTextFlags flags=0)
Shows a value limited InputText GUI element for 'float'.
bool InputDouble2(const char *label, double v[2], const char *format="%.6f", ImGuiInputTextFlags flags=0)
Shows an InputText GUI element for an array of 'double[2]'.
bool DragDouble3(const char *label, double v[3], float v_speed=1.0F, double v_min=0.0, double v_max=0.0, const char *format="%.6f", ImGuiSliderFlags flags=0)
Shows a Drag GUI element for an array of 'double[3]'.
bool SliderULong(const char *label, uint64_t *v, uint64_t v_min, uint64_t v_max, const char *format="%lu", ImGuiSliderFlags flags=0)
Shows a Slider GUI element for 'uint64'.
bool InputDouble3(const char *label, double v[3], const char *format="%.6f", ImGuiInputTextFlags flags=0)
Shows an InputText GUI element for an array of 'double[3]'.
bool SliderLong(const char *label, int64_t *v, int64_t v_min, int64_t v_max, const char *format="%ld", ImGuiSliderFlags flags=0)
Shows a Slider GUI element for 'int64'.
bool SliderUInt2(const char *label, uint32_t v[2], uint32_t v_min, uint32_t v_max, const char *format="%lu", ImGuiSliderFlags flags=0)
Shows a Slider GUI element for an array of 'uint32[2]'.
bool SliderDouble2(const char *label, double v[2], double v_min, double v_max, const char *format="%.6f", ImGuiSliderFlags flags=0)
Shows a Slider GUI element for an array of 'double[2]'.
bool DragLong(const char *label, int64_t *v, float v_speed=1.0F, int64_t v_min=0.0, int64_t v_max=0.0, const char *format="%ld", ImGuiSliderFlags flags=0)
Shows a Drag GUI element for 'int64'.
bool SliderUInt3(const char *label, uint32_t v[3], uint32_t v_min, uint32_t v_max, const char *format="%lu", ImGuiSliderFlags flags=0)
Shows a Slider GUI element for an array of 'uint32[3]'.
bool operator==(const ImVec4 &lhs, const ImVec4 &rhs)
Equal comparison operator.
bool SliderULong3(const char *label, uint64_t v[3], uint64_t v_min, uint64_t v_max, const char *format="%lu", ImGuiSliderFlags flags=0)
Shows a Slider GUI element for an array of 'uint64[3]'.
bool InputDoubleL(const char *label, double *v, double v_min=std::numeric_limits< double >::lowest(), double v_max=std::numeric_limits< double >::max(), double step=0.0, double step_fast=0.0, const char *format="%.6f", ImGuiInputTextFlags flags=0)
Shows a value limited InputText GUI element for 'double'.
bool operator!=(const ImVec4 &lhs, const ImVec4 &rhs)
Unequal comparison operator.
bool InputDouble2L(const char *label, double v[2], double v_min=std::numeric_limits< double >::lowest(), double v_max=std::numeric_limits< double >::max(), const char *format="%.3f", ImGuiInputTextFlags flags=0)
Shows a value limited InputText GUI element for an array of 'double[2]'.
bool SliderDouble(const char *label, double *v, double v_min, double v_max, const char *format="%.6f", ImGuiSliderFlags flags=0)
Shows a Slider GUI element for 'double'.
bool SliderULong2(const char *label, uint64_t v[2], uint64_t v_min, uint64_t v_max, const char *format="%lu", ImGuiSliderFlags flags=0)
Shows a Slider GUI element for an array of 'uint64[2]'.