OROCHI
 
Loading...
Searching...
No Matches
GxGuiPropertyByte.h
Go to the documentation of this file.
1//===========================================================================
9//===========================================================================
10#pragma once
11
12#if GX_DEVELOP
13
14GX_CORE_NAMESPACE_BEGIN()
15class GxGuiPropertyParameter;
16//===========================================================================
18//===========================================================================
19class GxGuiPropertyByte : public GxGuiProperty
20{
21 //-----------------------------------------------------------
23 //-----------------------------------------------------------
25public:
26 GX_RTTI_CLASS(GxGuiPropertyByte, GxGuiProperty)
27 // ClassBaseReference継承クラス用禁止宣言
28 GX_PROHIBIT_CLASS_BASE_REFERENCE(GxGuiPropertyByte)
29
30
31 static constexpr u32 ENUM_PROPERTY_WIDTH = 60;
32
34 //-----------------------------------------------------------
36 //-----------------------------------------------------------
38public:
40 GxGuiPropertyByte( void );
42 GxGuiPropertyByte( const GxProperty& property, GxTypedObject* pOwner, const GxRtti& rtti, u32 index = 0 );
43
45 b32 initialize( void ) override;
46
48 //-----------------------------------------------------------
50 //-----------------------------------------------------------
52public:
54 void setMinMax( u64 min, u64 max );
55
56protected:
58 void onSize( const GxSize& size ) override;
59
61 void setPropertyByteValue( const void* const pValue );
63 void getPropertyByteValue( void* const pValue );
65 void setPropertyByteUnit( const void* const pValue );
67 void getPropertyByteUnit( void* const pValue );
68
69private:
71 template<class T> void setValue( T* pValue, T valueMax );
73 template<class T> void calculationOffsetValue( T* pValue, T* pOffsetValue, T valueMax );
75 template<class T> void calculationInitializeValue( T* pBaseValue, T* pValue );
77 template<class T> void calculationInputValue( T* pValue );
78
80 //-----------------------------------------------------------
82 //-----------------------------------------------------------
84public:
86 GxSize getUseRegionSize( void ) const override;
87
89 b32 isDefaultValue( void ) override;
91 void setDefaultValue( void ) override;
92
94 //-----------------------------------------------------------
96 //-----------------------------------------------------------
98protected:
99 u32 _currentPropertyValueU32;
100 u32 _baseInputValueU32;
101 u32 _inputValueU32;
102 u64 _currentPropertyValueU64;
103 u64 _baseInputValueU64;
104 u64 _inputValueU64;
105
106 GxGuiPropertyParameter* _pGuiParameter;
107
108 u32 _baseSelectEnumIndex;
109 u32 _selectEnumIndex;
110
111 GxGuiPropertyComboBoxEnum* _pGuiEnum;
112
114};
115
116GX_CORE_NAMESPACE_END()
117
118#endif // GX_DEVELOP
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
void GxTypedObject
その他
Definition GxDefine.h:213
プロパティクラス
Definition GxProperty.h:48
実行時型情報クラス
Definition GxRtti.h:154
サイズ
Definition GxStruct.h:730
32bitブーリアン
Definition GxDefine.h:173