mirror of
https://github.com/bsnes-emu/bsnes.git
synced 2025-02-23 14:42:33 +01:00
byuu says: I've added tool tips to hiro for Windows, GTK, and Qt. I'm unsure how to add them for Cocoa. I wasted am embarrassing ~14 hours implementing tool tips from scratch on Windows, because the `TOOLTIPS_CLASS` widget just absolutely refused to show up, no matter what I tried. As such, they're not quite 100% native, but I would really appreciate any patch submissions to help improve my implementation. I added tool tips to all of the confusing settings in bsnes. And of course, for those of you who don't like them, there's a configuration file setting to turn them off globally. I also improved Mega Drive handling of the Game Genie a bit, and restructured the way the Settings class works in bsnes. Starting now, I'm feature-freezing bsnes and higan. From this point forward: - polishing up and fixing bugs caused by the ruby/hiro changes - adding DRC to XAudio2, and maybe exclusive mode to WGL - correcting FEoEZ (English) to load and work again out of the box Once that's done, a final beta of bsnes will go out, I'll fix any reported bugs that I'm able to, and then v107 should be ready. This time with higan being functional, but marked as v107 beta. v108 will restore higan to production status again, alongside bsnes.
67 lines
2.6 KiB
C++
67 lines
2.6 KiB
C++
#if defined(Hiro_Object)
|
|
struct mObject {
|
|
Declare(Object)
|
|
|
|
mObject();
|
|
virtual ~mObject();
|
|
mObject(const mObject&) = delete;
|
|
mObject& operator=(const mObject&) = delete;
|
|
|
|
explicit operator bool() const;
|
|
|
|
auto abstract() const -> bool;
|
|
auto adjustOffset(int displacement) -> type&;
|
|
auto enabled(bool recursive = false) const -> bool;
|
|
virtual auto focused() const -> bool;
|
|
auto font(bool recursive = false) const -> Font;
|
|
virtual auto group() const -> Group;
|
|
auto offset() const -> int;
|
|
auto parent() const -> mObject*;
|
|
auto parentComboButton(bool recursive = false) const -> mComboButton*;
|
|
auto parentComboEdit(bool recursive = false) const -> mComboEdit*;
|
|
auto parentFrame(bool recursive = false) const -> mFrame*;
|
|
auto parentIconView(bool recursive = false) const -> mIconView*;
|
|
auto parentMenu(bool recursive = false) const -> mMenu*;
|
|
auto parentMenuBar(bool recursive = false) const -> mMenuBar*;
|
|
auto parentPopupMenu(bool recursive = false) const -> mPopupMenu*;
|
|
auto parentSizable(bool recursive = false) const -> mSizable*;
|
|
auto parentTabFrame(bool recursive = false) const -> mTabFrame*;
|
|
auto parentTabFrameItem(bool recursive = false) const -> mTabFrameItem*;
|
|
auto parentTableView(bool recursive = false) const -> mTableView*;
|
|
auto parentTableViewItem(bool recursive = false) const -> mTableViewItem*;
|
|
auto parentTreeView(bool recursive = false) const -> mTreeView*;
|
|
auto parentTreeViewItem(bool recursive = false) const -> mTreeViewItem*;
|
|
auto parentWidget(bool recursive = false) const -> mWidget*;
|
|
auto parentWindow(bool recursive = false) const -> mWindow*;
|
|
auto property(const string& name) const -> string;
|
|
virtual auto remove() -> type&;
|
|
virtual auto reset() -> type&;
|
|
virtual auto setEnabled(bool enabled = true) -> type&;
|
|
virtual auto setFocused() -> type&;
|
|
virtual auto setFont(const Font& font = {}) -> type&;
|
|
virtual auto setGroup(sGroup group = {}) -> type&;
|
|
virtual auto setParent(mObject* parent = nullptr, int offset = -1) -> type&;
|
|
virtual auto setProperty(const string& name, const string& value = "") -> type&;
|
|
virtual auto setVisible(bool visible = true) -> type&;
|
|
auto visible(bool recursive = false) const -> bool;
|
|
|
|
//private:
|
|
//sizeof(mObject) == 88
|
|
struct State {
|
|
Font font; //32
|
|
set<Property> properties; //16
|
|
mObject* parent = nullptr; // 8
|
|
int offset = -1; // 4
|
|
char enabled = true; // 1+
|
|
char visible = true; // 1=4
|
|
} state;
|
|
|
|
wObject instance; // 8
|
|
pObject* delegate = nullptr; // 8
|
|
//vtable // 8
|
|
|
|
virtual auto construct() -> void;
|
|
virtual auto destruct() -> void;
|
|
};
|
|
#endif
|