comparison 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
comparison
equal deleted inserted replaced
280:0ddcea45d829 281:c5010ab8ba35
1 /*
2 SDL - Simple DirectMedia Layer
3 Copyright (C) 1997, 1998, 1999, 2000, 2001 Sam Lantinga
4
5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public
7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version.
9
10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Library General Public License for more details.
14
15 You should have received a copy of the GNU Library General Public
16 License along with this library; if not, write to the Free
17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18
19 Sam Lantinga
20 slouken@libsdl.org
21 */
22
23 #ifdef SAVE_RCSID
24 static char rcsid =
25 "@(#) $Id$";
26 #endif
27
28 #ifndef _SDL_gemvideo_h
29 #define _SDL_gemvideo_h
30
31 #include "SDL_sysvideo.h"
32 #include "SDL_mutex.h"
33
34 /* Hidden "this" pointer for the video functions */
35 #define _THIS SDL_VideoDevice *this
36
37 /* Functions prototypes */
38 void GEM_wind_redraw(_THIS, int winhandle, short *inside);
39
40 /* Private display data */
41
42 #define SDL_NUMMODES 1 /* Fullscreen */
43
44 struct SDL_PrivateVideoData {
45 /* VDI infos */
46 short vdi_handle; /* VDI handle */
47 short full_w, full_h; /* Fullscreen size */
48 int bpp; /* Colour depth */
49 int pixelsize; /* Bytes per pixel */
50 Uint16 old_numcolors; /* Number of colors in saved palette */
51 Uint16 old_palette[256][3]; /* Saved current palette */
52 Uint16 pitch; /* Line length */
53 int format; /* Screen format */
54 void *screen; /* Screen address */
55 Uint32 red, green, blue, alpha; /* Screen components */
56 Uint32 screensize;
57 MFDB src_mfdb, dst_mfdb; /* VDI MFDB for bitblt */
58 short blit_coords[8]; /* Coordinates for bitblt */
59 /* Gem infos */
60 short ap_id; /* AES handle */
61 short desk_x, desk_y; /* Desktop properties */
62 short desk_w, desk_h;
63 short win_handle; /* Our window handle */
64 void *buffer; /* Our shadow buffer */
65 int window_type; /* Window type */
66 const char *title_name; /* Window title */
67 const char *icon_name; /* Icon title */
68 short version; /* AES version */
69 short wfeatures; /* AES window features */
70 SDL_bool window_fulled; /* Window maximized ? */
71 SDL_bool mouse_relative; /* Report relative mouse movement */
72 SDL_bool locked; /* AES locked for fullscreen ? */
73 SDL_Rect *SDL_modelist[SDL_NUMMODES+1]; /* Mode list */
74 };
75
76 /* Hidden structure -> variables names */
77 #define VDI_handle (this->hidden->vdi_handle)
78 #define VDI_w (this->hidden->full_w)
79 #define VDI_h (this->hidden->full_h)
80 #define VDI_bpp (this->hidden->bpp)
81 #define VDI_pixelsize (this->hidden->pixelsize)
82 #define VDI_oldnumcolors (this->hidden->old_numcolors)
83 #define VDI_oldpalette (this->hidden->old_palette)
84 #define VDI_pitch (this->hidden->pitch)
85 #define VDI_format (this->hidden->format)
86 #define VDI_screen (this->hidden->screen)
87 #define VDI_redmask (this->hidden->red)
88 #define VDI_greenmask (this->hidden->green)
89 #define VDI_bluemask (this->hidden->blue)
90 #define VDI_alphamask (this->hidden->alpha)
91 #define VDI_screensize (this->hidden->screensize)
92 #define VDI_src_mfdb (this->hidden->src_mfdb)
93 #define VDI_dst_mfdb (this->hidden->dst_mfdb)
94 #define VDI_blit_coords (this->hidden->blit_coords)
95 #define GEM_ap_id (this->hidden->ap_id)
96 #define GEM_desk_x (this->hidden->desk_x)
97 #define GEM_desk_y (this->hidden->desk_y)
98 #define GEM_desk_w (this->hidden->desk_w)
99 #define GEM_desk_h (this->hidden->desk_h)
100 #define GEM_handle (this->hidden->win_handle)
101 #define GEM_buffer (this->hidden->buffer)
102 #define GEM_win_type (this->hidden->window_type)
103 #define GEM_title_name (this->hidden->title_name)
104 #define GEM_icon_name (this->hidden->icon_name)
105 #define GEM_version (this->hidden->version)
106 #define GEM_wfeatures (this->hidden->wfeatures)
107 #define GEM_win_fulled (this->hidden->window_fulled)
108 #define GEM_mouse_relative (this->hidden->mouse_relative)
109 #define GEM_locked (this->hidden->locked)
110 #define SDL_modelist (this->hidden->SDL_modelist)
111
112 #endif /* _SDL_gemvideo_h */