SDL: Make VOSF update functions apply to driver_base

They don't use anything special from fullscreen/windowed derived classes.
Also, get rid of unneeded friend declarations.
This commit is contained in:
Dave Vasilevsky 2013-04-22 05:26:44 -04:00
parent 2a5100e8d2
commit d0648a7039
2 changed files with 6 additions and 12 deletions

View File

@ -601,7 +601,7 @@ class driver_base {
public: public:
driver_base(SDL_monitor_desc &m); driver_base(SDL_monitor_desc &m);
virtual void init(); virtual void init();
virtual ~driver_base(); ~driver_base();
virtual void update_palette(void); virtual void update_palette(void);
virtual void suspend(void) {} virtual void suspend(void) {}
@ -623,18 +623,12 @@ public:
SDL_Surface *s; // The surface we draw into SDL_Surface *s; // The surface we draw into
}; };
class driver_window;
#ifdef ENABLE_VOSF #ifdef ENABLE_VOSF
static void update_display_window_vosf(driver_window *drv); static void update_display_window_vosf(driver_base *drv);
#endif #endif
static void update_display_static(driver_base *drv); static void update_display_static(driver_base *drv);
class driver_window : public driver_base { class driver_window : public driver_base {
#ifdef ENABLE_VOSF
friend void update_display_window_vosf(driver_window *drv);
#endif
friend void update_display_static(driver_base *drv);
public: public:
driver_window(SDL_monitor_desc &monitor); driver_window(SDL_monitor_desc &monitor);
virtual void init(); virtual void init();
@ -2104,7 +2098,7 @@ static void video_refresh_dga_vosf(void)
tick_counter = 0; tick_counter = 0;
if (mainBuffer.dirty) { if (mainBuffer.dirty) {
LOCK_VOSF; LOCK_VOSF;
update_display_dga_vosf(static_cast<driver_fullscreen *>(drv)); update_display_dga_vosf(drv);
UNLOCK_VOSF; UNLOCK_VOSF;
} }
} }
@ -2122,7 +2116,7 @@ static void video_refresh_window_vosf(void)
tick_counter = 0; tick_counter = 0;
if (mainBuffer.dirty) { if (mainBuffer.dirty) {
LOCK_VOSF; LOCK_VOSF;
update_display_window_vosf(static_cast<driver_window *>(drv)); update_display_window_vosf(drv);
UNLOCK_VOSF; UNLOCK_VOSF;
} }
} }

View File

@ -36,8 +36,8 @@
#else #else
#ifdef USE_SDL_VIDEO #ifdef USE_SDL_VIDEO
#define MONITOR_INIT SDL_monitor_desc &monitor #define MONITOR_INIT SDL_monitor_desc &monitor
#define VIDEO_DRV_WIN_INIT driver_window *drv #define VIDEO_DRV_WIN_INIT driver_base *drv
#define VIDEO_DRV_DGA_INIT driver_fullscreen *drv #define VIDEO_DRV_DGA_INIT driver_base *drv
#define VIDEO_DRV_LOCK_PIXELS SDL_VIDEO_LOCK_SURFACE(drv->s) #define VIDEO_DRV_LOCK_PIXELS SDL_VIDEO_LOCK_SURFACE(drv->s)
#define VIDEO_DRV_UNLOCK_PIXELS SDL_VIDEO_UNLOCK_SURFACE(drv->s) #define VIDEO_DRV_UNLOCK_PIXELS SDL_VIDEO_UNLOCK_SURFACE(drv->s)
#define VIDEO_DRV_DEPTH drv->s->format->BitsPerPixel #define VIDEO_DRV_DEPTH drv->s->format->BitsPerPixel