diff options
Diffstat (limited to 'src/osd/modules/debugger/win/uimetrics.h')
-rw-r--r-- | src/osd/modules/debugger/win/uimetrics.h | 46 |
1 files changed, 42 insertions, 4 deletions
diff --git a/src/osd/modules/debugger/win/uimetrics.h b/src/osd/modules/debugger/win/uimetrics.h index a360d66924e..e45ae810fa6 100644 --- a/src/osd/modules/debugger/win/uimetrics.h +++ b/src/osd/modules/debugger/win/uimetrics.h @@ -5,19 +5,29 @@ // uimetrics.h - Win32 debug window handling // //============================================================ +#ifndef MAME_DEBUGGER_WIN_UIMETRICS_H +#define MAME_DEBUGGER_WIN_UIMETRICS_H -#ifndef __DEBUG_WIN_UI_METRICS_H__ -#define __DEBUG_WIN_UI_METRICS_H__ +#pragma once #include "debugwin.h" - #include "modules/lib/osdobj_common.h" +#include <utility> + + +namespace osd::debugger::win { class ui_metrics { public: + enum + { + THEME_LIGHT_BACKGROUND, + THEME_DARK_BACKGROUND + }; + ui_metrics(osd_options const &options); ui_metrics(ui_metrics const &that); ~ui_metrics(); @@ -30,7 +40,28 @@ public: uint32_t hscroll_height() const { return m_hscroll_height; } uint32_t vscroll_width() const { return m_vscroll_width; } + std::pair<COLORREF, COLORREF> view_colors(u8 attrib) const; + int get_color_theme() const { return m_color_theme; } + void set_color_theme(int index); + private: + enum + { + COLOR_FG_NORMAL, + COLOR_FG_CHANGED, + COLOR_FG_INVALID, + COLOR_FG_COMMENT, + + COLOR_BG_NORMAL, + COLOR_BG_SELECTED, + COLOR_BG_ANCILLARY, + COLOR_BG_CURRENT, + COLOR_BG_CURRENT_SELECTED, + COLOR_BG_VISITED, + + COLOR_COUNT + }; + HFONT m_debug_font; uint32_t m_debug_font_height; uint32_t m_debug_font_width; @@ -38,6 +69,13 @@ private: uint32_t const m_hscroll_height; uint32_t const m_vscroll_width; + + COLORREF m_colors[COLOR_COUNT]; + int m_color_theme; + + static COLORREF const s_themes[][COLOR_COUNT]; }; -#endif +} // namespace osd::debugger::win + +#endif // MAME_DEBUGGER_WIN_UIMETRICS_H |