16GX_UTILITY_NAMESPACE_BEGIN()
43 static constexpr u32 MARGIN_TOP = 4;
45 static constexpr u32 MARGIN_BOTTOM = 4;
48 static constexpr u32 MARGIN_LEFT = 4;
50 static constexpr u32 MARGIN_RIGHT = 4;
52 static constexpr u32 NAME_MARGIN_LEFT = 20;
54 static constexpr u32 NAME_MARGIN_RIGHT = 10;
57 static constexpr u32 VALUE_MARGIN_LEFT = 20;
59 static constexpr u32 VALUE_MARGIN_RIGHT = 20;
91 void developRenderCallback(
const GxPoint2* pOffset,
const GxSize* pResolution);
94 void onSetChild(
void);
96 void onDeleteChild(
void);
108 void goNextMenu(
void);
111 void goPreviousMenu(
void);
121 constexpr void setChild(GxDebugMenu* pChild) { _pChild = pChild;
if (_pChild)onSetChild(); }
124 GX_FORCE_INLINE
void deleteChild(
void) {
if (_pChild) onDeleteChild(); GX_SAFE_DELETE(_pChild); }
130 GxUseEnumInfo* getUseEnumArrayFromProperty(u32 targetPropertyIndex);
144 GX_FORCE_INLINE
void setPosition(
const GxPoint2& position ){ _position = position; }
148 constexpr void setType( TYPE type ){ _type = type; }
151 constexpr TYPE getType(
void )
const {
return _type; }
155 GX_FORCE_INLINE
void setMenuColor(
const GxColor& color ){ _menuColor = color; }
159 GX_FORCE_INLINE
void setMenuGreyOutColor(
const GxColor& color ){ _menuGreyOutColor = color; }
163 GX_FORCE_INLINE
void setBackColor(
const GxColor& color ){ _backColor = color; }
167 GX_FORCE_INLINE
void setBackFrameColor(
const GxColor& color ){ _backFrameColor = color; }
170 void setControl(
b32 control );
173 GX_FORCE_INLINE
void setUsePadControl(
b32 use ){ _usePadControl = use; }
176 GX_FORCE_INLINE
void setUseKeyboardControl(
b32 use ){ _useKeyboardControl = use; }
180 GX_FORCE_INLINE
virtual void setParent( GxDebugMenu* pParent ){ _pParent = pParent; }
183 void setEnumTableToDispProperty( u32 targetIndex,
const GX_ENUM* pEnumArray, u32 enumNum );
188 GX_FORCE_INLINE
void setVisible(
b32 visible ){ _visible = visible; }
191 void setActive(
b32 active );
205 b32 _useKeyboardControl;
220 GxDebugMenu* _pParent;
221 GxDebugMenu* _pChild;
236class GxDebugMenu::GxUseEnumInfo :
public GxClassBase
243 GX_RTTI_CLASS( GxDebugMenu::GxUseEnumInfo,
GxClassBase )
252 GxUseEnumInfo(
void ) : _targetPropertyIndex(0), _pUseEnumArray(nullptr), _useEnumArrayNum(0){}
255 GxUseEnumInfo( u32 targetPropertyIndex,
const GX_ENUM* pUseEnumArray, u32 useEnumArrayNum );
258 ~GxUseEnumInfo(
void )
override {}
267 constexpr u32 getTargetPropertyIndex(
void )
const {
return _targetPropertyIndex; }
270 GX_FORCE_INLINE
const GX_ENUM* getUseEnumArray(
void )
const {
return _pUseEnumArray; }
273 constexpr u32 getUseEnumArrayNum(
void )
const {
return _useEnumArrayNum; }
276 GX_CSTR getDisplayString( s32 value )
const;
279 s32 getNextValue( s32 value,
b32 isLoop,s32 addValue=1 )
const;
282 GX_FORCE_INLINE s32 getPreviousValue( s32 value,
b32 isLoop )
const {
return getNextValue(value, isLoop, -1); }
290 u32 _targetPropertyIndex;
292 u32 _useEnumArrayNum;
297GX_UTILITY_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE(__CLASS__)
GxClassBase継承の禁止宣言
Definition GxBase.h:240
配列クラス
Definition GxArrayClassBase.h:18
オブジェクト基底クラス
Definition GxBase.h:88
基底クラス
Definition GxBase.h:51
static constexpr u32 VALUE_512
512
Definition GxMath.h:128
プロパティクラス
Definition GxProperty.h:48
プロパティテーブルクラス
Definition GxProperty.h:1641
GUI用
Definition GxDefine.h:194
座標
Definition GxStruct.h:867
サイズ
Definition GxStruct.h:730
32bitブーリアン
Definition GxDefine.h:173