2#include "imgui_widgets/utils.h"
11 const entt::meta_custom& custom,
12 const char* fmt0 =
"Min:",
23 if(min_var && min_var.allow_cast<T>())
25 min = min_var.cast<T>();
30 if(max_var && max_var.allow_cast<T>())
32 max = max_var.cast<T>();
35 const auto formatted0 = fmt::format(
"{}{}", fmt0, ImGui::GetDataPrintFormat<T>());
36 const auto formatted1 = fmt::format(
"{}{}", fmt1, ImGui::GetDataPrintFormat<T>());
38 std::array<const char*, 2> formats = {{formatted0.c_str(), formatted1.c_str()}};
41 result.
changed = ImGui::DragMultiFormatScalarN(
"##",
42 ImGui::GetDataType<T>(),
49 ImGui::ActiveItemWrapMousePos();
51 result.edit_finished = ImGui::IsItemDeactivatedAfterEdit();
62 const entt::meta_custom& custom,
63 const char* fmt0 =
"Min:",
66 auto& data = var.cast<
size<T>&>();
74 if(min_var && min_var.allow_cast<T>())
76 min = min_var.cast<T>();
81 if(max_var && max_var.allow_cast<T>())
83 max = max_var.cast<T>();
86 const auto formatted0 = fmt::format(
"{}{}", fmt0, ImGui::GetDataPrintFormat<T>());
87 const auto formatted1 = fmt::format(
"{}{}", fmt1, ImGui::GetDataPrintFormat<T>());
89 std::array<const char*, 2> formats = {{formatted0.c_str(), formatted1.c_str()}};
92 result.
changed = ImGui::DragMultiFormatScalarN(
"##",
93 ImGui::GetDataType<T>(),
100 ImGui::ActiveItemWrapMousePos();
102 result.edit_finished = ImGui::IsItemDeactivatedAfterEdit();
auto get_attribute(const meta_custom &custom, const char *name) -> const meta_any &
auto inspect_size_scalar(rtti::context &ctx, entt::meta_any &var, const var_info &info, const entt::meta_custom &custom, const char *fmt0="Min:", const char *fmt1="Max:") -> inspect_result
auto inspect_range_scalar(rtti::context &ctx, entt::meta_any &var, const var_info &info, const entt::meta_custom &custom, const char *fmt0="Min:", const char *fmt1="Max:") -> inspect_result
Result of an inspection operation indicating what changes occurred.
bool changed
Whether the value was modified during inspection.
auto inspect(rtti::context &ctx, entt::meta_any &var, const meta_any_proxy &var_proxy, const var_info &info, const entt::meta_custom &custom) -> inspect_result override
auto inspect(rtti::context &ctx, entt::meta_any &var, const meta_any_proxy &var_proxy, const var_info &info, const entt::meta_custom &custom) -> inspect_result override
auto inspect(rtti::context &ctx, entt::meta_any &var, const meta_any_proxy &var_proxy, const var_info &info, const entt::meta_custom &custom) -> inspect_result override
auto inspect(rtti::context &ctx, entt::meta_any &var, const meta_any_proxy &var_proxy, const var_info &info, const entt::meta_custom &custom) -> inspect_result override
auto inspect(rtti::context &ctx, entt::meta_any &var, const meta_any_proxy &var_proxy, const var_info &info, const entt::meta_custom &custom) -> inspect_result override
auto inspect(rtti::context &ctx, entt::meta_any &var, const meta_any_proxy &var_proxy, const var_info &info, const entt::meta_custom &custom) -> inspect_result override
auto inspect(rtti::context &ctx, entt::meta_any &var, const meta_any_proxy &var_proxy, const var_info &info, const entt::meta_custom &custom) -> inspect_result override
auto inspect(rtti::context &ctx, entt::meta_any &var, const meta_any_proxy &var_proxy, const var_info &info, const entt::meta_custom &custom) -> inspect_result override
auto inspect(rtti::context &ctx, entt::meta_any &var, const meta_any_proxy &var_proxy, const var_info &info, const entt::meta_custom &custom) -> inspect_result override
auto inspect(rtti::context &ctx, entt::meta_any &var, const meta_any_proxy &var_proxy, const var_info &info, const entt::meta_custom &custom) -> inspect_result override
auto inspect(rtti::context &ctx, entt::meta_any &var, const meta_any_proxy &var_proxy, const var_info &info, const entt::meta_custom &custom) -> inspect_result override
auto inspect(rtti::context &ctx, entt::meta_any &var, const meta_any_proxy &var_proxy, const var_info &info, const entt::meta_custom &custom) -> inspect_result override
auto inspect(rtti::context &ctx, entt::meta_any &var, const meta_any_proxy &var_proxy, const var_info &info, const entt::meta_custom &custom) -> inspect_result override
auto inspect(rtti::context &ctx, entt::meta_any &var, const meta_any_proxy &var_proxy, const var_info &info, const entt::meta_custom &custom) -> inspect_result override
auto inspect(rtti::context &ctx, entt::meta_any &var, const meta_any_proxy &var_proxy, const var_info &info, const entt::meta_custom &custom) -> inspect_result override
auto inspect(rtti::context &ctx, entt::meta_any &var, const meta_any_proxy &var_proxy, const var_info &info, const entt::meta_custom &custom) -> inspect_result override
auto inspect(rtti::context &ctx, entt::meta_any &var, const meta_any_proxy &var_proxy, const var_info &info, const entt::meta_custom &custom) -> inspect_result override
auto inspect(rtti::context &ctx, entt::meta_any &var, const meta_any_proxy &var_proxy, const var_info &info, const entt::meta_custom &custom) -> inspect_result override
auto inspect(rtti::context &ctx, entt::meta_any &var, const meta_any_proxy &var_proxy, const var_info &info, const entt::meta_custom &custom) -> inspect_result override
auto inspect(rtti::context &ctx, entt::meta_any &var, const meta_any_proxy &var_proxy, const var_info &info, const entt::meta_custom &custom) -> inspect_result override
Metadata about a variable being inspected.