FineKernelToolKit
4.2.13
読み取り中…
検索中…
一致する文字列を見つけられません
FK
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
13
namespace
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
フルスクリーン制御クラス
Definition
Fullscreen.h:26
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
構築:
1.9.8