MCPcopy Create free account
hub / github.com/OpenXcom/OpenXcom / handle

Method handle

src/Engine/Screen.cpp:140–174  ·  view source on GitHub ↗

* Handles screen key shortcuts. * @param action Pointer to an action. */

Source from the content-addressed store, hash-verified

138 * @param action Pointer to an action.
139 */
140void Screen::handle(Action *action)
141{
142 if (Options::debug)
143 {
144 if (action->getDetails()->type == SDL_KEYDOWN && action->getDetails()->key.keysym.sym == SDLK_F8)
145 {
146 switch(Timer::gameSlowSpeed)
147 {
148 case 1: Timer::gameSlowSpeed = 5; break;
149 case 5: Timer::gameSlowSpeed = 15; break;
150 default: Timer::gameSlowSpeed = 1; break;
151 }
152 }
153 }
154
155 if (action->getDetails()->type == SDL_KEYDOWN && action->getDetails()->key.keysym.sym == SDLK_RETURN && (SDL_GetModState() & KMOD_ALT) != 0)
156 {
157 Options::fullscreen = !Options::fullscreen;
158 resetDisplay();
159 }
160 else if (action->getDetails()->type == SDL_KEYDOWN && action->getDetails()->key.keysym.sym == Options::keyScreenshot)
161 {
162 std::ostringstream ss;
163 int i = 0;
164 do
165 {
166 ss.str("");
167 ss << Options::getUserFolder() << "screen" << std::setfill('0') << std::setw(3) << i << ".png";
168 i++;
169 }
170 while (CrossPlatform::fileExists(ss.str()));
171 screenshot(ss.str());
172 return;
173 }
174}
175
176
177/**

Callers

nothing calls this directly

Calls 3

getUserFolderFunction · 0.85
fileExistsFunction · 0.85
getDetailsMethod · 0.80

Tested by

no test coverage detected