15GX_UTILITY_NAMESPACE_BEGIN()
20class GxToolRealTimeDemo : public GxToolResourceEditBase
51 GX_CSTR _propertyName;
64 GxToolRealTimeDemo(
void);
66 ~GxToolRealTimeDemo(
void)
override;
112 void update(
void)
override;
114 virtual void updatePropForm(
void);
116 void reloadSelectKey(
void);
119 GX_FORCE_INLINE
void createUnit(
void){ _pRealTimeDemoUnit->createUnit(); }
129 virtual GxGuiFormProperty* createGuiPropertyForm(
void);
131 virtual GxUnitListUI* createGuiUnitList(
void);
133 virtual GxGuiKeyFrame* createGuiKeyFrame(
void);
136 void getPropertyIsRecreateUnit (
const void* pValue);
138 void setPropertyIsRecreateUnit (
const void* pValue);
141 void getPropertyIsFrameSkip (
const void* pValue);
143 void setPropertyIsFrameSkip (
const void* pValue);
145 void getPropertyIsEnableMidFrameStart(
const void* pValue);
147 void setPropertyIsEnableMidFrameStart(
const void* pValue);
149 void getPropertyMidFramePosition (
const void* pValue);
151 void setPropertyMidFramePosition (
const void* pValue);
153 void getPropertySkipNotification (
const void* pValue);
155 void setPropertySkipNotification (
const void* pValue);
159 void initializeSub(
void);
178 void setResource(
GxResBase* pResource)
override;
180 void getValue(
void*
const pValue );
182 void setValue(
const void*
const pValue );
184 constexpr u32 getSelectedUnitNodeId(
void)
const {
return _selectedUnitNodeId; }
186 constexpr u32 getSelectedPropertyNodeId(
void)
const {
return _selectedPropertyNodeId; }
188 constexpr GxUnitRealTimeDemo* getRealTimeDemoUnit(
void)
const {
return _pRealTimeDemoUnit; }
190 constexpr u32 getEditResIndex(
void)
const {
return _editResIndex; }
193 GX_FORCE_INLINE
b32 isMoveParam(
void)
const {
return _moveParamMode; }
195 GX_FORCE_INLINE
void setMoveParam(
b32 mode){ _moveParamMode = mode; }
197 void addMoveProperty(u32 unitid, u32 propertyid, u32 RowNumber);
199 GxMoveParamProp* getMoveProperty(u32 index);
201 constexpr u32 getMovePropertyCount(
void)
const {
return _moveParam.getCount(); }
203 void deleteMoveProperty(
void);
208 virtual void deleteUnit(u32 UnitNodeId);
210 GX_FORCE_INLINE
virtual GxRtti& getRtdUnitType(
void)
const {
return GxResRealTimeDemo::GxRtdUnit::GX_RTTI; }
215 virtual void deleteProperty(u32 propertyNodeId);
217 GX_FORCE_INLINE
virtual GxRtti& getRtdPropertyType(
void)
const {
return GxResRealTimeDemo::GxRtdProp::GX_RTTI; }
222 virtual void deleteKey(u32 propertyNodeId, u32 frame);
224 GX_FORCE_INLINE
virtual GxRtti& getRtdKeyType(
void)
const {
return GxResRealTimeDemo::GxRtdKeyBase::GX_RTTI; }
229 GX_FORCE_INLINE
b32 isNotReady(
void)
const {
return ( (getResource() ==
nullptr) || (_pRealTimeDemoUnit ==
nullptr) ); }
231 u32 getNowCursorFrame(
void)
const;
234 constexpr s32 getMidFrameGuiHeight(
void)
const {
return _midFrameGuiHeight; }
237 GX_FORCE_INLINE
GxSize getDefaultWindowSize(
void)
const override {
return GxSize(720, 240); }
241 constexpr GxGuiFormProperty* getGuiPropertyForm(
void)
const {
return _pPropertyForm; }
243 constexpr GxUnitListUI* getGuiUnitList(
void)
const {
return _pUnitListUI; }
245 constexpr GxGuiKeyFrame* getGuiKeyFrame(
void)
const {
return _pKeyFrameUI; }
247 void setSelectUnit(u32 unitNodeId);
249 void setSelectProp(u32 propertyNodeId);
251 GX_FORCE_INLINE
virtual GxRtti* getRealTimeDemoUnitRtti(
void)
const {
return &GxUnitRealTimeDemo::GX_RTTI; }
253 GX_FORCE_INLINE
virtual u32 getRtdUnitRegisterList(
void)
const {
return 0; }
258 void addDefaultProp(
const GxRtti& unitRtti, GX_CSTR propertyName, u32 interpolateType);
260 void addDefaultProp(
const GxProperty* pProperty, GX_CSTR propertyName, u32 interpolateType);
266 void removeDefaultProp(
void);
270 constexpr void getResourceProperty(
void* pValue){ *
static_cast<GxResBase**
>(pValue) = getResource(); }
272 GX_FORCE_INLINE
void setResourceProperty(
const void* pValue){ setResource(*
static_cast<GxResBase**
>(
const_cast<void*
>(pValue))); }
275 void getSelectGxUnit(
void* pValue);
277 void getSelectUnit(
void* pValue);
279 void getSelectProperty(
void* pValue);
281 void getSelectKey(
void* pValue);
283 static GxToolRealTimeDemo* getParentTool(GxGuiBase* pGui);
296 u32 _defautlWindowSplitterLeft;
297 u32 _defautlWindowSplitterRight;
304 GxGuiFormProperty* _pPropertyForm;
305 GxUnitListUI* _pUnitListUI;
306 GxGuiKeyFrame* _pKeyFrameUI;
307 GxGuiSplitter* _pSplitter[2];
309 u32 _selectedUnitNodeId;
310 u32 _selectedPropertyNodeId;
324 s32 _midFrameGuiHeight;
332class GxToolRealTimeDemo::GxUnitListUI :
public GxGuiForm
340 GX_RTTI_CLASS(GxToolRealTimeDemo::GxUnitListUI, GxGuiForm)
353 ~GxUnitListUI(
void)
override
366 void onDraw(
void)
override;
368 void onClick(
const GxPoint2&, u32)
override;
370 void onDoubleClick(
const GxPoint2&, u32)
override;
372 void onMouseUp(
const GxPoint2& position, u32 button)
override;
374 void addUnit(
void* pUnit);
376 void createAddUnitMenu(GxGuiMenu& Menu,
const GxRtti& rtti);
379 GX_FORCE_INLINE
virtual void addSubMenu(GxGuiMenu*){}
381 GX_FORCE_INLINE
virtual void addSubMenuAddUnit(GxGuiMenu*){}
386 void createSubMenu(
const GxPoint2& position);
388 void deleteUnit(
void);
390 void addProperty(
void* pProperty);
392 void openPropertyForm(
void);
394 void updateUnit(
b32 up);
396 void addChildProperty(
void* pProperty);
398 void deleteProperty(
void);
400 void reloadArrayElementNum(
void);
402 void updateProperty(
b32 up);
404 void copyProperty(
void);
406 void pasteProperty(
void);
408 b32 isPastePropertyAvailable(
void);
412 void clearCopyData(
void);
436 void selectFromPoint(
const s32 y);
438 void selMovePropertyFromPoint(
const s32 startY,
const s32 endY);
441 void setInterpolateType(u32 type);
458class GxToolRealTimeDemo::GxGuiKeyFrame :
public GxGuiTimeLine
466 GX_RTTI_CLASS(GxToolRealTimeDemo::GxGuiKeyFrame, GxGuiTimeLine)
476 : _pSelectKey(nullptr)
478 , _selectedPropertyId(0)
480 , _pCopyValue(nullptr)
481 , _pCopyKeyTypeRtti(nullptr)
482 , _visibleToolTipPopUp(-1)
489 ~GxGuiKeyFrame(
void)
override
501 void onDraw(
void)
override;
503 void onClick(
const GxPoint2&, u32)
override;
505 void onMouseDown(
const GxPoint2& position, u32 button )
override;
507 void onMouseMove(
const GxPoint2&)
override{}
509 void onMouseWheel(
const GxPoint2& position, s32 rotate )
override;
511 void onNoClientMouseWheel(
const GxPoint2& position, s32 rotate )
override;
513 void update(
void)
override;
515 void onNoClientClick(
const GxPoint2& position, u32 button)
override;
517 virtual void scroll(s32 wheelRotate );
521 GX_FORCE_INLINE
virtual void addSubMenu(GxGuiMenu*){}
526 void onDrawOverDraw(
void);
528 void moveParamPre(
void);
534 void createSubMenu(
const GxPoint2& position);
536 void createSubMenuMoveProperty(
const GxPoint2& position);
540 void moveArea(u32 dstFrame);
545 void deleteKey(
void);
547 void checkAreaMove(
void);
549 constexpr void setPropertyCancel(
void){};
551 void editString(
b32 mode );
557 b32 isCopyableKey(
void);
559 b32 isPasteKeyAvailable(
void);
561 s32 getFrameFromPosition(
GxPoint2 position);
562#if defined( _WINDOWS )
564 static LRESULT CALLBACK myDialogProc( HWND handleDialogWindow, UINT message, WPARAM wParam, LPARAM lParam );
567 void moveKey(u32 dstFrame);
577 u32 _selectedPropertyId;
581 GxRtti* _pCopyKeyTypeRtti;
587 s32 _visibleToolTipPopUp;
592GX_UTILITY_NAMESPACE_END()
#define GX_SAFE_FREE_MEMORY(pAddress)
Definition GxAllocator.h:594
T gx_cast(GxClassBaseRoot *pObject)
Definition GxBase.h:264
void GxTypedObject
その他
Definition GxDefine.h:213
配列クラス
Definition GxArrayClassBase.h:18
配列クラス
Definition GxArray.h:18
参照オブジェクト基底クラス
Definition GxBase.h:122
プロパティクラス
Definition GxProperty.h:48
TYPE
タイプ定義
Definition GxProperty.h:56
プロパティテーブルクラス
Definition GxProperty.h:1641
リソース基底クラス
Definition GxResBase.h:23
RTD再生用キー
Definition GxResRealTimeDemo.h:356
RTD再生用プロパティ
Definition GxResRealTimeDemo.h:257
RTDユニット
Definition GxResRealTimeDemo.h:54
実行時型情報クラス
Definition GxRtti.h:154
リアルタイムデモ管理ユニット
Definition GxUnitRealTimeDemo.h:19
座標
Definition GxStruct.h:867
サイズ
Definition GxStruct.h:730
文字列型クラス
Definition GxString.h:18
32bitブーリアン
Definition GxDefine.h:173