16GX_CORE_NAMESPACE_BEGIN()
21class GxGuiSplitterCross : public GxGuiBase
28 GX_RTTI_CLASS(GxGuiSplitterCross, GxGuiBase)
43 GxGuiSplitterCross(
void);
52 b32 initialize(
void )
override;
55 void cleanup(
void )
override;
58 void update(
void )
override;
61 void screenRender(
void )
override;
64 void onDraw(
void )
override;
68 GxSize getUseRegionSize(
void)
const override;
72 GxGuiGraphics::MOUSE_CURSOR getMouseCursor(
void)
override;
75 void onRemoveGui(GxGuiBase* pGui)
override;
78 void onMouseDown(
const GxPoint2& position, u32 button)
override;
81 void onSize(
const GxSize& size)
override;
84 GxGuiBase* getGui(
const GxPoint2& position,
const GxRect& parentClipRect)
override;
94 constexpr u32 getColumnCount(
void )
const {
return _columnCount; }
98 constexpr u32 getRowCount(
void )
const {
return _rowCount; }
101 void setColumnRow( s32 column, s32 row );
104 void insertColumn( u32 column, u32 num );
107 void insertRow( u32 row, u32 num );
110 void deleteColumn( u32 column, u32 num );
113 void deleteRow( u32 row, u32 num );
116 void setGui( GxGuiBase* pGui, u32 column, u32 row );
119 GxGuiBase* getGuiColumnRow( u32 column, u32 row );
122 const GxGuiBase* getGuiColumnRow( u32 column, u32 row )
const;
125 void setColumnWidth( s32 width );
128 void setColumnWidth( s32 width, u32 index );
131 u32 getColumnWidth( u32 index )
const;
134 void setRowHeight( s32 height );
137 void setRowHeight( s32 height, u32 index );
140 u32 getRowWidth( u32 index )
const;
143 u32 getRowHeight( u32 index )
const;
146 void setUseControlColumnBar(
b32 use, u32 index );
149 void setUseControlColumnBar(
b32 use );
152 void setUseControlRowBar(
b32 use, u32 index );
155 void setUseControlRowBar(
b32 use );
158 void setColumnBarWidth( s32 width );
161 void setRowBarWidth( s32 width );
164 void setColumnBarWidth( s32 viewWidth, s32 controlWidth );
167 void setRowBarWidth( s32 viewWidth, s32 controlWidth );
170 void setColumnBarWidth( s32 viewWidth, s32 controlWidth, u32 index );
173 void setRowBarWidth( s32 viewWidth, s32 controlWidth, u32 index );
176 u32 getColumnBarWidth( u32 index )
const;
179 u32 getRowBarWidth( u32 index )
const;
182 u32 getColumnBarControlWidth( u32 index )
const;
185 u32 getRowBarControlWidth( u32 index )
const;
188 void updateLayout(
void );
191 void updateLayoutGui( u32 row, u32 column );
194 GX_FORCE_INLINE
void setIsGetSizeFromParent(
b32 isGetSizeFromParent ){ _isGetSizeFromParent = isGetSizeFromParent; }
197 constexpr s32 getControlColumnBarIndex(
void )
const {
return _controlColumnBarIndex; }
200 constexpr s32 getControlRowBarIndex(
void ){
return _controlRowBarIndex; }
203 GxGuiBase* getSelectedGui(
void )
const;
206 GxPoint2 getSelectedGuiColumnRow(
void )
const;
212 GxRect getClientRowRect( u32 row )
const;
215 GxRect getClientColumnRect( u32 row )
const;
218 GxRect getClientColumnRowRect( u32 column, u32 row )
const;
222 void testHitControlBar(
const GxPoint2& position, s32& controlRowBarIndex, s32& controlColumnBarIndex,
GxPoint2& offset);
225 void controlBarMouseMove(
const GxPoint2& position);
228 GxRect getColumnBarRect(s32 index)
const;
231 GxRect getRowBarRect(s32 index)
const;
234 void getColumnBarMinMax(u32 columnIndex,
GxRect& minRect,
GxRect& maxRect)
const;
237 void getRowBarMinMax(u32 rowIndex,
GxRect& minRect,
GxRect& maxRect)
const;
245 s32 _controlColumnBarIndex;
246 s32 _controlRowBarIndex;
250 GxBar* _pColumnBarTable;
251 GxBar* _pRowBarTable;
253 b32 _isGetSizeFromParent;
259 GxGuiList* _pGuiList;
267class GxGuiSplitterCross::GxGuiList :
public GxClassBase
279 GX_OPERATOR_NEW_DELETE_USE_ARRAY(GxAllocatorList::ALLOCATOR_TYPE::DEVELOP)
288 GxGuiList(
void) : _ppGuiBase(nullptr), _column(0), _row(0){}
290 ~GxGuiList(
void)
override;
299 void create( u32 column, u32 row );
308 void setGuiColumnRow( GxGuiBase* pGui, u32 column, u32 row );
311 GxGuiBase* getGuiColumnRow( u32 column, u32 row );
319 GxGuiBase** _ppGuiBase;
337 GX_RTTI_STRUCT(GxBar)
341 GX_OPERATOR_NEW_DELETE_USE_ARRAY(GxAllocatorList::ALLOCATOR_TYPE::DEVELOP)
344 enum class OFFSET_BASIS
354 static constexpr u32 SPLIT_VIEW_WIDTH_DEFAULT = 4;
356 static constexpr u32 SPLIT_CONTROL_WIDTH_DEFAULT = 4;
365 GxBar(
void) : _useControl(true), _offset(0), _barViewWidth(SPLIT_VIEW_WIDTH_DEFAULT), _barControlWidth(SPLIT_CONTROL_WIDTH_DEFAULT){}
376 u32 _barControlWidth;
381GX_CORE_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
#define GX_PROHIBIT_CLASS_BASE(__CLASS__)
GxClassBase継承の禁止宣言
Definition GxBase.h:240
オブジェクト基底クラス
Definition GxBase.h:88
座標
Definition GxStruct.h:867
矩形
Definition GxStruct.h:951
サイズ
Definition GxStruct.h:730
32bitブーリアン
Definition GxDefine.h:173