MGL(Win32)
読み取り中…
検索中…
一致する文字列を見つけられません
mgl_application_module_common.h
[詳解]
1// SPDX-License-Identifier: Zlib
2/* ------------------------------------------------------------------------- */
9/* ------------------------------------------------------------------------- */
10
11#ifndef INCGUARD_MGL_APPLICATION_MODULE_COMMON_H_1613962458
12#define INCGUARD_MGL_APPLICATION_MODULE_COMMON_H_1613962458
13
15
16#include <mgl/event/mgl_event.h>
18
19namespace MGL::System
20{
23{
24public:
25 CommonApplicationModule() noexcept;
26 ~CommonApplicationModule() noexcept override = default;
27
28 [[nodiscard]] float GetFrameElapsedTime() const noexcept override;
29 [[nodiscard]] uint32_t GetFramesPerSecond() const noexcept override;
30
31 /* ------------------------------------------------------------------------- */
36 /* ------------------------------------------------------------------------- */
38 {
39 _delegate = std::move(delegate);
40 }
41
42private:
43 static void OnEventPreFrameUpdate(void *callbackArg, void *notifyArg) noexcept;
44
45 void UpdateFPS() noexcept;
46
47 Event::Handle _eventPreFrameUpdate;
48 ElapsedTimer _elapsedTimer{0};
49 EpochTime _prevUpdateTime{0};
50 uint32_t _frameUpdateCount{0};
51 uint32_t _fps{0};
52 STL::unique_ptr<ApplicationDelegate> _delegate;
53};
54
55} // namespace MGL::System
56
57#endif // INCGUARD_MGL_APPLICATION_MODULE_COMMON_H_1613962458
58
59// vim: et ts=4 sw=4 sts=4
アプリケーションモジュールのインターフェース
Definition mgl_application_module_interface.h:26
共通アプリケーションモジュール
Definition mgl_application_module_common.h:23
CommonApplicationModule() noexcept
コンストラクタ
Definition mgl_application_module_common.cc:22
uint32_t GetFramesPerSecond() const noexcept override
FPSを取得
Definition mgl_application_module_common.cc:63
void SetApplicationDelegate(STL::unique_ptr< ApplicationDelegate > delegate) noexcept override
アプリケーションデリゲートの登録
Definition mgl_application_module_common.h:37
float GetFrameElapsedTime() const noexcept override
前回のフレームからの経過時間を取得
Definition mgl_application_module_common.cc:51
経過タイマークラス
Definition mgl_chrono_elapsed_timer.h:20
MGL アプリケーション機能のインターフェース
MGL 経過タイマー
MGL イベント
std::unique_ptr< T, Deleter > unique_ptr
MGLのアロケータを利用するユニークポインタ
Definition mgl_stl_memory.h:247