SDL-1.2.14
[sdl_omap.git] / src / video / nanox / SDL_nxvideo.h
1 /*
2     SDL - Simple DirectMedia Layer
3     Copyright (C) 1997-2009 Sam Lantinga
4     Copyright (C) 2001  Hsieh-Fu Tsai
5
6     This library is free software; you can redistribute it and/or
7     modify it under the terms of the GNU Library General Public
8     License as published by the Free Software Foundation; either
9     version 2 of the License, or (at your option) any later version.
10
11     This library is distributed in the hope that it will be useful,
12     but WITHOUT ANY WARRANTY; without even the implied warranty of
13     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14     Library General Public License for more details.
15
16     You should have received a copy of the GNU Library General Public
17     License along with this library; if not, write to the Free
18     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19
20     Sam Lantinga
21     slouken@libsdl.org
22     
23     Hsieh-Fu Tsai
24     clare@setabox.com
25 */
26 #include "SDL_config.h"
27
28 #ifndef _SDL_nxvideo_h
29 #define _SDL_nxvideo_h
30
31 #include <microwin/nano-X.h>
32
33 #include "../SDL_sysvideo.h"
34
35 #ifdef ENABLE_NANOX_DEBUG
36 #define Dprintf printf
37 #else
38 #define Dprintf(ignore...)
39 #endif
40
41 // Hidden "this" pointer for the video functions
42 #define _THIS   SDL_VideoDevice * this
43
44 // Private display data
45 typedef struct NX_SDL_VISUAL {
46     int    bpp ;
47     Uint32 red_mask ;
48     Uint32 green_mask ;
49     Uint32 blue_mask ;
50 } nx_sdl_visual_t ;
51
52 struct SDL_PrivateVideoData {
53     GR_WINDOW_ID    SDL_Window ;
54     GR_WINDOW_ID    FSwindow ;
55     // Flag: true if we have been passed a window
56     char            * SDL_windowid ;
57     GR_GC_ID        GC ;
58     unsigned char   * Image ;
59     unsigned char   * Image_buff ;      /* for GrArea*/
60     unsigned char   * Clientfb;         /* for DirectFB*/
61     nx_sdl_visual_t SDL_Visual ;
62     // The current list of available video modes
63     SDL_Rect        ** modelist ;
64     int             currently_fullscreen ;
65     // for fullscreen
66     int             OffsetX, OffsetY ;
67     // for GammaRamp
68     Uint16          * GammaRamp_R, * GammaRamp_G, * GammaRamp_B ;
69     // for GrArea, r_mask, g_mask, b_mask
70     int             pixel_type ;
71 #ifdef ENABLE_NANOX_DIRECT_FB
72     GR_WINDOW_FB_INFO fbinfo;
73 #endif
74 } ;
75
76 #define SDL_Window           (this -> hidden -> SDL_Window)
77 #define FSwindow             (this -> hidden -> FSwindow)
78 #define SDL_windowid         (this -> hidden -> SDL_windowid)
79 #define SDL_GC               (this -> hidden -> GC)
80 #define SDL_Image            (this -> hidden -> Image)
81 #define Image_buff           (this -> hidden -> Image_buff)
82 #define Clientfb             (this -> hidden -> Clientfb)
83 #define SDL_Visual           (this -> hidden -> SDL_Visual)
84 #define SDL_modelist         (this -> hidden -> modelist)
85 #define currently_fullscreen (this -> hidden -> currently_fullscreen)
86 #define OffsetX              (this -> hidden -> OffsetX)
87 #define OffsetY              (this -> hidden -> OffsetY)
88 #define GammaRamp_R          (this -> hidden -> GammaRamp_R)
89 #define GammaRamp_G          (this -> hidden -> GammaRamp_G)
90 #define GammaRamp_B          (this -> hidden -> GammaRamp_B)
91 #define pixel_type           (this -> hidden -> pixel_type)
92 #define fbinfo               (this -> hidden -> fbinfo)
93
94 #define CI_SIZE 256   // color index size
95
96 #endif  // _SDL_nxvideo_h