diff options
Diffstat (limited to 'src/osd/windows/window.h')
-rw-r--r-- | src/osd/windows/window.h | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/src/osd/windows/window.h b/src/osd/windows/window.h index fd968a18739..9cdec018420 100644 --- a/src/osd/windows/window.h +++ b/src/osd/windows/window.h @@ -32,6 +32,14 @@ // TYPE DEFINITIONS //============================================================ +/* ------------------------------------------------------ + * + * All types named osd_* will ultimately be located in + * the modules tree. They are temporarily maintained in + * window.h until basic code simplification is finished. + * + */ + class win_window_info; class osd_window @@ -46,6 +54,7 @@ public: m_maxwidth(0), m_maxheight(0), m_refresh(0), #endif + m_prescale(1), m_primlist(NULL) {} virtual ~osd_window() { } @@ -54,12 +63,12 @@ public: virtual int fullscreen() const = 0; virtual running_machine &machine() const = 0; + int prescale() const { return m_prescale; }; + #ifdef OSD_SDL virtual void blit_surface_size(int &blitwidth, int &blitheight) = 0; virtual sdl_monitor_info *monitor() const = 0; virtual void get_size(int &w, int &h) = 0; - virtual int index() const = 0; - virtual int prescale() const = 0; #if (SDLMAME_SDL2) virtual SDL_Window *sdl_window() = 0; #else @@ -74,6 +83,8 @@ public: // window handle and info HWND m_hwnd; + // FIXME: this is the same as win_window_list->m_hwnd, i.e. first window. + // During modularization, this should be passed in differently HWND m_focus_hwnd; // monitor info @@ -83,8 +94,8 @@ public: int m_refresh; #endif + int m_prescale; render_primitive_list * m_primlist; - }; class osd_renderer @@ -94,6 +105,7 @@ public: /* Generic flags */ static const int FLAG_NONE = 0x0000; static const int FLAG_NEEDS_OPENGL = 0x0001; + static const int FLAG_HAS_VECTOR_SCREEN = 0x0002; /* SDL 1.2 flags */ static const int FLAG_NEEDS_DOUBLEBUF = 0x0100; @@ -105,8 +117,10 @@ public: virtual ~osd_renderer() { } osd_window &window() { return *m_window; } - int flags() const { return m_flags; } bool has_flags(const int flag) { return ((m_flags & flag)) == flag; } + void set_flags(int aflag) { m_flags |= aflag; } + void clear_flags(int aflag) { m_flags &= ~aflag; } + void notify_changed() { set_flags(FI_CHANGED); } @@ -131,9 +145,6 @@ protected: /* Internal flags */ static const int FI_CHANGED = 0x010000; - void set_flags(int aflag) { m_flags |= aflag; } - void clear_flags(int aflag) { m_flags &= ~aflag; } - private: osd_window *m_window; @@ -196,7 +207,7 @@ private: struct osd_draw_callbacks { - osd_renderer *(*create)(win_window_info *window); + osd_renderer *(*create)(osd_window *window); void (*exit)(void); }; |