mirror of
https://github.com/bsnes-emu/bsnes.git
synced 2025-08-28 10:20:08 +02:00
Update to 20180729 release.
byuu wrote: Sigh ... asio.hpp needs #include <nall/windows/registry.hpp> [Since the last WIP, byuu also posted the following message. -Ed.] ruby drivers have all been updated (but not tested outside of BSD), and I redesigned the settings window. The driver functionality all exists on a new "Drivers" panel, the emulator/hack settings go to a "Configuration" panel, and the video/audio panels lose driver settings. As does the settings menu and its synchronize options. I want to start pushing toward a v107 release. Critically, I will need DirectSound and ALSA to support dynamic rate control. I'd also like to eliminate the other system manifest.bml files. I need to update the cheat code database format, and bundle at least a few quark shaders -- although I still need to default to Direct3D on Windows. Turbo keys would be nice, if it's not too much effort. Aside from netplay, it's the last significant feature I'm missing. I think for v107, higan is going to be a bit rough around the edges compared to bsnes. And I don't think it's practical to finish the bsnes localization support. I'm thinking we probably want another WIP to iron out any critical issues, but this time there should be a feature freeze with the next WIP.
This commit is contained in:
92
hiro/core/window.hpp
Normal file
92
hiro/core/window.hpp
Normal file
@@ -0,0 +1,92 @@
|
||||
#if defined(Hiro_Window)
|
||||
struct mWindow : mObject {
|
||||
Declare(Window)
|
||||
using mObject::remove;
|
||||
|
||||
mWindow();
|
||||
|
||||
auto append(sMenuBar menuBar) -> type&;
|
||||
auto append(sSizable sizable) -> type&;
|
||||
auto append(sStatusBar statusBar) -> type&;
|
||||
auto backgroundColor() const -> Color;
|
||||
auto dismissable() const -> bool;
|
||||
auto doClose() const -> void;
|
||||
auto doDrop(vector<string>) const -> void;
|
||||
auto doKeyPress(int) const -> void;
|
||||
auto doKeyRelease(int) const -> void;
|
||||
auto doMove() const -> void;
|
||||
auto doSize() const -> void;
|
||||
auto droppable() const -> bool;
|
||||
auto frameGeometry() const -> Geometry;
|
||||
auto fullScreen() const -> bool;
|
||||
auto geometry() const -> Geometry;
|
||||
auto maximized() const -> bool;
|
||||
auto maximumSize() const -> Size;
|
||||
auto menuBar() const -> MenuBar;
|
||||
auto minimized() const -> bool;
|
||||
auto minimumSize() const -> Size;
|
||||
auto modal() const -> bool;
|
||||
auto monitor() const -> uint;
|
||||
auto onClose(const function<void ()>& callback = {}) -> type&;
|
||||
auto onDrop(const function<void (vector<string>)>& callback = {}) -> type&;
|
||||
auto onKeyPress(const function<void (int)>& callback = {}) -> type&;
|
||||
auto onKeyRelease(const function<void (int)>& callback = {}) -> type&;
|
||||
auto onMove(const function<void ()>& callback = {}) -> type&;
|
||||
auto onSize(const function<void ()>& callback = {}) -> type&;
|
||||
auto remove(sMenuBar menuBar) -> type&;
|
||||
auto remove(sSizable sizable) -> type&;
|
||||
auto remove(sStatusBar statusBar) -> type&;
|
||||
auto reset() -> type& override;
|
||||
auto resizable() const -> bool;
|
||||
auto setAlignment(Alignment alignment) -> type&;
|
||||
auto setBackgroundColor(Color color = {}) -> type&;
|
||||
auto setCentered(sWindow parent = {}) -> type&;
|
||||
auto setDismissable(bool dismissable = true) -> type&;
|
||||
auto setDroppable(bool droppable = true) -> type&;
|
||||
auto setFrameGeometry(Geometry geometry) -> type&;
|
||||
auto setFramePosition(Position position) -> type&;
|
||||
auto setFrameSize(Size size) -> type&;
|
||||
auto setFullScreen(bool fullScreen = true) -> type&;
|
||||
auto setGeometry(Geometry geometry) -> type&;
|
||||
auto setMaximized(bool maximized = true) -> type&;
|
||||
auto setMaximumSize(Size size = {}) -> type&;
|
||||
auto setMinimized(bool minimized = true) -> type&;
|
||||
auto setMinimumSize(Size size = {}) -> type&;
|
||||
auto setModal(bool modal = true) -> type&;
|
||||
auto setPosition(Position position) -> type&;
|
||||
auto setResizable(bool resizable = true) -> type&;
|
||||
auto setSize(Size size) -> type&;
|
||||
auto setTitle(const string& title = "") -> type&;
|
||||
auto setVisible(bool visible = true) -> type&;
|
||||
auto sizable() const -> Sizable;
|
||||
auto statusBar() const -> StatusBar;
|
||||
auto title() const -> string;
|
||||
|
||||
//private:
|
||||
struct State {
|
||||
Color backgroundColor;
|
||||
bool dismissable = false;
|
||||
bool droppable = false;
|
||||
bool fullScreen = false;
|
||||
Geometry geometry = {128, 128, 256, 256};
|
||||
bool maximized = false;
|
||||
Size maximumSize;
|
||||
bool minimized = false;
|
||||
Size minimumSize;
|
||||
sMenuBar menuBar;
|
||||
bool modal = false;
|
||||
function<void ()> onClose;
|
||||
function<void (vector<string>)> onDrop;
|
||||
function<void (int)> onKeyPress;
|
||||
function<void (int)> onKeyRelease;
|
||||
function<void ()> onMove;
|
||||
function<void ()> onSize;
|
||||
bool resizable = true;
|
||||
sSizable sizable;
|
||||
sStatusBar statusBar;
|
||||
string title;
|
||||
} state;
|
||||
|
||||
auto destruct() -> void;
|
||||
};
|
||||
#endif
|
Reference in New Issue
Block a user