diff src/video/gem/SDL_gemvideo.h @ 2189:f54670a477bb

Update GEM driver to new API, will have to fill the void later :)
author Patrice Mandin <patmandin@gmail.com>
date Fri, 13 Jul 2007 22:55:15 +0000
parents c121d94672cb
children 99210400e8b9
line wrap: on
line diff
--- a/src/video/gem/SDL_gemvideo.h	Fri Jul 13 22:52:53 2007 +0000
+++ b/src/video/gem/SDL_gemvideo.h	Fri Jul 13 22:55:15 2007 +0000
@@ -24,163 +24,28 @@
 #ifndef _SDL_gemvideo_h
 #define _SDL_gemvideo_h
 
-#include "SDL_mutex.h"
 #include "../SDL_sysvideo.h"
 
-/* Hidden "this" pointer for the video functions */
-#define _THIS	SDL_VideoDevice *this
-
-/* Functions prototypes */
-void GEM_wind_redraw(_THIS, int winhandle, short *inside);
+#include "SDL_gemevents.h"
+#include "SDL_gemkeyboard.h"
+#include "SDL_gemmodes.h"
+#include "SDL_gemmouse.h"
+#include "SDL_gemwindow.h"
 
 /* Private display data */
 
-#define B2S_C2P_1TO2		(1<<0)  /* C2P convert buffer 1 to buffer 2 */
-#define B2S_C2P_1TOS		(1<<1)  /* C2P convert buffer 1 to screen */
-#define B2S_VROCPYFM_1TOS	(1<<2)  /* vro_cpyfm() buffer 1 to screen */
-#define B2S_VROCPYFM_2TOS	(1<<3)  /* vro_cpyfm() buffer 2 to screen */
-
-#define SDL_NUMMODES	1       /* Fullscreen */
-
-struct SDL_PrivateVideoData
+typedef struct
 {
-    Uint16 buf2scr_ops;         /* Operations to get buffer to screen */
-    void *buffer1;              /* Our shadow buffers */
-    void *buffer2;
+    int mouse;
+    int keyboard;
 
     /* VDI infos */
-    short vdi_handle;           /* VDI handle */
-    short full_w, full_h;       /* Fullscreen size */
-    short bpp;                  /* Colour depth */
-    short pixelsize;            /* Bytes per pixel */
-    short old_numcolors;        /* Number of colors in saved palette */
-    Uint16 pitch;               /* Line length */
-    Uint16 format;              /* Screen format */
-    void *screen;               /* Screen address */
-    Uint32 red, green, blue, alpha;     /* Screen components */
-    Uint32 screensize;
-    short blit_coords[8];       /* Coordinates for bitblt */
-    MFDB src_mfdb, dst_mfdb;    /* VDI MFDB for bitblt */
-    Uint16 old_palette[256][3]; /* Saved current palette */
-    Uint16 cur_palette[256][3]; /* SDL application palette */
-    /* Function to set/restore palette */
-    void (*setpalette) (_THIS, Uint16 newpal[256][3]);
-
-    /* GEM infos */
-    short desk_x, desk_y;       /* Desktop properties */
-    short desk_w, desk_h;
-    short win_handle;           /* Our window handle */
-    int window_type;            /* Window type */
-    const char *title_name;     /* Window title */
-    const char *icon_name;      /* Icon title */
-    short version;              /* AES version */
-    short wfeatures;            /* AES window features */
-    SDL_bool refresh_name;      /* Change window title ? */
-    SDL_bool window_fulled;     /* Window maximized ? */
-    SDL_bool mouse_relative;    /* Report relative mouse movement */
-    SDL_bool locked;            /* AES locked for fullscreen ? */
-    SDL_bool lock_redraw;       /* Prevent redraw till buffers are setup */
-    short message[8];           /* To self-send an AES message */
-    void *menubar;              /* Menu bar save buffer when going fullscreen */
-    SDL_bool use_dev_mouse;     /* Use /dev/mouse ? */
-
-    SDL_bool fullscreen;        /* Fullscreen or windowed mode ? */
-    SDL_Rect *SDL_modelist[SDL_NUMMODES + 1];   /* Mode list */
-    SDL_Surface *icon;          /* The icon */
-};
-
-/* Hidden structure -> variables names */
-#define VDI_handle			(this->hidden->vdi_handle)
-#define VDI_w				(this->hidden->full_w)
-#define VDI_h				(this->hidden->full_h)
-#define VDI_bpp				(this->hidden->bpp)
-#define VDI_pixelsize		(this->hidden->pixelsize)
-#define VDI_oldnumcolors	(this->hidden->old_numcolors)
-#define VDI_oldpalette		(this->hidden->old_palette)
-#define VDI_curpalette		(this->hidden->cur_palette)
-#define VDI_setpalette		(this->hidden->setpalette)
-#define VDI_pitch			(this->hidden->pitch)
-#define VDI_format			(this->hidden->format)
-#define VDI_screen			(this->hidden->screen)
-#define VDI_redmask			(this->hidden->red)
-#define VDI_greenmask		(this->hidden->green)
-#define VDI_bluemask		(this->hidden->blue)
-#define VDI_alphamask		(this->hidden->alpha)
-#define VDI_screensize		(this->hidden->screensize)
-#define VDI_src_mfdb		(this->hidden->src_mfdb)
-#define VDI_dst_mfdb		(this->hidden->dst_mfdb)
-#define VDI_blit_coords		(this->hidden->blit_coords)
+    short vdi_handle;           /* workstation handle */
 
-#define GEM_desk_x			(this->hidden->desk_x)
-#define GEM_desk_y			(this->hidden->desk_y)
-#define GEM_desk_w			(this->hidden->desk_w)
-#define GEM_desk_h			(this->hidden->desk_h)
-#define GEM_handle			(this->hidden->win_handle)
-#define GEM_win_type		(this->hidden->window_type)
-#define GEM_title_name		(this->hidden->title_name)
-#define GEM_icon_name		(this->hidden->icon_name)
-#define GEM_refresh_name	(this->hidden->refresh_name)
-#define GEM_version			(this->hidden->version)
-#define GEM_wfeatures		(this->hidden->wfeatures)
-#define GEM_win_fulled		(this->hidden->window_fulled)
-#define GEM_mouse_relative	(this->hidden->mouse_relative)
-#define GEM_locked			(this->hidden->locked)
-#define GEM_lock_redraw		(this->hidden->lock_redraw)
-#define GEM_message			(this->hidden->message)
-#define SDL_modelist		(this->hidden->SDL_modelist)
-#define GEM_icon			(this->hidden->icon)
-#define GEM_fullscreen		(this->hidden->fullscreen)
-#define GEM_menubar			(this->hidden->menubar)
-#define GEM_usedevmouse		(this->hidden->use_dev_mouse)
-
-#define GEM_buffer1			(this->hidden->buffer1)
-#define GEM_buffer2			(this->hidden->buffer2)
-#define GEM_bufops			(this->hidden->buf2scr_ops)
-
-#define VDI_FBMASK(amask, rmask, gmask, bmask) \
-	VDI_alphamask = (amask); \
-	VDI_redmask = (rmask); \
-	VDI_greenmask = (gmask); \
-	VDI_bluemask = (bmask);
-
-/*
-	Possible buffer to screen operations:
-
-	TC: 8 (chunky),15,16,24,32 bpp
-	8I: 8 bpp planes
-	FB: screen framebuffer address available
-	FS: fullscreen
-
-	TC, FB, FS:
-		- draw to screen
-	8I, FB, FS:
-		- draw to buffer 1
-		- C2P from buffer 1 to screen
-
-	TC, !FB, FS:
-		- draw to buffer 1
-		- vro_cpyfm() from buffer 1 to screen
-	8I, !FB, FS:
-		- draw to buffer 1
-		- C2P from buffer 1 to buffer 2
-		- vro_cpyfm() from buffer 2 to screen
-
-	TC, FB, !FS:
-		- draw to buffer 1
-		- vro_cpyfm() from buffer 1 to screen
-	8I, FB, !FS:
-		- draw to buffer 1
-		- C2P from buffer 1 to buffer 2
-		- vro_cpyfm() from buffer 2 to screen
-
-	TC, !FB, !FS:
-		- draw to buffer 1
-		- vro_cpyfm() from buffer 1 to screen
-	8I, !FB, !FS:
-		- draw to buffer 1
-		- C2P from buffer 1 to buffer 2
-		- vro_cpyfm() from buffer 2 to screen
-*/
+    /* AES infos */
+    int wfeatures;              /* window features */
+} SDL_VideoData;
 
 #endif /* _SDL_gemvideo_h */
+
 /* vi: set ts=4 sw=4 expandtab: */