/* Copyright (c) 2013-2015 Jeffrey Pfau * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "Display.h" #include "DisplayGL.h" #include "DisplayQt.h" extern "C" { #include "gba/video.h" } using namespace QGBA; #ifdef BUILD_GL Display::Driver Display::s_driver = Display::Driver::OPENGL; #else Display::Driver Display::s_driver = Display::Driver::QT; #endif Display* Display::create(QWidget* parent) { #ifdef BUILD_GL QGLFormat format(QGLFormat(QGL::Rgba | QGL::DoubleBuffer)); format.setSwapInterval(1); #endif switch (s_driver) { #ifdef BUILD_GL case Driver::OPENGL: return new DisplayGL(format, parent); #endif case Driver::QT: return new DisplayQt(parent); default: #ifdef BUILD_GL return new DisplayGL(format, parent); #else return new DisplayQt(parent); #endif } } Display::Display(QWidget* parent) : QWidget(parent) { setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding); setMinimumSize(VIDEO_HORIZONTAL_PIXELS, VIDEO_VERTICAL_PIXELS); }