Added current window and viewport size readouts to Qt video config window.
This commit is contained in:
parent
dda6cb33bb
commit
2f83d11baa
|
@ -266,7 +266,6 @@ ConsoleVideoConfDialog_t::ConsoleVideoConfDialog_t(QWidget *parent)
|
|||
|
||||
main_hbox->addLayout( vbox2 );
|
||||
vbox2->addWidget( gbox, 1 );
|
||||
vbox2->addStretch( 5 );
|
||||
gbox->setLayout(grid);
|
||||
|
||||
ntsc_start = new QLineEdit();
|
||||
|
@ -337,28 +336,64 @@ ConsoleVideoConfDialog_t::ConsoleVideoConfDialog_t(QWidget *parent)
|
|||
grid->addWidget( pal_end , 2, 2, Qt::AlignLeft);
|
||||
grid->addWidget( clipSidesCbx, 3, 0, 1, 3);
|
||||
|
||||
gbox = new QGroupBox( tr("Current Dimensions") );
|
||||
grid = new QGridLayout();
|
||||
|
||||
vbox2->addWidget( gbox, 1 );
|
||||
gbox->setLayout(grid);
|
||||
|
||||
winSizeReadout = new QLineEdit();
|
||||
winSizeReadout->setFont( font );
|
||||
winSizeReadout->setReadOnly(true);
|
||||
winSizeReadout->setAlignment(Qt::AlignCenter);
|
||||
|
||||
vpSizeReadout = new QLineEdit();
|
||||
vpSizeReadout->setFont( font );
|
||||
vpSizeReadout->setReadOnly(true);
|
||||
vpSizeReadout->setAlignment(Qt::AlignCenter);
|
||||
|
||||
grid->addWidget( new QLabel( tr("Window:") ), 0, 0, Qt::AlignLeft);
|
||||
grid->addWidget( new QLabel( tr("Viewport:") ), 1, 0, Qt::AlignLeft);
|
||||
grid->addWidget( winSizeReadout, 0, 1, Qt::AlignLeft);
|
||||
grid->addWidget( vpSizeReadout, 1, 1, Qt::AlignLeft);
|
||||
|
||||
vbox2->addStretch( 5 );
|
||||
|
||||
setLayout( main_vbox );
|
||||
|
||||
updateReadouts();
|
||||
|
||||
updateTimer = new QTimer( this );
|
||||
|
||||
connect( updateTimer, &QTimer::timeout, this, &ConsoleVideoConfDialog_t::periodicUpdate );
|
||||
|
||||
updateTimer->start( 500 ); // 2Hz
|
||||
}
|
||||
//----------------------------------------------------
|
||||
ConsoleVideoConfDialog_t::~ConsoleVideoConfDialog_t(void)
|
||||
{
|
||||
printf("Destroy Video Config Window\n");
|
||||
|
||||
updateTimer->stop();
|
||||
}
|
||||
//----------------------------------------------------------------------------
|
||||
void ConsoleVideoConfDialog_t::closeEvent(QCloseEvent *event)
|
||||
{
|
||||
printf("Video Config Close Window Event\n");
|
||||
done(0);
|
||||
printf("Video Config Close Window Event\n");
|
||||
done(0);
|
||||
deleteLater();
|
||||
event->accept();
|
||||
event->accept();
|
||||
}
|
||||
//----------------------------------------------------------------------------
|
||||
void ConsoleVideoConfDialog_t::periodicUpdate(void)
|
||||
{
|
||||
updateReadouts();
|
||||
}
|
||||
//----------------------------------------------------------------------------
|
||||
void ConsoleVideoConfDialog_t::closeWindow(void)
|
||||
{
|
||||
//printf("Video Config Close Window\n");
|
||||
done(0);
|
||||
//printf("Video Config Close Window\n");
|
||||
done(0);
|
||||
deleteLater();
|
||||
}
|
||||
//----------------------------------------------------
|
||||
|
@ -370,6 +405,34 @@ void ConsoleVideoConfDialog_t::resetVideo(void)
|
|||
fceuWrapperUnLock();
|
||||
}
|
||||
//----------------------------------------------------
|
||||
void ConsoleVideoConfDialog_t::updateReadouts(void)
|
||||
{
|
||||
if ( consoleWindow )
|
||||
{
|
||||
QSize w, v;
|
||||
char stmp[128];
|
||||
|
||||
w = consoleWindow->size();
|
||||
|
||||
if ( consoleWindow->viewport_GL )
|
||||
{
|
||||
v = consoleWindow->viewport_GL->size();
|
||||
}
|
||||
else if ( consoleWindow->viewport_SDL )
|
||||
{
|
||||
v = consoleWindow->viewport_SDL->size();
|
||||
}
|
||||
|
||||
sprintf( stmp, "%i x %i ", w.width(), w.height() );
|
||||
|
||||
winSizeReadout->setText( tr(stmp) );
|
||||
|
||||
sprintf( stmp, "%i x %i ", v.width(), v.height() );
|
||||
|
||||
vpSizeReadout->setText( tr(stmp) );
|
||||
}
|
||||
}
|
||||
//----------------------------------------------------
|
||||
void ConsoleVideoConfDialog_t::ntscStartScanLineChanged(const QString &txt)
|
||||
{
|
||||
int opt, opt2;
|
||||
|
@ -714,6 +777,8 @@ void ConsoleVideoConfDialog_t::applyChanges( void )
|
|||
}
|
||||
|
||||
consoleWindow->resize( s );
|
||||
|
||||
updateReadouts();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -29,6 +29,7 @@ class ConsoleVideoConfDialog_t : public QDialog
|
|||
protected:
|
||||
void closeEvent(QCloseEvent *bar);
|
||||
|
||||
QTimer *updateTimer;
|
||||
QComboBox *driverSelect;
|
||||
QComboBox *scalerSelect;
|
||||
QComboBox *regionSelect;
|
||||
|
@ -48,18 +49,22 @@ class ConsoleVideoConfDialog_t : public QDialog
|
|||
QLineEdit *ntsc_end;
|
||||
QLineEdit *pal_start;
|
||||
QLineEdit *pal_end;
|
||||
QLineEdit *winSizeReadout;
|
||||
QLineEdit *vpSizeReadout;
|
||||
|
||||
void setCheckBoxFromProperty( QCheckBox *cbx, const char *property );
|
||||
void setComboBoxFromProperty( QComboBox *cbx, const char *property );
|
||||
//void setSliderFromProperty( QSlider *slider, QLabel *lbl, const char *property );
|
||||
|
||||
void resetVideo(void);
|
||||
void updateReadouts(void);
|
||||
QSize calcNewScreenSize(void);
|
||||
|
||||
public slots:
|
||||
void closeWindow(void);
|
||||
|
||||
private slots:
|
||||
void periodicUpdate(void);
|
||||
void openGL_linearFilterChanged( int value );
|
||||
void autoScaleChanged( int value );
|
||||
void sqrPixChanged( int value );
|
||||
|
|
|
@ -260,8 +260,8 @@ InitConfig()
|
|||
config->addOption("doublebuf", "SDL.DoubleBuffering", 1);
|
||||
config->addOption("autoscale", "SDL.AutoScale", 1);
|
||||
config->addOption("keepratio", "SDL.KeepRatio", 1);
|
||||
config->addOption("xscale", "SDL.XScale", 2.0);
|
||||
config->addOption("yscale", "SDL.YScale", 2.0);
|
||||
config->addOption("xscale", "SDL.XScale", 2.000);
|
||||
config->addOption("yscale", "SDL.YScale", 2.000);
|
||||
config->addOption("xstretch", "SDL.XStretch", 0);
|
||||
config->addOption("ystretch", "SDL.YStretch", 0);
|
||||
config->addOption("noframe", "SDL.NoFrame", 0);
|
||||
|
|
|
@ -34,9 +34,9 @@ nes_shm_t *open_nes_shm(void)
|
|||
|
||||
memset( vaddr, 0, sizeof(struct nes_shm_t));
|
||||
|
||||
vaddr->video.ncol = 240;
|
||||
vaddr->video.nrow = 256;
|
||||
vaddr->video.pitch = 256 * 4;
|
||||
vaddr->video.ncol = GL_NES_WIDTH;
|
||||
vaddr->video.nrow = GL_NES_HEIGHT;
|
||||
vaddr->video.pitch = GL_NES_WIDTH * 4;
|
||||
vaddr->video.scale = 1;
|
||||
vaddr->video.xyRatio = 1;
|
||||
vaddr->video.preScaler = 0;
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
#define GL_WIN_DOUBLE_BUFFER 0x0002
|
||||
|
||||
#define GL_NES_WIDTH 256
|
||||
#define GL_NES_HEIGHT 256
|
||||
#define GL_NES_HEIGHT 240
|
||||
#define NES_AUDIO_BUFLEN 480000
|
||||
|
||||
struct nes_shm_t
|
||||
|
|
Loading…
Reference in New Issue