3 #include "Mountain/core.hpp" 7 #include <ImGui/imgui.h> 11 namespace Mountain::ImGuiUtils
13 MOUNTAIN_API
void GridPlotting(std::string_view label,
Vector2* value, float_t min = -1.f, float_t max = 1.f);
15 MOUNTAIN_API
void DirectionVector(std::string_view label,
Vector2* value);
17 MOUNTAIN_API
void DirectionVector(std::string_view label,
Vector2* value,
Vector2 expected);
21 std::optional<T>* value,
22 const std::type_identity_t<T>& defaultValue,
23 std::type_identity_t<T> nullValue,
24 const std::type_identity_t<std::function<bool_t(
T& value)>>& displayFunction
27 MOUNTAIN_API
bool ComboEaser(
const std::string& label, Easing::Easer* v, ImGuiComboFlags flags = ImGuiComboFlags_None);
29 MOUNTAIN_API
void ShowInputsWindow();
31 MOUNTAIN_API
void ShowFileManager();
33 MOUNTAIN_API
void ShowResourceManager();
35 MOUNTAIN_API
void PushSeparatorText(
const char_t* label);
37 MOUNTAIN_API
void PopSeparatorText();
39 MOUNTAIN_API bool_t PushCollapsingHeader(
const char_t* label, ImGuiTreeNodeFlags flags = ImGuiTreeNodeFlags_None);
41 MOUNTAIN_API
void PopCollapsingHeader();
45 MOUNTAIN_API
void SetNextItemWidthAvail();
47 MOUNTAIN_API
void ShowPerformanceMonitoring();
53 MOUNTAIN_API
bool DragAngle(
57 float v_degrees_min = -360,
58 float v_degrees_max = +360,
59 const char* format =
"%.3f",
60 ImGuiSliderFlags flags = 0
63 template <Mountain::Concepts::EnumT T>
64 bool ComboEnum(
const char* label,
T* v, ImGuiComboFlags flags = ImGuiComboFlags_None);
68 #include "Mountain/utils/imgui_utils.inl" Defines general utility functions.