OROCHI
 
Loading...
Searching...
No Matches
GxGuiPropertyShape.h
Go to the documentation of this file.
1//===========================================================================
10//===========================================================================
11#pragma once
12
13#if GX_DEVELOP
14
15GX_CORE_NAMESPACE_BEGIN()
16
17class GxGuiColorEditButton;
18//===========================================================================
20//===========================================================================
21class GxGuiPropertyShape : public GxGuiPropertyClass
22{
23 //-----------------------------------------------------------
25 //-----------------------------------------------------------
27public:
28 GX_RTTI_CLASS(GxGuiPropertyShape, GxGuiPropertyClass)
29 // ClassBaseReference継承クラス用禁止宣言
30 GX_PROHIBIT_CLASS_BASE_REFERENCE(GxGuiPropertyShape)
31
32
33 //-----------------------------------------------------------
35 //-----------------------------------------------------------
37public:
39 GxGuiPropertyShape(void);
41 GxGuiPropertyShape(const GxProperty& property, GxTypedObject* pOwner, u32 index = 0 );
42
44 b32 initialize(void) override;
45
47 //-----------------------------------------------------------
49 //-----------------------------------------------------------
51public:
53 void onNoClientDraw( void ) override;
54
55protected:
58 void onAddGui(GxGuiBase* pGui) override;
59
61 GX_FORCE_INLINE void eventVisibleSolidOn(void) { _isVisibleSolid = true; }
62
64 GX_FORCE_INLINE void eventVisibleSolidOff(void) { _isVisibleSolid = false; }
65
67 GX_FORCE_INLINE void eventVisibleWireOn(void) { _isVisibleWire = true; }
68
70 GX_FORCE_INLINE void eventVisibleWireOff(void) { _isVisibleWire = false; }
71
73 //-----------------------------------------------------------
75 //-----------------------------------------------------------
77public:
79 GX_FORCE_INLINE b32 isVisibleWire(void) const { return _isVisibleWire; }
81 GX_FORCE_INLINE b32 isVisibleSolid(void) const { return _isVisibleSolid; }
82
84 GX_FORCE_INLINE void setParentMatrix( const GxMatrix44* pMatrix ){ _pParentMatrix44 = pMatrix; _pParentMatrixAffine = nullptr; }
86 GX_FORCE_INLINE void setParentMatrix( const GxMatrixAffine* pMatrix ){ _pParentMatrixAffine = pMatrix; _pParentMatrix44 = nullptr; }
87
89 //-----------------------------------------------------------
91 //-----------------------------------------------------------
93protected:
94 GxGuiColorEditButton* _pGuiColorEditButton;
95
96 b32 _isVisibleWire;
97 b32 _isVisibleSolid;
98
99 GxColor _color;
100
101 const GxMatrix44* _pParentMatrix44;
102 const GxMatrixAffine* _pParentMatrixAffine;
103
105};
106
107GX_CORE_NAMESPACE_END()
108
109#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 GxColor.h:21
4×4行列(行優先)
Definition GxMatrix.h:607
アフィン変換行列(行優先)
Definition GxMatrix.h:330
32bitブーリアン
Definition GxDefine.h:173