15GX_CORE_NAMESPACE_BEGIN()
20class GxGuiSplitter : public GxGuiBase
27 GX_RTTI_CLASS(GxGuiSplitter, GxGuiBase)
33 enum class OFFSET_BASIS
42 static constexpr u32 CONTROL_BAR_MOUSE_BUTTON = GxMouse::BUTTON_LEFT;
45 static constexpr u32 SPLIT_VIEW_WIDTH_DEFAULT = 4;
47 static constexpr u32 SPLIT_CONTROL_WIDTH_DEFAULT = 4;
59 GxGuiSplitter( OFFSET_BASIS mode, s32 offset, u32 viewWidth = SPLIT_VIEW_WIDTH_DEFAULT, u32 controlWidth = SPLIT_CONTROL_WIDTH_DEFAULT,
b32 useControl =
true );
68 b32 initialize(
void )
override;
71 void cleanup(
void )
override;
74 void update(
void )
override;
77 void onDraw(
void )
override;
81 constexpr s32 getOffset(
void)
const {
return _offset; }
84 constexpr void setOffset( s32 offset ){ _offset = offset; }
88 constexpr OFFSET_BASIS getOffsetBasis(
void)
const {
return _offsetBasis; }
91 constexpr void setOffsetBasis( OFFSET_BASIS offsetBasis ){ _offsetBasis = offsetBasis; }
95 b32 setGui0( GxGuiBase* pGui0 );
99 constexpr GxGuiBase* getGui0(
void )
const {
return _pGui0; }
103 b32 setGui1( GxGuiBase* pGui1 );
107 constexpr GxGuiBase* getGui1(
void )
const {
return _pGui1; }
110 void setSplitPosition( s32 offset );
113 constexpr s32 getSplitPosition(
void )
const {
return _offset; }
117 constexpr void setSplitterViewWidth( u32 width ){ _viewWidth = width; }
121 constexpr void setSplitterControlWidth( u32 width ){ _controlWidth = width; }
125 GX_FORCE_INLINE
void setUseControl(
b32 use ){ _useControl = use; }
129 GX_FORCE_INLINE
b32 useControl(
void )
const {
return _useControl; }
133 GX_FORCE_INLINE
b32 isControl(
void )
const {
return _controlBar; }
136 GX_FORCE_INLINE
void setDrawFrame(
b32 draw ) { _drawFrame = draw; }
139 void controlBar(
void);
142 b32 controlBarOnMouseDown(
const GxPoint2& position, u32 button);
145 void controlBarMouseMove(
const GxPoint2& position);
149 GxGuiGraphics::MOUSE_CURSOR getMouseCursor(
void)
override;
152 GxSize getClampedRegionSize(
const GxSize& requestSize)
const override;
155 void onSize(
const GxSize& size)
override;
158 void onMouseDown(
const GxPoint2& position, u32 button)
override;
167 void updateLayout(
b32 force =
false);
171 GX_FORCE_INLINE
void setUpdateSizeFormParentCliantRegion(
b32 isUpdateSizeFormParentCliantRegion ){ _isUpdateSizeFormParentCliantRegion = isUpdateSizeFormParentCliantRegion; }
175 GxRect getBarRect(
void)
const;
189 OFFSET_BASIS _offsetBasis;
201 b32 _isUpdateSizeFormParentCliantRegion;
206GX_CORE_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
座標
Definition GxStruct.h:867
矩形
Definition GxStruct.h:951
サイズ
Definition GxStruct.h:730
32bitブーリアン
Definition GxDefine.h:173