summaryrefslogtreecommitdiffstatshomepage
path: root/src/frontend/mame/ui/ui.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/frontend/mame/ui/ui.h')
-rw-r--r--src/frontend/mame/ui/ui.h62
1 files changed, 45 insertions, 17 deletions
diff --git a/src/frontend/mame/ui/ui.h b/src/frontend/mame/ui/ui.h
index b124b471d9c..46c5c2220a7 100644
--- a/src/frontend/mame/ui/ui.h
+++ b/src/frontend/mame/ui/ui.h
@@ -50,22 +50,6 @@ class machine_info;
#define UI_GREEN_COLOR rgb_t(0xef,0x10,0x60,0x10)
#define UI_YELLOW_COLOR rgb_t(0xef,0x60,0x60,0x10)
#define UI_RED_COLOR rgb_t(0xf0,0x60,0x10,0x10)
-#define UI_BORDER_COLOR decode_ui_color(0)
-#define UI_BACKGROUND_COLOR decode_ui_color(1)
-#define UI_GFXVIEWER_BG_COLOR decode_ui_color(2)
-#define UI_UNAVAILABLE_COLOR decode_ui_color(3)
-#define UI_TEXT_COLOR decode_ui_color(4)
-#define UI_TEXT_BG_COLOR decode_ui_color(5)
-#define UI_SUBITEM_COLOR decode_ui_color(6)
-#define UI_CLONE_COLOR decode_ui_color(7)
-#define UI_SELECTED_COLOR decode_ui_color(8)
-#define UI_SELECTED_BG_COLOR decode_ui_color(9)
-#define UI_MOUSEOVER_COLOR decode_ui_color(10)
-#define UI_MOUSEOVER_BG_COLOR decode_ui_color(11)
-#define UI_MOUSEDOWN_COLOR decode_ui_color(12)
-#define UI_MOUSEDOWN_BG_COLOR decode_ui_color(13)
-#define UI_DIPSW_COLOR decode_ui_color(14)
-#define UI_SLIDER_COLOR decode_ui_color(15)
/* cancel return value for a UI handler */
#define UI_HANDLER_CANCEL ((uint32_t)~0)
@@ -139,6 +123,49 @@ enum class ui_callback_type
VIEWER
};
+// ======================> ui_colors
+
+class ui_colors
+{
+public:
+ rgb_t border_color() const { return m_border_color; }
+ rgb_t background_color() const { return m_background_color; }
+ rgb_t gfxviewer_bg_color() const { return m_gfxviewer_bg_color; }
+ rgb_t unavailable_color() const { return m_unavailable_color; }
+ rgb_t text_color() const { return m_text_color; }
+ rgb_t text_bg_color() const { return m_text_bg_color; }
+ rgb_t subitem_color() const { return m_subitem_color; }
+ rgb_t clone_color() const { return m_clone_color; }
+ rgb_t selected_color() const { return m_selected_color; }
+ rgb_t selected_bg_color() const { return m_selected_bg_color; }
+ rgb_t mouseover_color() const { return m_mouseover_color; }
+ rgb_t mouseover_bg_color() const { return m_mouseover_bg_color; }
+ rgb_t mousedown_color() const { return m_mousedown_color; }
+ rgb_t mousedown_bg_color() const { return m_mousedown_bg_color; }
+ rgb_t dipsw_color() const { return m_dipsw_color; }
+ rgb_t slider_color() const { return m_slider_color; }
+
+ void refresh(const ui_options &options);
+
+private:
+ rgb_t m_border_color;
+ rgb_t m_background_color;
+ rgb_t m_gfxviewer_bg_color;
+ rgb_t m_unavailable_color;
+ rgb_t m_text_color;
+ rgb_t m_text_bg_color;
+ rgb_t m_subitem_color;
+ rgb_t m_clone_color;
+ rgb_t m_selected_color;
+ rgb_t m_selected_bg_color;
+ rgb_t m_mouseover_color;
+ rgb_t m_mouseover_bg_color;
+ rgb_t m_mousedown_color;
+ rgb_t m_mousedown_bg_color;
+ rgb_t m_dipsw_color;
+ rgb_t m_slider_color;
+};
+
// ======================> mame_ui_manager
class mame_ui_manager : public ui_manager, public slider_changed_notifier
@@ -161,6 +188,7 @@ public:
running_machine &machine() const { return m_machine; }
bool single_step() const { return m_single_step; }
ui_options &options() { return m_ui_options; }
+ ui_colors &colors() { return m_ui_colors; }
ui::machine_info &machine_info() const { assert(m_machine_info); return *m_machine_info; }
// setters
@@ -247,6 +275,7 @@ private:
render_texture * m_mouse_arrow_texture;
bool m_mouse_show;
ui_options m_ui_options;
+ ui_colors m_ui_colors;
std::unique_ptr<ui::machine_info> m_machine_info;
@@ -305,7 +334,6 @@ private:
/***************************************************************************
FUNCTION PROTOTYPES
***************************************************************************/
-rgb_t decode_ui_color(int id, running_machine *machine = nullptr);
int get_font_rows(running_machine *machine = nullptr);
template <typename Format, typename... Params>