Merge remote-tracking branch 'mjbudd77/master'
This commit is contained in:
commit
2cc52f101f
|
@ -30,6 +30,7 @@
|
||||||
|
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
#include <QScreen>
|
#include <QScreen>
|
||||||
|
#include <QWindow>
|
||||||
#include <QMouseEvent>
|
#include <QMouseEvent>
|
||||||
|
|
||||||
#if defined(QT_OPENGL_ES) || defined(QT_OPENGL_ES_2)
|
#if defined(QT_OPENGL_ES) || defined(QT_OPENGL_ES_2)
|
||||||
|
@ -72,13 +73,6 @@ ConsoleViewGL_t::ConsoleViewGL_t(QWidget *parent)
|
||||||
setMinimumHeight( 224 );
|
setMinimumHeight( 224 );
|
||||||
setFocusPolicy(Qt::StrongFocus);
|
setFocusPolicy(Qt::StrongFocus);
|
||||||
|
|
||||||
QScreen *screen = QGuiApplication::primaryScreen();
|
|
||||||
|
|
||||||
if ( screen != NULL )
|
|
||||||
{
|
|
||||||
devPixRatio = screen->devicePixelRatio();
|
|
||||||
//printf("Ratio: %f \n", screen->devicePixelRatio() );
|
|
||||||
}
|
|
||||||
localBufSize = (4 * GL_NES_WIDTH) * (4 * GL_NES_HEIGHT) * sizeof(uint32_t);
|
localBufSize = (4 * GL_NES_WIDTH) * (4 * GL_NES_HEIGHT) * sizeof(uint32_t);
|
||||||
|
|
||||||
localBuf = (uint32_t*)malloc( localBufSize );
|
localBuf = (uint32_t*)malloc( localBufSize );
|
||||||
|
@ -116,8 +110,43 @@ ConsoleViewGL_t::~ConsoleViewGL_t(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ConsoleViewGL_t::screenChanged( QScreen *screen )
|
||||||
|
{
|
||||||
|
int w,h;
|
||||||
|
|
||||||
|
devPixRatio = screen->devicePixelRatio();
|
||||||
|
|
||||||
|
w = (int)(devPixRatio * width() );
|
||||||
|
h = (int)(devPixRatio * height() );
|
||||||
|
|
||||||
|
view_width = w;
|
||||||
|
view_height = h;
|
||||||
|
|
||||||
|
gui_draw_area_width = w;
|
||||||
|
gui_draw_area_height = h;
|
||||||
|
|
||||||
|
buildTextures();
|
||||||
|
|
||||||
|
//printf("GL Ratio: %f %ix%i\n", screen->devicePixelRatio(), w, h );
|
||||||
|
}
|
||||||
|
|
||||||
int ConsoleViewGL_t::init( void )
|
int ConsoleViewGL_t::init( void )
|
||||||
{
|
{
|
||||||
|
QScreen *screen = NULL;
|
||||||
|
|
||||||
|
if ( window() != NULL )
|
||||||
|
{
|
||||||
|
if ( window()->windowHandle() != NULL )
|
||||||
|
{
|
||||||
|
screen = window()->windowHandle()->screen();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( screen != NULL )
|
||||||
|
{
|
||||||
|
devPixRatio = screen->devicePixelRatio();
|
||||||
|
printf("GL Ratio: %f \n", screen->devicePixelRatio() );
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
|
#include <QScreen>
|
||||||
#include <QOpenGLWidget>
|
#include <QOpenGLWidget>
|
||||||
#include <QOpenGLFunctions>
|
#include <QOpenGLFunctions>
|
||||||
|
|
||||||
|
@ -36,6 +37,8 @@ class ConsoleViewGL_t : public QOpenGLWidget, protected QOpenGLFunctions
|
||||||
void getAspectXY( double &x, double &y );
|
void getAspectXY( double &x, double &y );
|
||||||
double getAspectRatio(void);
|
double getAspectRatio(void);
|
||||||
|
|
||||||
|
void screenChanged(QScreen *scr);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void initializeGL(void);
|
void initializeGL(void);
|
||||||
void resizeGL(int w, int h);
|
void resizeGL(int w, int h);
|
||||||
|
|
|
@ -221,6 +221,7 @@ consoleWin_t::consoleWin_t(QWidget *parent)
|
||||||
// Create AVI Recording Disk Thread
|
// Create AVI Recording Disk Thread
|
||||||
aviDiskThread = new AviRecordDiskThread_t(this);
|
aviDiskThread = new AviRecordDiskThread_t(this);
|
||||||
|
|
||||||
|
scrHandlerConnected = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
consoleWin_t::~consoleWin_t(void)
|
consoleWin_t::~consoleWin_t(void)
|
||||||
|
@ -334,6 +335,46 @@ void consoleWin_t::videoReset(void)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void consoleWin_t::initScreenHandler(void)
|
||||||
|
{
|
||||||
|
if ( !scrHandlerConnected )
|
||||||
|
{
|
||||||
|
QWidget *w;
|
||||||
|
|
||||||
|
w = this->window();
|
||||||
|
|
||||||
|
// This needs to be scheduled after window creation.
|
||||||
|
if ( w != NULL)
|
||||||
|
{
|
||||||
|
QWindow *hdl = w->windowHandle();
|
||||||
|
|
||||||
|
if (hdl != NULL)
|
||||||
|
{
|
||||||
|
//printf("Connecting to screenChanged Signal\n");
|
||||||
|
connect( hdl, SIGNAL(screenChanged(QScreen*)), this, SLOT(winScreenChanged(QScreen*)) );
|
||||||
|
scrHandlerConnected = true;
|
||||||
|
|
||||||
|
winScreenChanged( hdl->screen() );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void consoleWin_t::winScreenChanged(QScreen *scr)
|
||||||
|
{
|
||||||
|
if ( scr == NULL )
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//printf("Screen Changed: %p\n", scr );
|
||||||
|
if ( viewport_GL != NULL )
|
||||||
|
{
|
||||||
|
viewport_GL->screenChanged( scr );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
QSize consoleWin_t::calcRequiredSize(void)
|
QSize consoleWin_t::calcRequiredSize(void)
|
||||||
{
|
{
|
||||||
QSize out( GL_NES_WIDTH, GL_NES_HEIGHT );
|
QSize out( GL_NES_WIDTH, GL_NES_HEIGHT );
|
||||||
|
@ -644,6 +685,12 @@ void consoleWin_t::dropEvent(QDropEvent *event)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void consoleWin_t::showEvent(QShowEvent *event)
|
||||||
|
{
|
||||||
|
//printf("Main Window Show Event\n");
|
||||||
|
initScreenHandler();
|
||||||
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
void consoleWin_t::initHotKeys(void)
|
void consoleWin_t::initHotKeys(void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -248,6 +248,7 @@ class consoleWin_t : public QMainWindow
|
||||||
bool mainMenuEmuPauseSet;
|
bool mainMenuEmuPauseSet;
|
||||||
bool mainMenuEmuWasPaused;
|
bool mainMenuEmuWasPaused;
|
||||||
bool mainMenuPauseWhenActv;
|
bool mainMenuPauseWhenActv;
|
||||||
|
bool scrHandlerConnected;
|
||||||
|
|
||||||
std::list <std::string*> romList;
|
std::list <std::string*> romList;
|
||||||
std::vector <autoFireMenuAction*> afActList;
|
std::vector <autoFireMenuAction*> afActList;
|
||||||
|
@ -261,11 +262,13 @@ class consoleWin_t : public QMainWindow
|
||||||
void keyReleaseEvent(QKeyEvent *event);
|
void keyReleaseEvent(QKeyEvent *event);
|
||||||
void dragEnterEvent(QDragEnterEvent *event);
|
void dragEnterEvent(QDragEnterEvent *event);
|
||||||
void dropEvent(QDropEvent *event);
|
void dropEvent(QDropEvent *event);
|
||||||
|
void showEvent(QShowEvent *event);
|
||||||
void syncActionConfig( QAction *act, const char *property );
|
void syncActionConfig( QAction *act, const char *property );
|
||||||
void showErrorMsgWindow(void);
|
void showErrorMsgWindow(void);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void initHotKeys(void);
|
void initHotKeys(void);
|
||||||
|
void initScreenHandler(void);
|
||||||
void createMainMenu(void);
|
void createMainMenu(void);
|
||||||
void buildRecentRomMenu(void);
|
void buildRecentRomMenu(void);
|
||||||
void saveRecentRomMenu(void);
|
void saveRecentRomMenu(void);
|
||||||
|
@ -405,6 +408,7 @@ class consoleWin_t : public QMainWindow
|
||||||
void wavRecordStart(void);
|
void wavRecordStart(void);
|
||||||
void wavRecordAsStart(void);
|
void wavRecordAsStart(void);
|
||||||
void wavRecordStop(void);
|
void wavRecordStop(void);
|
||||||
|
void winScreenChanged( QScreen *scr );
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue