15GX_CORE_NAMESPACE_BEGIN()
22class GxGuiForm : public GxGuiBase
29 GX_RTTI_CLASS(GxGuiForm, GxGuiBase)
36 static const u32 SCROLLBAR_CURSOR_MIN_WIDTH;
38 static const u32 SCROLLBAR_CURSOR_MAX_WIDTH;
40 static const u32 SCROLLBAR_BUTTON_WIDTH;
42 static const u32 SCROLLBAR_BUTTON_HEIGHT;
45 static const u32 AUTO_SCROLL_LINE_WIDTH;
47 static const u32 AUTO_SCROLL_POINT_SIZE;
50 static const u32 CAPTION_HEIGHT;
68 void setFormSize(
const GxSize& formSize );
72 GX_FORCE_INLINE
const GxSize& getFormSize(
void )
const {
return _formSize; }
75 void setScrollOffset(
const GxPoint2& offset,
b32 focus =
true );
78 constexpr void setScrollBarTargetPositionX( s32 positionX ){ _scrollTargetOffset._x = positionX; }
80 constexpr void setScrollBarTargetPositionY( s32 positionY ){ _scrollTargetOffset._y = positionY; }
83 void setTargetScrollOffset(
const GxPoint2& offset );
87 constexpr void setHorizonScrollOffsetAdd( s32 add ){ _scrollOffsetAdd._x = add; _scrollOffsetAddRate._x = 0; }
91 constexpr void setHorizonScrollOffsetAdd( f32 add ){ _scrollOffsetAdd._x = 0; _scrollOffsetAddRate._x = add; }
95 constexpr void setVerticalScrollOffsetAdd( s32 add ){ _scrollOffsetAdd._y = add; _scrollOffsetAddRate._y = 0; }
99 constexpr void setVerticalScrollOffsetAdd( f32 add ){ _scrollOffsetAdd._y = 0; _scrollOffsetAddRate._y = add; }
102 s32 getScrollOffsetAddX(
void )
const;
105 s32 getScrollOffsetAddY(
void )
const;
109 GX_FORCE_INLINE
GxPoint2 getScrollOffset(
void )
const override {
return _scrollOffset; }
112 void setScrollBar(
b32 horizon,
b32 vertical );
116 GX_FORCE_INLINE
b32 useScrollBarHorizon(
void )
const {
return _pHorizonScrollBar !=
nullptr; }
120 GX_FORCE_INLINE
b32 useScrollBarVertical(
void )
const {
return _pVerticalScrollBar !=
nullptr; }
124 GX_FORCE_INLINE
void setCaption( GX_CSTR pCaption ){ GX_ASSERT( pCaption,
"pCaption is nullptr" ); _caption = pCaption; _useCaption =
true; }
128 void cleanup(
void )
override;
131 void update(
void )
override;
134 void postDraw(
void )
override;
137 void onNoClientDraw(
void )
override;
141 GxSize getUseRegionSize(
void)
const override;
145 GxRect calculateClientRect(
const GxRect& clientRect)
const override;
148 void onSize(
const GxSize& size)
override;
151 void onMouseDown(
const GxPoint2& position, u32 button)
override;
154 void onNoClientMouseDown(
const GxPoint2& position, u32 button)
override;
157 void onMouseWheel(
const GxPoint2& position, s32 rot)
override;
160 void onNoClientMouseWheel(
const GxPoint2& position, s32 rot)
override;
169 GX_FORCE_INLINE
void requestInFocus(
void ){ _requestInFocus =
true; }
172 void isActiveScrollBar(
b32& isActiveHorizon,
b32& isActiveVertical )
const;
180 GxScrollBar* _pHorizonScrollBar;
181 GxScrollBar* _pVerticalScrollBar;
193 GxPoint2 _autoScrollControlPosition;
217 GX_OPERATOR_NEW_DELETE(GxAllocatorList::ALLOCATOR_TYPE::DEVELOP)
246 GxScrollBar( GxGuiForm* pOwner, TYPE type );
255 b32 isActive(
void );
259 void onMouseMove(
const GxPoint2& position );
261 void onMouseDown(
const GxPoint2& position, u32 button );
263 void onMouseUp(
const GxPoint2& position, u32 button );
266 constexpr STATE getState(
void )
const {
return _state; }
269 s32 getOffset(
void );
271 void setOffset( s32 offset )
const;
293GX_CORE_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
参照オブジェクト基底クラス
Definition GxBase.h:122
座標
Definition GxStruct.h:867
矩形
Definition GxStruct.h:951
サイズ
Definition GxStruct.h:730
文字列型クラス
Definition GxString.h:18
2次元ベクトル
Definition GxVector.h:34
32bitブーリアン
Definition GxDefine.h:173