Mercurial > sdl-ios-xcode
diff src/video/gem/SDL_gemvideo.h @ 281:c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sun, 17 Feb 2002 19:54:28 +0000 |
parents | |
children | f6ffac90895c |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/video/gem/SDL_gemvideo.h Sun Feb 17 19:54:28 2002 +0000 @@ -0,0 +1,112 @@ +/* + SDL - Simple DirectMedia Layer + Copyright (C) 1997, 1998, 1999, 2000, 2001 Sam Lantinga + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the Free + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + Sam Lantinga + slouken@libsdl.org +*/ + +#ifdef SAVE_RCSID +static char rcsid = + "@(#) $Id$"; +#endif + +#ifndef _SDL_gemvideo_h +#define _SDL_gemvideo_h + +#include "SDL_sysvideo.h" +#include "SDL_mutex.h" + +/* Hidden "this" pointer for the video functions */ +#define _THIS SDL_VideoDevice *this + +/* Functions prototypes */ +void GEM_wind_redraw(_THIS, int winhandle, short *inside); + +/* Private display data */ + +#define SDL_NUMMODES 1 /* Fullscreen */ + +struct SDL_PrivateVideoData { + /* VDI infos */ + short vdi_handle; /* VDI handle */ + short full_w, full_h; /* Fullscreen size */ + int bpp; /* Colour depth */ + int pixelsize; /* Bytes per pixel */ + Uint16 old_numcolors; /* Number of colors in saved palette */ + Uint16 old_palette[256][3]; /* Saved current palette */ + Uint16 pitch; /* Line length */ + int format; /* Screen format */ + void *screen; /* Screen address */ + Uint32 red, green, blue, alpha; /* Screen components */ + Uint32 screensize; + MFDB src_mfdb, dst_mfdb; /* VDI MFDB for bitblt */ + short blit_coords[8]; /* Coordinates for bitblt */ + /* Gem infos */ + short ap_id; /* AES handle */ + short desk_x, desk_y; /* Desktop properties */ + short desk_w, desk_h; + short win_handle; /* Our window handle */ + void *buffer; /* Our shadow buffer */ + 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 window_fulled; /* Window maximized ? */ + SDL_bool mouse_relative; /* Report relative mouse movement */ + SDL_bool locked; /* AES locked for fullscreen ? */ + SDL_Rect *SDL_modelist[SDL_NUMMODES+1]; /* Mode list */ +}; + +/* 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_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) +#define GEM_ap_id (this->hidden->ap_id) +#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_buffer (this->hidden->buffer) +#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_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 SDL_modelist (this->hidden->SDL_modelist) + +#endif /* _SDL_gemvideo_h */