Permalink
Browse files

Qt: Simplify display sizing

  • Loading branch information...
endrift committed Mar 11, 2018
1 parent 351774e commit d22315cba5fb7d8ec6f9b2ae70cf69ecdbde9a88
Showing with 9 additions and 16 deletions.
  1. +0 −11 src/platform/qt/Display.cpp
  2. +9 −5 src/platform/qt/Window.cpp
@@ -8,12 +8,6 @@
#include "DisplayGL.h"
#include "DisplayQt.h"
-#ifdef M_CORE_GB
-#include <mgba/internal/gb/video.h>
-#elif defined(M_CORE_GBA)
-#include <mgba/internal/gba/video.h>
-#endif
-
using namespace QGBA;
#if defined(BUILD_GL) || defined(BUILD_GLES2) || defined(USE_EPOXY)
@@ -55,11 +49,6 @@ Display::Display(QWidget* parent)
: QWidget(parent)
{
setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
-#ifdef M_CORE_GB
- setMinimumSize(GB_VIDEO_HORIZONTAL_PIXELS, GB_VIDEO_VERTICAL_PIXELS);
-#elif defined(M_CORE_GBA)
- setMinimumSize(VIDEO_HORIZONTAL_PIXELS, VIDEO_VERTICAL_PIXELS);
-#endif
connect(&m_mouseTimer, &QTimer::timeout, this, &Display::hideCursor);
m_mouseTimer.setSingleShot(true);
m_mouseTimer.setInterval(MOUSE_DISAPPEAR_TIMER);
View
@@ -668,15 +668,14 @@ void Window::gameStarted() {
multiplayerChanged();
updateTitle();
QSize size = m_controller->screenDimensions();
- m_display->setMinimumSize(size);
- m_screenWidget->setMinimumSize(m_display->minimumSize());
m_screenWidget->setDimensions(size.width(), size.height());
m_config->updateOption("lockIntegerScaling");
m_config->updateOption("lockAspectRatio");
if (m_savedScale > 0) {
resizeFrame(size * m_savedScale);
}
attachWidget(m_display.get());
+ m_display->setMinimumSize(size);
#ifndef Q_OS_MAC
if (isFullScreen()) {
@@ -751,7 +750,6 @@ void Window::gameStopped() {
#elif defined(M_CORE_GBA)
m_display->setMinimumSize(VIDEO_HORIZONTAL_PIXELS, VIDEO_VERTICAL_PIXELS);
#endif
- m_screenWidget->setMinimumSize(m_display->minimumSize());
m_videoLayers->clear();
m_audioChannels->clear();
@@ -803,8 +801,7 @@ void Window::reloadDisplayDriver() {
m_shaderView.reset();
m_shaderView = std::make_unique<ShaderSelector>(m_display.get(), m_config);
#endif
- m_screenWidget->setMinimumSize(m_display->minimumSize());
- m_screenWidget->setSizePolicy(m_display->sizePolicy());
+
connect(this, &Window::shutdown, m_display.get(), &Display::stopDrawing);
connect(m_display.get(), &Display::hideCursor, [this]() {
if (static_cast<QStackedLayout*>(m_screenWidget->layout())->currentWidget() == m_display.get()) {
@@ -830,6 +827,7 @@ void Window::reloadDisplayDriver() {
#endif
if (m_controller) {
+ m_display->setMinimumSize(m_controller->screenDimensions());
connect(m_controller.get(), &CoreController::stopping, m_display.get(), &Display::stopDrawing);
connect(m_controller.get(), &CoreController::stateLoaded, m_display.get(), &Display::forceDraw);
connect(m_controller.get(), &CoreController::rewound, m_display.get(), &Display::forceDraw);
@@ -840,6 +838,12 @@ void Window::reloadDisplayDriver() {
attachWidget(m_display.get());
m_display->startDrawing(m_controller);
+ } else {
+#ifdef M_CORE_GB
+ m_display->setMinimumSize(GB_VIDEO_HORIZONTAL_PIXELS, GB_VIDEO_VERTICAL_PIXELS);
+#elif defined(M_CORE_GBA)
+ m_display->setMinimumSize(VIDEO_HORIZONTAL_PIXELS, VIDEO_VERTICAL_PIXELS);
+#endif
}
}

0 comments on commit d22315c

Please sign in to comment.