15GX_CORE_NAMESPACE_BEGIN()
17#define GX_GUI_USE_PROFILE 0
20#define GX_GUI_PROFILE( name ) GX_PROFILE_COLOR_ADJUST( name, GxProfiler::ColorBaseTool )
22#define GX_GUI_PROFILE( name ) (static_cast<void>(0))
30#define MULTI_SELECT_DISP 1
57 GX_ENUM_TABLE_MAX(GUI_ROTATE)
63 GX_OPERATOR_NEW_DELETE(GxAllocatorList::ALLOCATOR_TYPE::DEVELOP)
90 GX_FORCE_INLINE
b32 isRotateTabEnable(GUI_ROTATE gui)
const {
return _rotateTabEnable.isFlag(gui); }
92 constexpr GUI_ROTATE getRotateTabDefault(
void)
const {
return _rotateTabDefault; }
94 constexpr f32 getRotateSliderStep(
void)
const {
return _rotateSliderStep; }
96 constexpr s32 getRotateFloatFormat(
void)
const {
return _rotateFloatFormat; }
99 GxGuiConfig&
operator = (
const GxGuiConfig& v);
101 GX_FORCE_INLINE
void set(GxGuiConfig& v) { *
this = v; }
103 void setDefault(
void);
112 GUI_ROTATE _rotateTabDefault;
113 f32 _rotateSliderStep;
114 s32 _rotateFloatFormat;
135 GX_OPERATOR_NEW_DELETE(GxAllocatorList::ALLOCATOR_TYPE::DEVELOP)
138 typedef void (
GxClassBaseRoot::* SET_PROP_VALUE_CALLBACK)(GxGuiProperty* pSender);
150 GX_RTTI_STRUCT(GxGuiHistoryParam)
152 GX_OPERATOR_NEW_DELETE(GxAllocatorList::ALLOCATOR_TYPE::DEVELOP)
160 GxGuiProperty* _pGuiProperty;
179 GxInfoOnSetPropertyValue(
GxClassBaseRoot* pOwner, SET_PROP_VALUE_CALLBACK pCallback)
181 , _pCallback(pCallback)
191 SET_PROP_VALUE_CALLBACK _pCallback;
215 b32 initialize(
void);
225 void setTopWindowAll(HWND exceptHandle =
nullptr);
227 void setMinimumWindowAll(
void);
229 void setNormalWindowAll(
void);
233 void reserveDeleteGui( GxGuiBase* pGui );
236 void emptyDeleteReservationList(
void );
240 void drawAutoScroll(
void);
246 void addHistoryParam(GxGuiProperty* pGuiProperty);
250 void eraceAllHistoryParam(
void);
254 void eraceHistoryParam(GxGuiProperty* pGuiProperty);
258 b32 isExistHistoryParam(GxGuiProperty* pGuiProperty);
264 void executeUndo(
void);
269 void executeRedo(
void);
273 void applyHistoryParam(GxGuiHistoryParam* pGuiHistoryParam);
277 void setCallbackOnSetPropertyValue(
GxClassBaseRoot* pOwner, SET_PROP_VALUE_CALLBACK pFunction);
280 void removeCallbackOnSetPropertyValue(
GxClassBaseRoot* pOwner, SET_PROP_VALUE_CALLBACK pFunction);
283 void onSetPropertyValue(GxGuiProperty* pSender);
293 GxGuiWindow* getGuiWindow(HWND windowHandle);
297 GxGuiBase* getGui(
const GxPoint2& position );
300 GX_FORCE_INLINE
void setEditMode(
b32 editMode ){ _editMode = editMode; }
304 GX_FORCE_INLINE
b32 isEditMode(
void )
const {
return _editMode; }
307 GX_FORCE_INLINE
const GxString& getEditParam(
void )
const {
return _editParam; }
310 s32 calcCursorPositionFromPosition(
const GxPoint2& position )
const;
313 constexpr s32 getEditParamCursorPosition(
void )
const {
return _editParamCursorPosition; }
316 void setEditParamCursorPosition( s32 position,
b32 select =
false );
319 void setEditParam(
const GxString& editParam );
322 void deleteEditParamSelected(
void );
325 void selectAllEditParam(
void );
328 void popEditParam(
void );
331 void copyParamSelected(
void );
334 void cutParamSelected(
void );
337 void pasteParamSelected(
void );
341 constexpr GxGuiDesktop* getDesktop(
void )
const {
return _pDesktop; }
345 constexpr GxGuiBase* getFocus(
void )
const {
return _pFocus; }
348 void setFocus( GxGuiBase* pFocus );
351 constexpr GxGuiBase* getModalGui(
void)
const {
return _pModalGui; }
353 void setModalMode( GxGuiBase* pGui,
b32 on );
356 void setInScreenWindow(
void );
360 void editParam( GxKeyboard::KEY key );
362#if defined( _WINDOWS )
365 constexpr GX_CHAR* getDialogEdit(
void ){
return _dialogEdit; }
369 constexpr u32 getDialogEditSize(
void )
const {
return sizeof( _dialogEdit ); }
374 void drawEditParam(
const GxRect& drawRect,
const GxColor& color );
377 void setPopupHover(
const GxPoint2& position, GX_CSTR message,
const GxGuiBase* pOwner,
b32 useAdjust =
true );
383 b32 isFocusedDesktop(
void )
const;
386 b32 isOnDesktopMousePosition(
void )
const;
389 GX_FORCE_INLINE
void setDrawAutoScroll(
const GxPoint2& start,
const GxPoint2& end ){ _isDrawAutoScroll =
true; _autoScrollStartPosition = start; _autoScrollEndPosition = end; }
392 b32 isClickTarget( GxGuiBase* pGui )
const;
395 GX_FORCE_INLINE
void useRealFloatFormat(
b32 isUse ) { _isRealFloatFormat = isUse; }
397 GX_FORCE_INLINE
b32 isRealFloatFormat(
void)
const {
return _isRealFloatFormat; }
399 GX_FORCE_INLINE GxGuiConfig* getGuiConfig(
void) {
return &_guiConfig; }
402 GX_FORCE_INLINE
void setStopRTDPlayByClick(
b32 isUse ) { _isStopRTDPlayByClick = isUse; }
404 GX_FORCE_INLINE
b32 getStopRTDPlayByClick(
void)
const {
return _isStopRTDPlayByClick; }
406 GX_FORCE_INLINE
void setRTDWheelScroll(
b32 isUse ) { _useRTDWheelScroll = isUse; }
408 GX_FORCE_INLINE
b32 getRTDWheelScroll(
void)
const {
return _useRTDWheelScroll; }
413 constexpr GxGuiBase* getOnMouseGUI(
void)
const {
return _pOnMouse; }
415 constexpr GxGuiWindow* getOnMouseWindow(
void)
const {
return _pOnMouseWindow; }
417 constexpr GxGuiWindow* getDragWindow(
void)
const {
return _pDragWindow; }
419 constexpr void setDragWindow(GxGuiWindow* pWindow) { _pDragWindow = pWindow; }
421 constexpr void setStartDragGUI(GxGuiBase* pGui) { _pStartDragGUI = pGui; }
429 GxArray _listOnSetPropertyValue;
431 GxGuiGraphics* _pGuiGraphics;
432 GxGuiDesktop* _pDesktop;
435 GxGuiBase* _pModalGui;
436 GxGuiBase* _pOnMouse;
437 GxGuiWindow* _pOnMouseWindow;
438 GxGuiBase* _pClickTarget;
439 GxGuiWindow* _pDragWindow;
440 GxGuiBase* _pStartDragGUI;
448 s32 _editParamCursorPosition;
449 s32 _editParamCursorTimer;
451 s32 _editParamSelectStartPosition;
452 s32 _editParamSelectEndPosition;
454#if defined( _WINDOWS ) || defined(_PS4) || defined(_PS5)
461 u32 _copyObjectArrayCount;
463 GX_CHAR _serializeTemporaryBuffer[ SERIALIZE_TEMPORARY_SIZE ];
465 b32 _isDrawAutoScroll;
470 GxList _guiHistoryParamList;
472 f32 _keyPushTimerForUndo;
473 f32 _keyPushTimerForRedo;
477 b32 _isRealFloatFormat;
478 b32 _useRTDWheelScroll;
479 b32 _isStopRTDPlayByClick;
480 GxGuiConfig _guiConfig;
486GX_FORCE_INLINE GxGuiSystem* getGxGuiSystem(
void){
return GxGuiSystem::getSingletonPointer(); }
503 GX_OPERATOR_NEW_DELETE(GxAllocatorList::ALLOCATOR_TYPE::DEVELOP)
508 LAYOUT_CENTER_HORIZON = (1<<0),
509 LAYOUT_CENTER_VERTICAL = (1<<1),
510 LAYOUT_LEFT = (1<<2),
511 LAYOUT_RIGHT = (1<<3),
513 LAYOUT_BOTTOM = (1<<5),
515 LAYOUT_CENTER = LAYOUT_CENTER_HORIZON | LAYOUT_CENTER_VERTICAL,
517 LAYOUT_HORIZON_MASK = LAYOUT_CENTER_HORIZON | LAYOUT_LEFT | LAYOUT_RIGHT,
518 LAYOUT_VERTICAL_MASK = LAYOUT_CENTER_VERTICAL | LAYOUT_TOP | LAYOUT_BOTTOM
522 static constexpr u32 ICON_FULL_SIZE_WIDTH = 16;
524 static constexpr u32 ICON_FULL_SIZE_HEIGHT = 16;
527 enum class MOUSE_CURSOR
540 static const GxColor WINDOW_FRAME_COLOR_DEFAULT;
542 static const GxColor WINDOW_BACK_COLOR_DEFAULT;
544 static const GxColor TEXT_COLOR_DEFAULT;
546 static const GxColor KEY_WORD_1_COLOR_DEFAULT;
548 static const GxColor KEY_WORD_2_COLOR_DEFAULT;
550 static const GxColor FOCUS_COLOR_DEFAULT;
552 static const GxRect EXPAND_FRAMERECT_DEFAULT;
554 static const GxSize MOUSE_CURSOR_SIZE;
557 enum class ICON_DOCKING_TYPE
605 b32 initialize(
void);
626 static void drawFrame(
const GxRect& frameRect,
const GxColor& frameLeftColor,
const GxColor& frameTopColor,
const GxColor frameRightColor,
const GxColor& frameBottomColor );
628 GX_FORCE_INLINE
static void drawFrame(
const GxRect& frameRect,
const GxColor& frameLeftTopColor,
const GxColor& frameRightBottomColor ){ drawFrame(frameRect,frameLeftTopColor,frameLeftTopColor,frameRightBottomColor,frameRightBottomColor); }
630 GX_FORCE_INLINE
static void drawFrame(
const GxRect& frameRect,
const GxColor& frameColor ){ drawFrame(frameRect,frameColor,frameColor); }
633 static void drawFrame(
const GxRect& frameRect,
b32 in,
const GxColor& color );
636 static void drawFrameRect(
const GxRect& frameRect,
b32 in,
const GxColor& color );
641 GX_FORCE_INLINE
void drawFrame(
const GxRect& frameRect,
b32 in =
false ){ drawFrame( frameRect,in,getWindowFrameColor() ); }
646 GX_FORCE_INLINE
void drawFrameRect(
const GxRect& frameRect,
b32 in =
false ){ drawFrameRect( frameRect,in,getWindowFrameColor() ); }
650 void drawSelectedRect(
const GxRect& rect );
653 static GxSize calculateStringSize( GX_CSTR
string, u32 offset );
657 GX_FORCE_INLINE
static GxSize calculateStringSize( GX_CSTR
string){
return calculateStringSize(
string,
GX_STRLEN(
string) ); }
659 static GxSize calculateStringSizeLine( GX_CSTR
string, u32 offset );
661 GX_FORCE_INLINE
static GxSize calculateStringSizeLine( GX_CSTR
string){
return calculateStringSizeLine(
string,
GX_STRLEN(
string) ); }
663 static u32 getStringOffset( GX_CSTR
string, u32 length );
665 static u32 getStringOffsetUtf8( GX_CSTR
string, u32 length );
667 static u32 getStringOffsetSjis( GX_CSTR
string, u32 length );
670 GX_FORCE_INLINE
static GxString clipString(GX_CSTR
string,
const GxSize& size,
b32 clipTop =
false) {
GxString temporary(
string); clipStringDirect(temporary, size, clipTop );
return temporary; }
672 static void clipStringDirect(
GxString&
string,
const GxSize& size,
b32 clipTop =
false);
674 GX_FORCE_INLINE
static GxString clipAndAddString( GX_CSTR
string,
const GxSize& size,
b32 clipTop, GX_CSTR stringAdd){
GxString temporary(
string); clipAndAddStringDirect(temporary, size, clipTop, stringAdd);
return temporary; }
676 static void clipAndAddStringDirect(
GxString&,
const GxSize& size,
b32 clipTop, GX_CSTR stringAdd);
678 static void clipAndAddStringDirectAndLineBreak(
GxString&
string,
const GxSize& size, GX_CSTR stringAdd, u32 fontHeight );
680 static void drawLayoutString(
const GxRect& rect, GX_CSTR
string,
const GxColor& color,
const GxFlag32Bit& layout );
688 const GxGuiGraphics::GxIcon* getIcon(
GX_HANDLE handle)
const;
700 GX_FORCE_INLINE
void setWindowFrameColor(
const GxColor& windowFrameColor ){ _windowFrameColor = windowFrameColor; }
702 GX_FORCE_INLINE
const GxColor& getWindowFrameColor(
void )
const {
return _windowFrameColor; }
705 GX_FORCE_INLINE
void setWindowBackColor(
const GxColor& windowBackColor ){ _windowBackColor = windowBackColor; }
707 GX_FORCE_INLINE
const GxColor& getWindowBackColor(
void )
const {
return _windowBackColor; }
710 GX_FORCE_INLINE
void setTextColor(
const GxColor& textColor ){ _textColor = textColor; }
712 GX_FORCE_INLINE
const GxColor& getTextColor(
void )
const {
return _textColor; }
715 GX_FORCE_INLINE
void setKeyWord1Color(
const GxColor& keyWord1Color ){ _keyWord1Color = keyWord1Color; }
717 GX_FORCE_INLINE
const GxColor& getKeyWord1Color(
void )
const {
return _keyWord1Color; }
720 GX_FORCE_INLINE
void setKeyWord2Color(
const GxColor& keyWord2Color ){ _keyWord2Color = keyWord2Color; }
722 GX_FORCE_INLINE
const GxColor& getKeyWord2Color(
void )
const {
return _keyWord2Color; }
725 GX_FORCE_INLINE
void setSelectedColor(
const GxColor& selectedColor ){ _selectedColor = selectedColor; }
727 GX_FORCE_INLINE
const GxColor& getSelectedColor(
void )
const {
return _selectedColor; }
730 GX_FORCE_INLINE
GxColor getGrayOutColor(
void )
const {
return GxColor::getLerp( _textColor, _windowBackColor, 0.5f ); }
733 constexpr GX_HANDLE getDockingGuideIconHandle( ICON_DOCKING_TYPE type )
const {
return _hDockingIcon[
static_cast<s32
>(type)]; }
748 void loadIcon( GX_CSTR pFilePath,
GX_HANDLE* pHandles );
751 void drawMouseCursor(
const GxPoint2& position )
const;
754 void createMouseCursor( MOUSE_CURSOR mouseCursor,
GxResTexture* pResTexture,
const GxRect& rect );
760 void loadMouseIcon(
void);
763 constexpr void setMouseCursor( MOUSE_CURSOR mouseCursor ){ _mouseCursor = mouseCursor; }
766 GX_FORCE_INLINE
void setExpandFrameRect(
const GxRect& rect ){ _expandFrameRect = rect; }
769 GX_FORCE_INLINE
const GxRect& getExpandFrameRect(
void )
const {
return _expandFrameRect; }
772 void setButtonOffColorDefault(
void );
775 void setButtonOnColorDefault(
void );
778 void setButtonOffColor(
const GxColor& color0, f32 value0,
const GxColor& color1, f32 value1,
const GxColor& color2, f32 value2,
const GxColor& color3, f32 value3 );
781 void setButtonOnColor(
const GxColor& color0, f32 value0,
const GxColor& color1, f32 value1,
const GxColor& color2, f32 value2,
const GxColor& color3, f32 value3 );
784 void getButtonOffColor(
GxColor& color0, f32& value0,
GxColor& color1, f32& value1,
GxColor& color2, f32& value2,
GxColor& color3, f32& value3 )
const;
787 void getButtonOnColor(
GxColor& color0, f32& value0,
GxColor& color1, f32& value1,
GxColor& color2, f32& value2,
GxColor& color3, f32& value3 )
const;
790 void getButtonOffColor(
GxColor color[],
const GxColor& baseColor )
const;
793 void getButtonOnColor(
GxColor color[],
const GxColor& baseColor )
const;
812 f32 _buttonOffColorRatio[ 4 ];
816 f32 _buttonOnColorRatio[ 4 ];
818 GX_HANDLE _hDockingIcon[
static_cast<s32
>(ICON_DOCKING_TYPE::MAX)];
823 MOUSE_CURSOR _mouseCursor;
848 GX_OPERATOR_NEW_DELETE(GxAllocatorList::ALLOCATOR_TYPE::DEVELOP)
893 GX_OPERATOR_NEW_DELETE(GxAllocatorList::ALLOCATOR_TYPE::DEVELOP)
924GX_FORCE_INLINE GxGuiGraphics* getGxGuiGraphics(
void){
return GxGuiGraphics::getSingletonPointer(); }
926GX_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
void GxTypedObject
その他
Definition GxDefine.h:213
u32 GX_HANDLE
ハンドル
Definition GxDefine.h:214
#define GX_STRLEN(__STRING__)
文字列の長さ取得
Definition GxString.h:604
参照カウンタ用配列クラス
Definition GxArrayClassBase.h:145
配列クラス
Definition GxArray.h:18
オブジェクト基底クラス
Definition GxBase.h:88
参照オブジェクト基底クラス
Definition GxBase.h:122
virtual void cleanup(void)
delete直前に呼び出される関数
Definition GxBase.cpp:248
基底クラス
Definition GxBase.h:51
constexpr GxClassBaseRoot & operator=(const GxClassBaseRoot &)
代入演算子
Definition GxBase.h:64
クリティカルセクションクラス
Definition GxThread.h:20
JSON解析用ノード
Definition GxJson.h:108
連結リストノードクラス
Definition GxList.h:106
連結リストクラス
Definition GxList.h:18
static constexpr u32 VALUE_512
512
Definition GxMath.h:128
static constexpr u32 VALUE_1M
1M
Definition GxMath.h:139
プロパティクラス
Definition GxProperty.h:48
テクスチャリソース
Definition GxResTexture.h:23
実行時型情報クラス
Definition GxRtti.h:154
ICON_TYPE
アイコンタイプ定義
Definition GxRtti.h:202
シングルトン基礎クラス
Definition GxSingleton.h:19
static GX_FORCE_INLINE GxColor getLerp(const GxColor color0, const GxColor color1, f32 t)
補間値を取得(互換用)
Definition GxColor.inl:468
static const GxColor WHITE
白
Definition GxColor.h:37
ビット指定型フラグ
Definition GxStruct.h:1338
インデックス指定型フラグ
Definition GxStruct.h:1294
座標
Definition GxStruct.h:867
矩形
Definition GxStruct.h:951
サイズ
Definition GxStruct.h:730
トークン操作クラス
Definition GxString.h:337
文字列型クラス
Definition GxString.h:18
2次元ベクトル
Definition GxVector.h:34
32bitブーリアン
Definition GxDefine.h:173