14GX_CORE_NAMESPACE_BEGIN()
19class GxToolCurveKey : public GxToolResourceEditBase
39 GxToolCurveKey(
void );
41 GxToolCurveKey(
const GxRect& rect );
43 b32 initialize(
void )
override;
52 void update(
void )
override;
54 void setResource(
GxResBase* pResource )
override;
57 void onViewMaxExpand(
void )
override;
59 void onViewMinExpand(
void )
override;
69 void setActiveKeyGui(
b32 flag );
73 void getPropertyAutoZoomUpdateTime(
void*
const pValue );
75 void setPropertyAutoZoomUpdateTime(
const void*
const pValue );
77 void getPropertyAutoZoomUpdateValue(
void*
const pValue );
79 void setPropertyAutoZoomUpdateValue(
const void*
const pValue );
88 constexpr void setMenuSaveOnly(
void ) { _isSaveOnly =
true; }
96 GxGuiSplitter* _pSplitterMain;
97 GxGuiSplitter* _pSplitterValue;
98 GxGuiFormCurve* _pCurveFormGui;
110class GxToolCurveKey::GxGuiFormCurve :
public GxGuiForm
117 GX_RTTI_CLASS(GxToolCurveKey::GxGuiFormCurve, GxGuiForm)
138 GxGuiFormCurve( GxToolCurveKey* pParent );
140 void cleanup(
void )
override;
144 GxGuiFormCurve(
void );
153 void update(
void )
override;
155 void onDraw(
void )
override;
157 void onMouseWheel(
const GxPoint2& position, s32 rotate )
override;
159 GX_FORCE_INLINE
void onMouseDown(
const GxPoint2& position, u32 )
override { _mousePositionDown = position; }
163 void drawGrid(
void );
165 f32 getGridBase( f32 oneGrid );
168 void zoomWindow( s32 valueX, s32 valueY );
170 void setZoom( f32 min, f32 max );
172 void setZoom(
void );
175 void eventAddCurveKey(
void );
177 void eventDeleteCurveKey(
void );
180 void updateEditModeOff(
void );
182 void updateEditModeSelectKey(
void );
184 void updateEditModeMoveKey(
void );
186 void updateEditModeCursorKey(
void );
188 void updateEditModeMoveKeyHandle(
void );
198 b32 isSelectCurveKeyHandle(
const GxRect& rect );
201 void initializeSelectKeyPreviousPosition(
void );
205 void updateSelectKeyPreviousPosition(
void );
216 constexpr f32 getTimeFromX( s32 x )
const {
return static_cast<f32
>( x + _offsetDisplay._x ) * _zoomTime; }
218 constexpr f32 getValueFromY( s32 y )
const {
return static_cast<f32
>( y + _offsetDisplay._y ) * _zoomValue; }
220 constexpr s32 getXFromTime( f32 time )
const {
return static_cast<s32
>( time / _zoomTime ) - _offsetDisplay._x; }
222 constexpr s32 getYFromValue( f32 value )
const {
return static_cast<s32
>( value / _zoomValue ) - _offsetDisplay._y; }
225 constexpr f32 getZoomTime(
void )
const {
return _zoomTime; }
227 constexpr void setZoomTime( f32 time ) { _zoomTime = time; }
229 constexpr f32 getZoomValue(
void )
const {
return _zoomValue; }
231 constexpr void setZoomValue( f32 value ) { _zoomValue = value; }
234 GX_FORCE_INLINE
b32 getAutoZoomUpdateTime(
void )
const {
return _isAutoZoomUpdateTime; }
236 GX_FORCE_INLINE
void setAutoZoomUpdateTime(
b32 flag ) { _isAutoZoomUpdateTime = flag; }
238 GX_FORCE_INLINE
b32 getAutoZoomUpdateValue(
void )
const {
return _isAutoZoomUpdateValue; }
240 GX_FORCE_INLINE
void setAutoZoomUpdateValue(
b32 flag ) { _isAutoZoomUpdateValue = flag; }
244 GX_FORCE_INLINE
void setInitializeZoom(
b32 flag ) { _isInitializeZoom = flag; }
246 GX_FORCE_INLINE
void setOffsetDisplay(
const GxPoint2& offset ) { _offsetDisplay = offset; }
250 GX_FORCE_INLINE u32 getSelectCurveKeyCount(
void )
const {
return _selectCurveKeyList.getCount(); }
252 GX_FORCE_INLINE
GxCurveKey* getSelectCurveKey( u32 index ) {
return static_cast<GxCurveKey*
>(_selectCurveKeyList[index]); }
260 GxToolCurveKey* _pParent;
275 u32 _delayPopupReleaseCount;
277 b32 _isAutoZoomUpdateTime;
278 b32 _isAutoZoomUpdateValue;
282 b32 _isInitializeZoom;
287GX_CORE_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
配列クラス
Definition GxArray.h:18
カーブキークラス
Definition GxModUnitCurvePlay.h:477
プロパティテーブルクラス
Definition GxProperty.h:1641
リソース基底クラス
Definition GxResBase.h:23
カーブキーリソース
Definition GxResCurveKey.h:18
2次元浮動小数点数クラス
Definition GxStruct.h:22
座標
Definition GxStruct.h:867
矩形
Definition GxStruct.h:951
文字列型クラス
Definition GxString.h:18
2次元ベクトル
Definition GxVector.h:34
32bitブーリアン
Definition GxDefine.h:173