summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2023-12-19 21:24:00 +0100
committerCarl Hetherington <cth@carlh.net>2023-12-19 23:25:29 +0100
commit959e2b1a5c799427375fc8f7bb11389f699cfe21 (patch)
tree3f7dfe10b1dcd552c062007f1f07ba02b0a171cf /src
parentb73b0d73dc2894d8a746f930f1025301e3e712ad (diff)
Improve positioning of player windows in dual screen mode.
Diffstat (limited to 'src')
-rw-r--r--src/tools/dcpomatic_player.cc19
1 files changed, 8 insertions, 11 deletions
diff --git a/src/tools/dcpomatic_player.cc b/src/tools/dcpomatic_player.cc
index 3cd25e3ea..133cabf95 100644
--- a/src/tools/dcpomatic_player.cc
+++ b/src/tools/dcpomatic_player.cc
@@ -881,17 +881,14 @@ private:
LOG_DEBUG_PLAYER(" Primary? %1", static_cast<int>(display.IsPrimary()));
}
if (wxDisplay::GetCount() > 1) {
- switch (Config::instance()->image_display()) {
- case 0:
- _dual_screen->Move (0, 0);
- Move (wxDisplay(0U).GetClientArea().GetWidth(), 0);
- break;
- case 1:
- _dual_screen->Move (wxDisplay(0U).GetClientArea().GetWidth(), 0);
- // (0, 0) doesn't seem to work for some strange reason
- Move (8, 8);
- break;
- }
+ wxRect geometry[2] = {
+ wxDisplay(0U).GetGeometry(),
+ wxDisplay(1U).GetGeometry()
+ };
+ auto const image_display = Config::instance()->image_display();
+ _dual_screen->Move(geometry[image_display].GetX(), geometry[image_display].GetY());
+ _viewer.panel()->SetSize(geometry[image_display].GetWidth(), geometry[image_display].GetHeight());
+ Move(geometry[1 - image_display].GetX(), geometry[1 - image_display].GetY());
}
_dual_screen->Bind(wxEVT_CHAR_HOOK, boost::bind(&DOMFrame::dual_screen_key_press, this, _1));
} else {