OROCHI
 
Loading...
Searching...
No Matches
GxGuiPropertyPosition3.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 GxGuiButtonHandle;
18//===========================================================================
20//===========================================================================
21class GxGuiPropertyPosition3 : public GxGuiPropertyClass
22{
23 //-----------------------------------------------------------
25 //-----------------------------------------------------------
27public:
28 GX_RTTI_CLASS(GxGuiPropertyPosition3, GxGuiPropertyClass)
29 // ClassBaseReference継承クラス用禁止宣言
30 GX_PROHIBIT_CLASS_BASE_REFERENCE(GxGuiPropertyPosition3)
31
32
33 enum class CONTROL
34 {
35 NONE = 0,
36 X,
37 Y,
38 Z,
39 ALL
40 };
41
43 //-----------------------------------------------------------
45 //-----------------------------------------------------------
47public:
49 GxGuiPropertyPosition3(void);
51 GxGuiPropertyPosition3(const GxProperty& property, GxTypedObject* pOwner, u32 index = 0 );
52
54 //-----------------------------------------------------------
56 //-----------------------------------------------------------
58public:
60 b32 initialize( void ) override;
61
63 void update( void ) override;
64
65protected:
67 s32 mousePositionToWorldPositionFunction(void* pSource, void* pArgument);
68
70 //-----------------------------------------------------------
72 //-----------------------------------------------------------
74public:
76 constexpr GxGuiButtonHandle* getGuiButtonHandle( void ) const { return _pGuiButtonHandle; }
77
79 void setParentMatrix( const GxMatrix44* pMatrix );
81 void setParentMatrix( const GxMatrixAffine* pMatrix );
83 void setParentMatrix(const GxProperty& property, GxTypedObject* pOwner, u32 index = 0);
84
87 GX_FORCE_INLINE void setMousePositionToWorldPositionFunction( GxCallback::GxHandlerBase handle ){ _mousePositionToWorldPositionFunction = handle; }
88
90 //-----------------------------------------------------------
92 //-----------------------------------------------------------
94protected:
95 GxGuiButtonHandle* _pGuiButtonHandle;
96
97 GxProperty _parentMatrixProperty;
98 GxTypedObject* _pParentMatrixOwner;
99 u32 _parentMatrixIndex;
100
101 CONTROL _controlMode;
102 GxGuiBase* _pControlGui;
103
104 GxCallback::GxHandlerBase _mousePositionToWorldPositionFunction;
105
107};
108
109GX_CORE_NAMESPACE_END()
110
111#endif // GX_DEVELOP
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
void GxTypedObject
その他
Definition GxDefine.h:213
@ NONE
何もしない
@ X
X.
@ Z
Z.
@ Y
Y.
ハンドラ基本クラス
Definition GxCallback.h:27
プロパティクラス
Definition GxProperty.h:48
4×4行列(行優先)
Definition GxMatrix.h:607
アフィン変換行列(行優先)
Definition GxMatrix.h:330
32bitブーリアン
Definition GxDefine.h:173