@ -19,13 +19,21 @@ volatile sig_atomic_t do_exit = 0;
MainWindow : : MainWindow ( QWidget * parent ) : QWidget ( parent ) {
main_layout = new QStackedLayout ;
# ifdef QCOM2
QLabel * label = new QLabel ( this ) ;
main_layout - > addWidget ( label ) ;
GLWindow * glWindow = new GLWindow ;
glWindow - > setLabel ( label ) ;
glWindow - > show ( ) ;
# else
GLWindow * glWindow = new GLWindow ( this ) ;
main_layout - > addWidget ( glWindow ) ;
# endif
SettingsWindow * settingsWindow = new SettingsWindow ( this ) ;
main_layout - > addWidget ( settingsWindow ) ;
main_layout - > setMargin ( 0 ) ;
setLayout ( main_layout ) ;
QObject : : connect ( glWindow , SIGNAL ( openSettings ( ) ) , this , SLOT ( openSettings ( ) ) ) ;
@ -52,6 +60,10 @@ GLWindow::GLWindow(QWidget *parent) : QOpenGLWidget(parent) {
timer = new QTimer ( this ) ;
QObject : : connect ( timer , SIGNAL ( timeout ( ) ) , this , SLOT ( timerUpdate ( ) ) ) ;
# ifdef QCOM2
setFixedWidth ( vwp_w ) ;
setFixedHeight ( vwp_h ) ;
# endif
}
GLWindow : : ~ GLWindow ( ) {
@ -59,6 +71,10 @@ GLWindow::~GLWindow() {
doneCurrent ( ) ;
}
void GLWindow : : setLabel ( QLabel * l ) {
label = l ;
}
void GLWindow : : initializeGL ( ) {
initializeOpenGLFunctions ( ) ;
std : : cout < < " OpenGL version: " < < glGetString ( GL_VERSION ) < < std : : endl ;
@ -78,6 +94,13 @@ void GLWindow::initializeGL() {
void GLWindow : : timerUpdate ( ) {
ui_update ( ui_state ) ;
update ( ) ;
if ( label ! = NULL ) {
QImage img = grabFramebuffer ( ) ;
QTransform transform ;
transform . rotate ( 90 ) ;
label - > setPixmap ( QPixmap : : fromImage ( img ) . transformed ( transform ) ) ;
}
}
void GLWindow : : resizeGL ( int w , int h ) {