MGL(Win32)
読み取り中…
検索中…
一致する文字列を見つけられません
mgl_system_window.h
[詳解]
1// SPDX-License-Identifier: Zlib
2/* ------------------------------------------------------------------------- */
9/* ------------------------------------------------------------------------- */
10
11#ifndef INCGUARD_MGL_SYSTEM_WINDOW_H_1613805832
12#define INCGUARD_MGL_SYSTEM_WINDOW_H_1613805832
13
14#include <mgl/mgl_environment.h>
16
17namespace MGL::System
18{
20class Window
21{
22public:
23 /* ------------------------------------------------------------------------- */
27 /* ------------------------------------------------------------------------- */
28 Window() noexcept
29 : _window(ModuleSet::GetInstance().GetWindowModule())
30 {}
31
32 /* ------------------------------------------------------------------------- */
38 /* ------------------------------------------------------------------------- */
39 void Resize(uint32_t width, uint32_t height) noexcept
40 {
41 _window.Resize(width, height);
42 }
43
44 /* ------------------------------------------------------------------------- */
49 /* ------------------------------------------------------------------------- */
50 void SetFullscreen(bool isEnabled) noexcept
51 {
52 _window.SetFullscreen(isEnabled);
53 }
54
55 /* ------------------------------------------------------------------------- */
59 /* ------------------------------------------------------------------------- */
60 void ToggleFullscreen() noexcept
61 {
62 _window.ToggleFullscreen();
63 }
64
65 /* ------------------------------------------------------------------------- */
71 /* ------------------------------------------------------------------------- */
72 [[nodiscard]] bool IsFullscreen() const noexcept
73 {
74 return _window.IsFullscreen();
75 }
76
77 /* ------------------------------------------------------------------------- */
82 /* ------------------------------------------------------------------------- */
83 void Focus() noexcept
84 {
85 _window.Focus();
86 }
87
88 /* ------------------------------------------------------------------------- */
94 /* ------------------------------------------------------------------------- */
95 [[nodiscard]] bool IsFocused() const noexcept
96 {
97 return _window.IsFocused();
98 }
99
100 /* ------------------------------------------------------------------------- */
105 /* ------------------------------------------------------------------------- */
106 void Alert(const char *message) const noexcept
107 {
108 _window.Alert(message);
109 }
110
111 /* ------------------------------------------------------------------------- */
116 /* ------------------------------------------------------------------------- */
117 void SetTitle(const char *title) noexcept
118 {
119 _window.SetTitle(title);
120 }
121
122 /* ------------------------------------------------------------------------- */
127 /* ------------------------------------------------------------------------- */
128 [[nodiscard]] int32_t GetIdentifier() const noexcept
129 {
130 return _window.GetIdentifier();
131 }
132
133 /* ------------------------------------------------------------------------- */
138 /* ------------------------------------------------------------------------- */
139 [[nodiscard]] ScreenSize GetScreenSize() const noexcept
140 {
141 return _window.GetScreenSize();
142 }
143
144
145private:
146 WindowModuleInterface &_window;
147};
148} // namespace MGL::System
149
150#endif // INCGUARD_MGL_SYSTEM_WINDOW_H_1613805832
151
152// vim: et ts=4 sw=4 sts=4
システム関連モジュールセットクラス
Definition mgl_system_module_set.h:27
MGL ウィンドウ制御クラス
Definition mgl_system_window.h:21
void Alert(const char *message) const noexcept
アラートの表示
Definition mgl_system_window.h:106
int32_t GetIdentifier() const noexcept
ウィンドウの識別子を取得
Definition mgl_system_window.h:128
void SetTitle(const char *title) noexcept
ウィンドウタイトルの設定
Definition mgl_system_window.h:117
ScreenSize GetScreenSize() const noexcept
ウィンドウが存在しているディスプレイの情報を取得
Definition mgl_system_window.h:139
void Focus() noexcept
ウィンドウにフォーカスを設定
Definition mgl_system_window.h:83
bool IsFullscreen() const noexcept
フルスクリーン状態の取得
Definition mgl_system_window.h:72
void Resize(uint32_t width, uint32_t height) noexcept
サイズの変更
Definition mgl_system_window.h:39
bool IsFocused() const noexcept
フォーカス状態の取得
Definition mgl_system_window.h:95
Window() noexcept
コンストラクタ
Definition mgl_system_window.h:28
void SetFullscreen(bool isEnabled) noexcept
フルスクリーンの設定
Definition mgl_system_window.h:50
void ToggleFullscreen() noexcept
フルスクリーンの有効・無効の切り替え
Definition mgl_system_window.h:60
ウィンドウ機能のインターフェース
Definition mgl_window_module_interface.h:22
virtual bool IsFullscreen() const noexcept=0
フルスクリーン状態の取得
virtual ScreenSize GetScreenSize() const noexcept=0
ウィンドウが存在している画面のサイズ情報を取得
virtual void Alert(const char *message) const noexcept=0
アラートの表示
virtual void SetFullscreen(bool isEnabled) noexcept=0
フルスクリーンの設定
virtual void SetTitle(const char *title) noexcept=0
ウィンドウタイトルの設定
virtual int32_t GetIdentifier() const noexcept=0
ウィンドウの識別子を取得
virtual bool IsFocused() const noexcept=0
フォーカス状態の取得
virtual void Resize(uint32_t width, uint32_t height) noexcept=0
サイズの変更
virtual void Focus() noexcept=0
ウィンドウにフォーカスを設定
virtual void ToggleFullscreen() noexcept=0
フルスクリーンの有効・無効の切り替え
MGL 環境定義
MGL システム関連モジュールセット
画面サイズ情報
Definition mgl_system_defs.h:20