132 lines
3.8 KiB
C++
Executable File
132 lines
3.8 KiB
C++
Executable File
class CanvasObject : public QWidget {
|
|
public:
|
|
void dragEnterEvent(QDragEnterEvent*);
|
|
void dropEvent(QDropEvent*);
|
|
};
|
|
|
|
class CanvasWidget : public CanvasObject {
|
|
public:
|
|
QPaintEngine* paintEngine() const;
|
|
void mouseReleaseEvent(QMouseEvent*);
|
|
void paintEvent(QPaintEvent*);
|
|
};
|
|
|
|
class MainWindow : public QObject {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
struct Window : public QMainWindow {
|
|
void closeEvent(QCloseEvent*);
|
|
} *window;
|
|
QVBoxLayout *layout;
|
|
QMenu *system;
|
|
QAction *system_load;
|
|
QMenu *system_power;
|
|
QAction *system_power_on;
|
|
QAction *system_power_off;
|
|
QAction *system_reset;
|
|
QAction *system_irq;
|
|
QMenu *system_port1;
|
|
QAction *system_port1_none;
|
|
QAction *system_port1_joypad;
|
|
QAction *system_port1_multitap;
|
|
QAction *system_port1_mouse;
|
|
QMenu *system_port2;
|
|
QAction *system_port2_none;
|
|
QAction *system_port2_joypad;
|
|
QAction *system_port2_multitap;
|
|
QAction *system_port2_mouse;
|
|
QAction *system_port2_superscope;
|
|
QAction *system_port2_justifier;
|
|
QAction *system_port2_justifiers;
|
|
QAction *system_exit;
|
|
QMenu *settings;
|
|
QMenu *settings_videoMode;
|
|
QAction *settings_videoMode_1x;
|
|
QAction *settings_videoMode_2x;
|
|
QAction *settings_videoMode_3x;
|
|
QAction *settings_videoMode_4x;
|
|
QAction *settings_videoMode_max;
|
|
QAction *settings_videoMode_correctAspectRatio;
|
|
QAction *settings_videoMode_fullscreen;
|
|
QAction *settings_videoMode_ntsc;
|
|
QAction *settings_videoMode_pal;
|
|
QMenu *settings_videoFilter;
|
|
QAction *settings_videoFilter_point;
|
|
QAction *settings_videoFilter_linear;
|
|
QAction *settings_videoFilter_none;
|
|
QAction *settings_videoFilter_scanline;
|
|
QAction *settings_videoFilter_scale2x;
|
|
QAction *settings_videoFilter_hq2x;
|
|
QAction *settings_videoFilter_ntsc;
|
|
QAction *settings_muteAudio;
|
|
QMenu *settings_emulationSpeed;
|
|
QAction *settings_emulationSpeed_slowest;
|
|
QAction *settings_emulationSpeed_slow;
|
|
QAction *settings_emulationSpeed_normal;
|
|
QAction *settings_emulationSpeed_fast;
|
|
QAction *settings_emulationSpeed_fastest;
|
|
QAction *settings_emulationSpeed_syncVideo;
|
|
QAction *settings_emulationSpeed_syncAudio;
|
|
QAction *settings_configuration;
|
|
QMenu *help;
|
|
QAction *help_documentation;
|
|
QAction *help_license;
|
|
QAction *help_about;
|
|
//
|
|
CanvasObject *canvasContainer;
|
|
QVBoxLayout *canvasLayout;
|
|
CanvasWidget *canvas;
|
|
QLabel *systemState;
|
|
|
|
void setup();
|
|
void syncUi();
|
|
|
|
public slots:
|
|
void loadCartridge();
|
|
void powerOn();
|
|
void powerOff();
|
|
void reset();
|
|
void irq();
|
|
void setPort1None();
|
|
void setPort1Joypad();
|
|
void setPort1Multitap();
|
|
void setPort1Mouse();
|
|
void setPort2None();
|
|
void setPort2Joypad();
|
|
void setPort2Multitap();
|
|
void setPort2Mouse();
|
|
void setPort2SuperScope();
|
|
void setPort2Justifier();
|
|
void setPort2Justifiers();
|
|
void quit();
|
|
void setVideoMode1x();
|
|
void setVideoMode2x();
|
|
void setVideoMode3x();
|
|
void setVideoMode4x();
|
|
void setVideoModeMax();
|
|
void toggleAspectCorrection();
|
|
void toggleFullscreen();
|
|
void setVideoNtsc();
|
|
void setVideoPal();
|
|
void setPointFilter();
|
|
void setLinearFilter();
|
|
void setNoFilter();
|
|
void setScanlineFilter();
|
|
void setScale2xFilter();
|
|
void setHq2xFilter();
|
|
void setNtscFilter();
|
|
void muteAudio();
|
|
void setSpeedSlowest();
|
|
void setSpeedSlow();
|
|
void setSpeedNormal();
|
|
void setSpeedFast();
|
|
void setSpeedFastest();
|
|
void syncVideo();
|
|
void syncAudio();
|
|
void showConfigWindow();
|
|
void showDocumentation();
|
|
void showLicense();
|
|
void showAbout();
|
|
} *winMain;
|