1 | //************************************ bs::framework - Copyright 2018 Marko Pintera **************************************// |
2 | //*********** Licensed under the MIT license. See LICENSE.md for full terms. This notice is not to be removed. ***********// |
3 | #pragma once |
4 | |
5 | #include "BsPrerequisites.h" |
6 | #include "Reflection/BsRTTIType.h" |
7 | #include "GUI/BsGUIElementStyle.h" |
8 | |
9 | namespace bs |
10 | { |
11 | /** @cond RTTI */ |
12 | /** @addtogroup RTTI-Impl-Engine |
13 | * @{ |
14 | */ |
15 | |
16 | class BS_EXPORT GUIElementStyleRTTI : public RTTIType <GUIElementStyle, IReflectable, GUIElementStyleRTTI> |
17 | { |
18 | private: |
19 | BS_BEGIN_RTTI_MEMBERS |
20 | BS_RTTI_MEMBER_REFL(font, 0) |
21 | BS_RTTI_MEMBER_PLAIN(fontSize, 1) |
22 | BS_RTTI_MEMBER_PLAIN(textHorzAlign, 2) |
23 | BS_RTTI_MEMBER_PLAIN(textVertAlign, 3) |
24 | BS_RTTI_MEMBER_PLAIN(imagePosition, 4) |
25 | BS_RTTI_MEMBER_PLAIN(wordWrap, 5) |
26 | |
27 | BS_RTTI_MEMBER_REFL_NAMED(normalTex, normal.texture, 6) |
28 | BS_RTTI_MEMBER_PLAIN_NAMED(normalTextColor, normal.textColor, 7) |
29 | BS_RTTI_MEMBER_REFL_NAMED(hoverTex, hover.texture, 8) |
30 | BS_RTTI_MEMBER_PLAIN_NAMED(hoverTextColor, hover.textColor, 9) |
31 | BS_RTTI_MEMBER_REFL_NAMED(activeTex, active.texture, 10) |
32 | BS_RTTI_MEMBER_PLAIN_NAMED(activeTextColor, active.textColor, 11) |
33 | BS_RTTI_MEMBER_REFL_NAMED(focusedTex, focused.texture, 12) |
34 | BS_RTTI_MEMBER_PLAIN_NAMED(focusedTextColor, focused.textColor, 13) |
35 | |
36 | BS_RTTI_MEMBER_REFL_NAMED(normalOnTex, normalOn.texture, 14) |
37 | BS_RTTI_MEMBER_PLAIN_NAMED(normalOnTextColor, normalOn.textColor, 15) |
38 | BS_RTTI_MEMBER_REFL_NAMED(hoverOnTex, hoverOn.texture, 16) |
39 | BS_RTTI_MEMBER_PLAIN_NAMED(hoverOnTextColor, hoverOn.textColor, 17) |
40 | BS_RTTI_MEMBER_REFL_NAMED(activeOnTex, activeOn.texture, 18) |
41 | BS_RTTI_MEMBER_PLAIN_NAMED(activeOnTextColor, activeOn.textColor, 19) |
42 | BS_RTTI_MEMBER_REFL_NAMED(focusedOnTex, focusedOn.texture, 20) |
43 | BS_RTTI_MEMBER_PLAIN_NAMED(focusedOnTextColor, focusedOn.textColor, 21) |
44 | |
45 | BS_RTTI_MEMBER_PLAIN(border, 22) |
46 | BS_RTTI_MEMBER_PLAIN(margins, 23) |
47 | BS_RTTI_MEMBER_PLAIN(contentOffset, 24) |
48 | BS_RTTI_MEMBER_PLAIN(padding, 25) |
49 | |
50 | BS_RTTI_MEMBER_PLAIN(width, 26) |
51 | BS_RTTI_MEMBER_PLAIN(height, 27) |
52 | BS_RTTI_MEMBER_PLAIN(minWidth, 28) |
53 | BS_RTTI_MEMBER_PLAIN(maxWidth, 29) |
54 | BS_RTTI_MEMBER_PLAIN(minHeight, 30) |
55 | BS_RTTI_MEMBER_PLAIN(maxHeight, 31) |
56 | BS_RTTI_MEMBER_PLAIN(fixedWidth, 32) |
57 | BS_RTTI_MEMBER_PLAIN(fixedHeight, 33) |
58 | |
59 | BS_RTTI_MEMBER_PLAIN(subStyles, 34) |
60 | |
61 | BS_RTTI_MEMBER_REFL_NAMED(focusedHoverTex, focusedHover.texture, 35) |
62 | BS_RTTI_MEMBER_PLAIN_NAMED(focusedHoverTextColor, focusedHover.textColor, 36) |
63 | BS_RTTI_MEMBER_REFL_NAMED(focusedHoverOnTex, focusedHoverOn.texture, 37) |
64 | BS_RTTI_MEMBER_PLAIN_NAMED(focusedHoverOnTextColor, focusedHoverOn.textColor, 38) |
65 | BS_END_RTTI_MEMBERS |
66 | |
67 | public: |
68 | const String& getRTTIName() override |
69 | { |
70 | static String name = "GUIElementStyle" ; |
71 | return name; |
72 | } |
73 | |
74 | UINT32 getRTTIId() override |
75 | { |
76 | return TID_GUIElementStyle; |
77 | } |
78 | |
79 | SPtr<IReflectable> newRTTIObject() override |
80 | { |
81 | return bs_shared_ptr_new<GUIElementStyle>(); |
82 | } |
83 | }; |
84 | |
85 | /** @} */ |
86 | /** @endcond */ |
87 | } |
88 | |