FineKernelToolKit: FK/Fullscreen.h ソースファイル

FineKernelToolKit 4.3.0

読み取り中…
検索中…
一致する文字列を見つけられません
Fullscreen.h
[詳解]
1#if !defined(__FK_FULLSCREEN_HEADER__)
2#define __FK_FULLSCREEN_HEADER__
3
4#include <FK/Window.h>
5
6#if defined(WIN32) && !defined(_MINGW_)
7
8#include <FL/x.h>
9#include <windows.h>
10
11#endif //WIN32
12
13namespace FK {
14
16
26 class fk_FullscreenController {
27
28#if !defined(FK_DOXYGEN_USER_PROCESS) && defined(WIN32) && !defined(_MINGW_) && !defined(FK_CLI_CODE)
29
30 class Member {
31 public:
32
33 Fl_Window *pFlWnd;
34 fk_Window *pFkWnd;
35 HWND hFlWnd;
36 int nWndX, nWndY, nWndW, nWndH;
37 int fscW, fscH;
38 bool mode;
39
40 Member(void);
41 };
42
43 enum class fk_FullscreenMode {
44 SCMODE_FULLSCREEN, // フルスクリーンモード
45 SCMODE_WINDOW // ウインドウモード
46 };
47#endif
48
49 public:
51 fk_FullscreenController(void);
53 ~fk_FullscreenController(void);
54
56
62 void init(Fl_Window *fl_win, fk_Window *fk_win);
63
65
70 bool isFullscreen(void);
71
73
78 bool changeToFullscreen(void);
79
81
84 void changeToWindow(void);
85
87#if !defined(FK_DOXYGEN_USER_PROCESS)
88 constexpr static int MAX_NAMELENGTH = 512;
89 constexpr static int MAX_WINDOWNUMBER = 128;
90#endif
91
92 private:
93#if defined(WIN32) && !defined(_MINGW_) && !defined(FK_CLI_CODE)
94 std::unique_ptr<Member> _m;
95
96 BOOL SaveWindowPosition();
97 BOOL LoadWindowPosition();
98 BOOL ChangeScreen(HWND, int, int, int);
99
100#endif //WIN32
101
102 };
103}
104#endif
105
106/****************************************************************************
107 *
108 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
109 *
110 * Redistribution and use in source and binary forms,
111 * with or without modification, are permitted provided that the
112 * following conditions are met:
113 *
114 * - Redistributions of source code must retain the above
115 * copyright notice, this list of conditions and the
116 * following disclaimer.
117 *
118 * - Redistributions in binary form must reproduce the above
119 * copyright notice, this list of conditions and the
120 * following disclaimer in the documentation and/or
121 * other materials provided with the distribution.
122 *
123 * - Neither the name of the copyright holders nor the names
124 * of its contributors may be used to endorse or promote
125 * products derived from this software without specific
126 * prior written permission.
127 *
128 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
129 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
130 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
131 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
132 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
133 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
134 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
135 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
136 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
137 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
138 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
139 * POSSIBILITY OF SUCH DAMAGE.
140 *
141 ****************************************************************************/
142/****************************************************************************
143 *
144 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
145 *
146 * 本ソフトウェアおよびソースコードのライセンスは、基本的に
147 * 「修正 BSD ライセンス」に従います。以下にその詳細を記します。
148 *
149 * ソースコード形式かバイナリ形式か、変更するかしないかを問わず、
150 * 以下の条件を満たす場合に限り、再頒布および使用が許可されます。
151 *
152 * - ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、
153 * および下記免責条項を含めること。
154 *
155 * - バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の
156 * 資料に、上記の著作権表示、本条件一覧、および下記免責条項を
157 * 含めること。
158 *
159 * - 書面による特別の許可なしに、本ソフトウェアから派生した製品の
160 * 宣伝または販売促進に、本ソフトウェアの著作権者の名前または
161 * コントリビューターの名前を使用してはならない。
162 *
163 * 本ソフトウェアは、著作権者およびコントリビューターによって「現
164 * 状のまま」提供されており、明示黙示を問わず、商業的な使用可能性、
165 * および特定の目的に対する適合性に関す暗黙の保証も含め、またそれ
166 * に限定されない、いかなる保証もないものとします。著作権者もコン
167 * トリビューターも、事由のいかんを問わず、損害発生の原因いかんを
168 * 問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その
169 * 他の)不法行為であるかを問わず、仮にそのような損害が発生する可
170 * 能性を知らされていたとしても、本ソフトウェアの使用によって発生
171 * した(代替品または代用サービスの調達、使用の喪失、データの喪失、
172 * 利益の喪失、業務の中断も含め、またそれに限定されない)直接損害、
173 * 間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害に
174 * ついて、一切責任を負わないものとします。
175 *
176 ****************************************************************************/
Window.h
FK::fk_FullscreenController::fk_FullscreenController
fk_FullscreenController(void)
コンストラクタ
FK::fk_FullscreenController::isFullscreen
bool isFullscreen(void)
フルスクリーンモード取得関数
FK::fk_FullscreenController::init
void init(Fl_Window *fl_win, fk_Window *fk_win)
初期化関数
FK::fk_FullscreenController::changeToFullscreen
bool changeToFullscreen(void)
フルスクリーン化関数
FK::fk_FullscreenController::~fk_FullscreenController
~fk_FullscreenController(void)
デストラクタ
FK::fk_FullscreenController::changeToWindow
void changeToWindow(void)
ウィンドウ化関数
FK::fk_Window
FLTK 用シーン描画ウィジェットクラス
Definition Window.h:120
FK
Fine Kernel Toolkit 名前空間
Definition Angle.h:6