OROCHI
 
Loading...
Searching...
No Matches
GxGuiProgressWindow.h
Go to the documentation of this file.
1//===========================================================================
9//===========================================================================
10#pragma once
11
12#if GX_DEVELOP
13
14GX_CORE_NAMESPACE_BEGIN()
15
16//===========================================================================
18//===========================================================================
19class GxGuiProgressWindow : public GxGuiWindow
20{
21 //-----------------------------------------------------------
23 //-----------------------------------------------------------
25public:
26 GX_RTTI_CLASS(GxGuiProgressWindow, GxGuiWindow)
27 // 基底継承クラス用禁止宣言
28 GX_PROHIBIT_CLASS_BASE_REFERENCE(GxGuiProgressWindow)
29
30 enum class MODE
31 {
32 NONE = -1,
33 READ = 0,
34 CONVERT,
35 DOWNLOAD,
36 SHADER_COMPILE,
37 LIGHT_BAKE,
38 MAX,
39 };
40
42 //-----------------------------------------------------------
44 //-----------------------------------------------------------
46public:
48 GxGuiProgressWindow(void);
49
51 b32 initialize(void) override;
52
54 //-----------------------------------------------------------
56 //-----------------------------------------------------------
58public:
60 void update(void) override;
62 void onDraw( void ) override;
63
65 //-----------------------------------------------------------
67 //-----------------------------------------------------------
69public:
71 GX_FORCE_INLINE void setMode(MODE mode, b32 enable) { enable ? _modeFlag |= (1 << static_cast<u32>(mode)) : _modeFlag &= ~(1 << static_cast<u32>(mode)); }
73 constexpr void setProgress(MODE mode, u32 progress1, u32 progress2 = 0) { _progress[static_cast<u32>(mode)][0] = progress1; _progress[static_cast<u32>(mode)][1] = progress2; }
74
76 //-----------------------------------------------------------
78 //-----------------------------------------------------------
80protected:
81 u32 _modeFlag;
82 u32 _progress[static_cast<u32>(MODE::MAX)][2];
83 u32 _frameCount;
84
86};
87GX_CORE_NAMESPACE_END()
88
89#endif // GX_DEVELOP
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
@ MAX
定義数
@ NONE
何もしない
32bitブーリアン
Definition GxDefine.h:173