2015-06-12 13:14:38 +00:00
|
|
|
namespace hiro {
|
2012-01-26 06:50:09 +00:00
|
|
|
|
2011-02-24 09:25:20 +00:00
|
|
|
struct pFont;
|
Update to v088r11 release.
byuu says:
Changelog:
- phoenix has added Window::setModal(bool modal = true);
- file dialog is now modal. This allows emulation cores to request data
and get it immediately before continuing the loading process
- save data is hooked up for most systems, still need to handle
subsystem slot saves (Sufami Turbo, basically.)
- toggle fullscreen key binding added (Alt+Enter for now. I think F11 is
probably better though, Enter is often mapped to game start button.)
- video scaling is in (center, scale, stretch), works the same in
windowed and fullscreen mode (stretch hides resize window option), all
in the settings menu now
- enough structure to map all saved paths for the browser and to load
BS-X slotted carts, BS-X carts, single Sufami Turbo carts
Caveats / Missing:
- Super Game Boy input doesn't work yet (due to change in callback
binding)
- doesn't load secondary Sufami Turbo slot yet
- BS-X BIOS isn't show the data pack games to load for some reason (ugh,
I hate the shit out of debugging BS-X stuff ...)
- need mute audio, sync audio+video toggle, save/load state menu and
quick keys, XML mapping information window
- need cheat editor and cheat database
- need state manager
- need to sort subsystems below main systems in load menu (basically
just see if media.slot.size() > 0)
- need video shaders (will probably leave off filters for the time being
... due to that 24/30-bit thing)
- need video adjustments (contrast etc, overscan masks)
- need audio adjustments (frequency, latency, resampler, volume,
per-system frequency)
- need driver selection and input focus policy (driver crash detection
would be nice too)
- need NSS DIP switch settings (that one will be really fun)
- need to save and load window geometry settings
- need to hook up controller selection (won't be fun), create a map to
hide controllers with no inputs to reassign
2012-05-03 12:36:47 +00:00
|
|
|
struct pObject;
|
2011-02-24 09:25:20 +00:00
|
|
|
struct pWindow;
|
|
|
|
struct pMenu;
|
|
|
|
struct pLayout;
|
|
|
|
struct pWidget;
|
|
|
|
|
2015-06-12 13:14:38 +00:00
|
|
|
struct AppMessage {
|
|
|
|
enum : unsigned {
|
|
|
|
None = WM_APP,
|
2015-07-02 10:22:24 +00:00
|
|
|
ListView_doPaint,
|
2015-06-12 13:14:38 +00:00
|
|
|
ListView_onActivate,
|
|
|
|
ListView_onChange,
|
|
|
|
};
|
2011-02-24 09:25:20 +00:00
|
|
|
};
|
|
|
|
|
2015-06-12 13:14:38 +00:00
|
|
|
using WindowProc = auto CALLBACK (*)(HWND, UINT, WPARAM, LPARAM) -> LRESULT;
|
2013-03-15 13:11:33 +00:00
|
|
|
|
2015-06-15 22:16:43 +00:00
|
|
|
static vector<wObject> windows;
|
|
|
|
|
2013-03-15 13:11:33 +00:00
|
|
|
}
|
2015-06-12 13:14:38 +00:00
|
|
|
|
|
|
|
#define Declare(Name, Base) \
|
|
|
|
p##Name(m##Name& reference) : p##Base(reference) {} \
|
|
|
|
auto self() const -> m##Name& { return (m##Name&)reference; } \
|
|
|
|
auto state() const -> m##Name::State& { return self().state; } \
|
|
|
|
auto construct() -> void override; \
|
|
|
|
auto destruct() -> void override; \
|
|
|
|
auto reconstruct() -> void override { destruct(), construct(); } \
|
|
|
|
|
|
|
|
#include "font.hpp"
|
|
|
|
#include "desktop.hpp"
|
|
|
|
#include "monitor.hpp"
|
|
|
|
#include "keyboard.hpp"
|
|
|
|
#include "mouse.hpp"
|
|
|
|
#include "browser-window.hpp"
|
|
|
|
#include "message-window.hpp"
|
|
|
|
|
|
|
|
#include "object.hpp"
|
|
|
|
#include "group.hpp"
|
|
|
|
|
|
|
|
#include "hotkey.hpp"
|
|
|
|
#include "timer.hpp"
|
|
|
|
#include "window.hpp"
|
|
|
|
#include "status-bar.hpp"
|
|
|
|
#include "menu-bar.hpp"
|
|
|
|
#include "popup-menu.hpp"
|
|
|
|
|
|
|
|
#include "action/action.hpp"
|
|
|
|
#include "action/menu.hpp"
|
|
|
|
#include "action/menu-separator.hpp"
|
|
|
|
#include "action/menu-item.hpp"
|
|
|
|
#include "action/menu-check-item.hpp"
|
|
|
|
#include "action/menu-radio-item.hpp"
|
|
|
|
|
|
|
|
#include "sizable.hpp"
|
|
|
|
#include "layout.hpp"
|
|
|
|
|
|
|
|
#include "widget/widget.hpp"
|
|
|
|
#include "widget/button.hpp"
|
|
|
|
#include "widget/canvas.hpp"
|
|
|
|
#include "widget/check-button.hpp"
|
|
|
|
#include "widget/check-label.hpp"
|
|
|
|
#include "widget/combo-button.hpp"
|
|
|
|
#include "widget/combo-button-item.hpp"
|
|
|
|
#include "widget/frame.hpp"
|
|
|
|
#include "widget/hex-edit.hpp"
|
|
|
|
#include "widget/horizontal-scroller.hpp"
|
|
|
|
#include "widget/horizontal-slider.hpp"
|
|
|
|
#include "widget/label.hpp"
|
|
|
|
#include "widget/line-edit.hpp"
|
|
|
|
#include "widget/list-view.hpp"
|
Update to v094r40 release.
byuu says:
Changelog:
- updated to newest hiro API
- SFC performance profile builds once again
- hiro: Qt port completed
Errata 1: the hiro/Qt target won't run tomoko just yet. Starts by
crashing inside InputSettings because hiro/Qt isn't forcefully selecting
the first item added to a ComboButton just yet. Even with a monkey patch
to get around that, the UI is incredibly unstable. Lots of geometry
calculation bugs, and a crash when you try and access certain folders in
the browser dialog. Lots of work left to be done there, sadly.
Errata 2: the hiro/Windows port has black backgrounds on all ListView
items. It's because I need to test for unassigned colors and grab the
default Windows brush colors in those cases.
Note: alternating row colors on multi-column ListView widgets is gone
now. Not a bug. May add it back later, but I'm not sure. It doesn't
interact nicely with per-cell background colors.
Things left to do:
First, I have to fix the Windows and Qt target bugs.
Next, I need to go through and revise the hiro API even more (nothing
too major.)
Next, I need to update icarus to use the new hiro API, and add support
for the SFC games database.
Next, I have to rewrite my TSV->BML cheat code tool.
Next, I need to post a final WIP of higan+icarus publicly and wait a few
days.
Next, I need to fix any bugs reported from the final WIP that I can.
Finally, I should be able to release v095.
2015-08-18 10:18:00 +00:00
|
|
|
#include "widget/list-view-header.hpp"
|
2015-06-12 13:14:38 +00:00
|
|
|
#include "widget/list-view-column.hpp"
|
|
|
|
#include "widget/list-view-item.hpp"
|
|
|
|
#include "widget/list-view-cell.hpp"
|
|
|
|
#include "widget/progress-bar.hpp"
|
|
|
|
#include "widget/radio-button.hpp"
|
|
|
|
#include "widget/radio-label.hpp"
|
|
|
|
#include "widget/tab-frame.hpp"
|
|
|
|
#include "widget/tab-frame-item.hpp"
|
|
|
|
#include "widget/text-edit.hpp"
|
|
|
|
#include "widget/vertical-scroller.hpp"
|
|
|
|
#include "widget/vertical-slider.hpp"
|
|
|
|
#include "widget/viewport.hpp"
|
|
|
|
|
|
|
|
#include "application.hpp"
|
|
|
|
|
|
|
|
#undef Declare
|