Implemented a little screenshot tool.

master
Zed A. Shaw 15 hours ago
parent f64b202ee7
commit 056b0b307b
  1. 13
      gui/fsm.cpp
  2. 1
      gui/fsm.hpp

@ -361,6 +361,9 @@ namespace gui {
case KEY::X: case KEY::X:
event(Event::STAIRS_DOWN); event(Event::STAIRS_DOWN);
break; break;
case KEY::F5:
take_screenshot();
break;
default: default:
break; // ignored break; // ignored
} }
@ -519,6 +522,16 @@ namespace gui {
} }
} }
void FSM::take_screenshot() {
auto size = $window.getSize();
sf::Texture shot{size};
shot.update($window);
sf::Image out_img = shot.copyToImage();
bool worked = out_img.saveToFile("./screenshot.png");
dbc::check(worked, "Failed to write screenshot.png");
}
void FSM::next_level() { void FSM::next_level() {
$levels.create_level($level.world); $levels.create_level($level.world);
$level = $levels.next(); $level = $levels.next();

@ -79,5 +79,6 @@ namespace gui {
void handle_world_events(); void handle_world_events();
void next_level(); void next_level();
void debug_render(); void debug_render();
void take_screenshot();
}; };
} }

Loading…
Cancel
Save