File tree Expand file tree Collapse file tree 2 files changed +24
-8
lines changed Expand file tree Collapse file tree 2 files changed +24
-8
lines changed Original file line number Diff line number Diff line change @@ -14,16 +14,22 @@ namespace cage
1414 ModifiersFlags keyModifiers = ModifiersFlags::None;
1515
1616 void update (bool fullscreen);
17+ void toggle ();
18+ void restoreFromConfig ();
1719 };
1820
21+ namespace detail
22+ {
23+ bool defaultFullscreenSettingFromEnvironment ();
24+ }
25+
1926 struct FullscreenSwitcherCreateConfig
2027 {
2128 String configPrefix;
2229 Window *window = nullptr ;
23- bool defaultFullscreen = true ;
30+ bool defaultFullscreen = detail::defaultFullscreenSettingFromEnvironment() ;
2431
2532 FullscreenSwitcherCreateConfig ();
26- explicit FullscreenSwitcherCreateConfig (bool defaultFullscreen);
2733 };
2834
2935 Holder<FullscreenSwitcher> newFullscreenSwitcher (const FullscreenSwitcherCreateConfig &config);
Original file line number Diff line number Diff line change @@ -109,7 +109,7 @@ namespace cage
109109 {
110110 if (in.mods == keyModifiers && in.key == keyToggleFullscreen)
111111 {
112- update (!window-> isFullscreen () );
112+ toggle ( );
113113 return true ;
114114 }
115115 return false ;
@@ -123,9 +123,21 @@ namespace cage
123123 impl->update (fullscreen);
124124 }
125125
126- namespace
126+ void FullscreenSwitcher::toggle ()
127+ {
128+ FullscreenSwitcherImpl *impl = (FullscreenSwitcherImpl *)this ;
129+ update (!impl->window ->isFullscreen ());
130+ }
131+
132+ void FullscreenSwitcher::restoreFromConfig ()
127133 {
128- bool defaultFullscreenEnvironment ()
134+ FullscreenSwitcherImpl *impl = (FullscreenSwitcherImpl *)this ;
135+ impl->update (impl->confFullscreenEnabled );
136+ }
137+
138+ namespace detail
139+ {
140+ bool defaultFullscreenSettingFromEnvironment ()
129141 {
130142 const char *env = std::getenv (" CAGE_FULLSCREEN_DEFAULT" );
131143 if (!env)
@@ -144,9 +156,7 @@ namespace cage
144156 }
145157 }
146158
147- FullscreenSwitcherCreateConfig::FullscreenSwitcherCreateConfig () : FullscreenSwitcherCreateConfig(defaultFullscreenEnvironment()) {}
148-
149- FullscreenSwitcherCreateConfig::FullscreenSwitcherCreateConfig (bool defaultFullscreen) : defaultFullscreen(defaultFullscreen)
159+ FullscreenSwitcherCreateConfig::FullscreenSwitcherCreateConfig ()
150160 {
151161 configPrefix = detail::globalConfigPrefix ();
152162 window = cage::engineWindow ();
You can’t perform that action at this time.
0 commit comments