2015-02-28 01:51:53 +00:00
|
|
|
struct Presentation : Window {
|
|
|
|
Presentation();
|
2015-05-23 05:29:18 +00:00
|
|
|
auto updateEmulator() -> void;
|
2015-03-03 10:14:49 +00:00
|
|
|
auto resizeViewport() -> void;
|
2015-04-13 11:16:33 +00:00
|
|
|
auto toggleFullScreen() -> void;
|
2015-03-03 10:14:49 +00:00
|
|
|
auto drawSplashScreen() -> void;
|
2015-02-28 01:51:53 +00:00
|
|
|
|
|
|
|
MenuBar menuBar{this};
|
|
|
|
Menu libraryMenu{&menuBar};
|
|
|
|
vector<MenuItem*> loadBootableMedia;
|
2015-03-02 09:13:28 +00:00
|
|
|
Menu systemMenu{&menuBar};
|
|
|
|
MenuItem powerSystem{&systemMenu};
|
|
|
|
MenuItem resetSystem{&systemMenu};
|
2015-05-23 05:29:18 +00:00
|
|
|
MenuSeparator systemMenuSeparatorPorts{&systemMenu};
|
|
|
|
Menu inputPort1{&systemMenu};
|
|
|
|
Menu inputPort2{&systemMenu};
|
|
|
|
MenuSeparator systemMenuSeparatorUnload{&systemMenu};
|
2015-03-02 09:13:28 +00:00
|
|
|
MenuItem unloadSystem{&systemMenu};
|
2015-02-28 01:51:53 +00:00
|
|
|
Menu settingsMenu{&menuBar};
|
2015-03-03 10:14:49 +00:00
|
|
|
Menu videoScaleMenu{&settingsMenu};
|
|
|
|
MenuRadioItem videoScaleSmall{&videoScaleMenu};
|
|
|
|
MenuRadioItem videoScaleNormal{&videoScaleMenu};
|
|
|
|
MenuRadioItem videoScaleLarge{&videoScaleMenu};
|
|
|
|
MenuSeparator videoScaleSeparator{&videoScaleMenu};
|
|
|
|
MenuCheckItem aspectCorrection{&videoScaleMenu};
|
Update to v094r13 release.
byuu says:
This version polishes up the input dialogue (reset, erase, disable
button when item not focused, split device ID from mapping name), adds
color emulation toggle, and add dummy menu items for remaining features
(to be filled in later.)
Also, it now compiles cleanly on Windows with GTK.
I didn't test with TDM-GCC-32, because for god knows what reason, the
32-bit version ships with headers from Windows 95 OSR2 only. So I built
with TDM-GCC-64 with arch=x86.
And uh, apparently, moving or resizing a window causes a Visual C++
runtime exception in the GTK+ DLLs. This doesn't happen with trance or
renshuu built with TDM-GCC-32. So, yeah, like I said, don't use -m32.
2015-03-07 10:21:47 +00:00
|
|
|
Menu videoFilterMenu{&settingsMenu};
|
|
|
|
MenuRadioItem videoFilterNone{&videoFilterMenu};
|
|
|
|
MenuRadioItem videoFilterBlur{&videoFilterMenu};
|
|
|
|
MenuSeparator videoFilterSeparator{&videoFilterMenu};
|
|
|
|
MenuCheckItem colorEmulation{&videoFilterMenu};
|
2015-04-21 11:58:59 +00:00
|
|
|
MenuCheckItem maskOverscan{&videoFilterMenu};
|
2015-03-03 10:14:49 +00:00
|
|
|
MenuSeparator settingsMenuSeparator1{&settingsMenu};
|
|
|
|
MenuCheckItem synchronizeVideo{&settingsMenu};
|
|
|
|
MenuCheckItem synchronizeAudio{&settingsMenu};
|
|
|
|
MenuCheckItem muteAudio{&settingsMenu};
|
2015-04-13 11:16:33 +00:00
|
|
|
MenuCheckItem showStatusBar{&settingsMenu};
|
2015-03-03 10:14:49 +00:00
|
|
|
MenuSeparator settingsMenuSeparator2{&settingsMenu};
|
2015-03-02 09:13:28 +00:00
|
|
|
MenuItem showConfiguration{&settingsMenu};
|
2015-02-28 01:51:53 +00:00
|
|
|
Menu toolsMenu{&menuBar};
|
Update to v094r13 release.
byuu says:
This version polishes up the input dialogue (reset, erase, disable
button when item not focused, split device ID from mapping name), adds
color emulation toggle, and add dummy menu items for remaining features
(to be filled in later.)
Also, it now compiles cleanly on Windows with GTK.
I didn't test with TDM-GCC-32, because for god knows what reason, the
32-bit version ships with headers from Windows 95 OSR2 only. So I built
with TDM-GCC-64 with arch=x86.
And uh, apparently, moving or resizing a window causes a Visual C++
runtime exception in the GTK+ DLLs. This doesn't happen with trance or
renshuu built with TDM-GCC-32. So, yeah, like I said, don't use -m32.
2015-03-07 10:21:47 +00:00
|
|
|
Menu saveStateMenu{&toolsMenu};
|
|
|
|
MenuItem saveSlot1{&saveStateMenu};
|
|
|
|
MenuItem saveSlot2{&saveStateMenu};
|
|
|
|
MenuItem saveSlot3{&saveStateMenu};
|
|
|
|
MenuItem saveSlot4{&saveStateMenu};
|
|
|
|
MenuItem saveSlot5{&saveStateMenu};
|
|
|
|
Menu loadStateMenu{&toolsMenu};
|
|
|
|
MenuItem loadSlot1{&loadStateMenu};
|
|
|
|
MenuItem loadSlot2{&loadStateMenu};
|
|
|
|
MenuItem loadSlot3{&loadStateMenu};
|
|
|
|
MenuItem loadSlot4{&loadStateMenu};
|
|
|
|
MenuItem loadSlot5{&loadStateMenu};
|
|
|
|
MenuSeparator toolsMenuSeparator{&toolsMenu};
|
2015-04-21 11:51:57 +00:00
|
|
|
MenuItem cheatEditor{&toolsMenu};
|
|
|
|
MenuItem stateManager{&toolsMenu};
|
2015-02-28 01:51:53 +00:00
|
|
|
|
2015-04-13 11:16:33 +00:00
|
|
|
FixedLayout layout{this};
|
|
|
|
Viewport viewport{&layout, Geometry{0, 0, 1, 1}};
|
2015-02-28 01:51:53 +00:00
|
|
|
|
|
|
|
StatusBar statusBar{this};
|
|
|
|
};
|
|
|
|
|
|
|
|
extern Presentation* presentation;
|