MGL(Win32)
読み取り中…
検索中…
一致する文字列を見つけられません
mgl_system_application.h
[詳解]
1// SPDX-License-Identifier: Zlib
2/* ------------------------------------------------------------------------- */
9/* ------------------------------------------------------------------------- */
10
11#ifndef INCGUARD_MGL_SYSTEM_APPLICATION_H_1613963547
12#define INCGUARD_MGL_SYSTEM_APPLICATION_H_1613963547
13
14#include <mgl/mgl_environment.h>
16
17namespace MGL::System
18{
21{
22public:
23 /* ------------------------------------------------------------------------- */
27 /* ------------------------------------------------------------------------- */
28 Application() noexcept
29 : _application(ModuleSet::GetInstance().GetApplicationModule())
30 {}
31
32 /* ------------------------------------------------------------------------- */
39 /* ------------------------------------------------------------------------- */
40 bool Caffeinate(bool isEnabled) noexcept
41 {
42 return _application.Caffeinate(isEnabled);
43 }
44
45 /* ------------------------------------------------------------------------- */
51 /* ------------------------------------------------------------------------- */
52 [[nodiscard]] bool IsCaffeinated() const noexcept
53 {
54 return _application.IsCaffeinated();
55 }
56
57 /* ------------------------------------------------------------------------- */
62 /* ------------------------------------------------------------------------- */
63 [[nodiscard]] const ArgumentArray &GetArguments() const noexcept
64 {
65 return _application.GetArguments();
66 }
67
68 /* ------------------------------------------------------------------------- */
72 /* ------------------------------------------------------------------------- */
73 void Quit() noexcept
74 {
75 _application.Quit();
76 }
77
78 /* ------------------------------------------------------------------------- */
84 /* ------------------------------------------------------------------------- */
85 [[nodiscard]] bool IsAvailableQuit() const noexcept
86 {
87 return _application.IsAvailableQuit();
88 }
89
90 /* ------------------------------------------------------------------------- */
95 /* ------------------------------------------------------------------------- */
96 [[nodiscard]] float GetFrameElapsedTime() const noexcept
97 {
98 return _application.GetFrameElapsedTime();
99 }
100
101 /* ------------------------------------------------------------------------- */
106 /* ------------------------------------------------------------------------- */
107 [[nodiscard]] uint32_t GetFramesPerSecond() const noexcept
108 {
109 return _application.GetFramesPerSecond();
110 }
111
112 /* ------------------------------------------------------------------------- */
119 /* ------------------------------------------------------------------------- */
120 bool SetClipboardText(const char *text) noexcept
121 {
122 return _application.SetClipboardText(text);
123 }
124
125 /* ------------------------------------------------------------------------- */
132 /* ------------------------------------------------------------------------- */
133 bool GetClipboardText(STL::string &text) noexcept
134 {
135 return _application.GetClipboardText(text);
136 }
137
138 /* ------------------------------------------------------------------------- */
144 /* ------------------------------------------------------------------------- */
145 [[nodiscard]] bool IsAvailableClipboard() const noexcept
146 {
147 return _application.IsAvailableClipboard();
148 }
149
150private:
151 ApplicationModuleInterface &_application;
152};
153
154} // namespace MGL::System
155
156#endif // INCGUARD_MGL_SYSTEM_APPLICATION_H_1613963547
157
158// vim: et ts=4 sw=4 sts=4
アプリケーション制御クラス
Definition mgl_system_application.h:21
uint32_t GetFramesPerSecond() const noexcept
FPSを取得
Definition mgl_system_application.h:107
bool GetClipboardText(STL::string &text) noexcept
クリップボードからテキストを取得
Definition mgl_system_application.h:133
bool SetClipboardText(const char *text) noexcept
クリップボードにテキストをコピー
Definition mgl_system_application.h:120
bool IsAvailableQuit() const noexcept
アプリケーションの終了をサポートしているかを取得
Definition mgl_system_application.h:85
const ArgumentArray & GetArguments() const noexcept
実行引数を取得
Definition mgl_system_application.h:63
float GetFrameElapsedTime() const noexcept
前回のフレームからの経過時間を取得
Definition mgl_system_application.h:96
bool IsCaffeinated() const noexcept
スリープの抑制状態を取得
Definition mgl_system_application.h:52
bool Caffeinate(bool isEnabled) noexcept
スリープの抑制
Definition mgl_system_application.h:40
bool IsAvailableClipboard() const noexcept
システムがクリップボードをサポートしているかを取得
Definition mgl_system_application.h:145
Application() noexcept
コンストラクタ
Definition mgl_system_application.h:28
void Quit() noexcept
アプリケーションの終了
Definition mgl_system_application.h:73
アプリケーションモジュールのインターフェース
Definition mgl_application_module_interface.h:26
virtual bool Caffeinate(bool isEnabled) noexcept=0
スリープの抑制
virtual bool SetClipboardText(const char *text) noexcept=0
クリップボードにテキストをコピー
virtual uint32_t GetFramesPerSecond() const noexcept=0
FPSを取得
virtual bool IsAvailableQuit() const noexcept=0
アプリケーションの終了をサポートしているかを取得
virtual bool IsAvailableClipboard() const noexcept=0
システムがクリップボードをサポートしているかを取得
virtual void Quit() noexcept=0
アプリケーションの終了
virtual float GetFrameElapsedTime() const noexcept=0
前回のフレームからの経過時間を取得
virtual bool GetClipboardText(STL::string &text) noexcept=0
クリップボードからテキストを取得
virtual const ArgumentArray & GetArguments() const noexcept=0
実行引数を取得
virtual bool IsCaffeinated() const noexcept=0
スリープの抑制状態を取得
システム関連モジュールセットクラス
Definition mgl_system_module_set.h:27
STL::vector< STL::string > ArgumentArray
引数配列の型
Definition mgl_application_module_interface.h:22
MGL 環境定義
basic_string< char > string
std::stringの代替
Definition mgl_stl_string.h:25
MGL システム関連モジュールセット