diff options
| author | Carl Hetherington <cth@carlh.net> | 2023-12-19 21:24:00 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2023-12-19 23:25:29 +0100 |
| commit | 959e2b1a5c799427375fc8f7bb11389f699cfe21 (patch) | |
| tree | 3f7dfe10b1dcd552c062007f1f07ba02b0a171cf /src | |
| parent | b73b0d73dc2894d8a746f930f1025301e3e712ad (diff) | |
Improve positioning of player windows in dual screen mode.
Diffstat (limited to 'src')
| -rw-r--r-- | src/tools/dcpomatic_player.cc | 19 |
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 { |
