Sound Bakery  v0.1.0
Open-source audio middleware for games
Loading...
Searching...
No Matches
PropertyDrawer.h
1#pragma once
2
3#include <rttr/type>
4
5// Draws RTTR properties to ImGui
6class PropertyDrawer final
7{
8public:
9 static void DrawObject(rttr::type type, rttr::instance instance);
10
11 static bool DrawProperty(rttr::property property, rttr::instance instance);
12
13 static bool DrawVariant(rttr::variant& variant,
14 rttr::string_view name,
15 rttr::variant minMax = rttr::variant());
16 static void DrawReadonlyVariant(rttr::variant variant,
17 bool disabled = true);
18
19public:
20 static bool DrawFloat(float& value,
21 rttr::string_view name,
22 std::pair<float, float>& minMax);
23 static bool DrawInt(int& value,
24 rttr::string_view name,
25 std::pair<int, int>& minMax);
26 static bool DrawBool(bool& value, rttr::string_view name);
27
28 static bool DrawMemberObject(rttr::variant& value, rttr::string_view name);
29
30 static bool DrawSequentialContainer(rttr::variant_sequential_view& view,
31 rttr::string_view name);
32 static bool DrawAssociateContainer(rttr::variant_associative_view& view,
33 rttr::string_view name);
34
35private:
36 static bool DrawPayloadDrop(rttr::variant& value,
37 const rttr::variant& payloadString);
38 static bool DrawPayloadDrop(rttr::property property,
39 rttr::instance object,
40 const rttr::variant& payloadString);
41};
Definition PropertyDrawer.h:7
static bool DrawAssociateContainer(rttr::variant_associative_view &view, rttr::string_view name)
Definition PropertyDrawer.cpp:466