Fix the control window losing focus when you resize the presenter window.

master
Zed A. Shaw 3 weeks ago
parent baa8f0f537
commit 717f90eae4
  1. 4
      src/control_ui.cpp
  2. 5
      src/main.cpp

@ -89,10 +89,10 @@ void ControlUI::render(sf::RenderWindow& window, SlideDeck& deck) {
void ControlUI::full_screen(bool do_it) { void ControlUI::full_screen(bool do_it) {
if(do_it) { if(do_it) {
$presenter.setSize($window_size); $presenter.setSize($window_size);
$presenter.setMouseCursorVisible(false); $controller.requestFocus();
} else { } else {
$presenter.setSize({$window_size.x/2, $window_size.y/2}); $presenter.setSize({$window_size.x/2, $window_size.y/2});
$presenter.setMouseCursorVisible(true); $controller.requestFocus();
} }
$full_screen = do_it; $full_screen = do_it;

@ -67,15 +67,14 @@ int main(int argc, char *argv[]) {
return a.size.x == WINDOW_WIDTH && a.size.y == WINDOW_HEIGHT; return a.size.x == WINDOW_WIDTH && a.size.y == WINDOW_HEIGHT;
}); });
sf::RenderWindow controller(sf::VideoMode({CONTROL_WIDTH, CONTROL_HEIGHT}), "Bezos Loves Control");
sf::RenderWindow presenter(*screen_mode, sf::RenderWindow presenter(*screen_mode,
"Bezos Loves Slides", sf::Style::None, sf::State::Windowed); "Bezos Loves Slides", sf::Style::None, sf::State::Windowed);
presenter.setMouseCursorVisible(false);
presenter.setFramerateLimit(FRAME_LIMIT); presenter.setFramerateLimit(FRAME_LIMIT);
presenter.setVerticalSyncEnabled(VSYNC); presenter.setVerticalSyncEnabled(VSYNC);
sf::RenderWindow controller(sf::VideoMode({CONTROL_WIDTH, CONTROL_HEIGHT}), "Bezos Loves Control");
auto backend = std::make_shared<gui::Backend>(); auto backend = std::make_shared<gui::Backend>();
auto slides = load_slides(argv[1], backend); auto slides = load_slides(argv[1], backend);

Loading…
Cancel
Save