146be48730333120a7b939116cef075e61c12c703David 'Digit' Turner/* 246be48730333120a7b939116cef075e61c12c703David 'Digit' Turner SDL - Simple DirectMedia Layer 346be48730333120a7b939116cef075e61c12c703David 'Digit' Turner Copyright (C) 1997-2004 Sam Lantinga 446be48730333120a7b939116cef075e61c12c703David 'Digit' Turner Copyright (C) 2001 Hsieh-Fu Tsai 546be48730333120a7b939116cef075e61c12c703David 'Digit' Turner 646be48730333120a7b939116cef075e61c12c703David 'Digit' Turner This library is free software; you can redistribute it and/or 746be48730333120a7b939116cef075e61c12c703David 'Digit' Turner modify it under the terms of the GNU Library General Public 846be48730333120a7b939116cef075e61c12c703David 'Digit' Turner License as published by the Free Software Foundation; either 946be48730333120a7b939116cef075e61c12c703David 'Digit' Turner version 2 of the License, or (at your option) any later version. 1046be48730333120a7b939116cef075e61c12c703David 'Digit' Turner 1146be48730333120a7b939116cef075e61c12c703David 'Digit' Turner This library is distributed in the hope that it will be useful, 1246be48730333120a7b939116cef075e61c12c703David 'Digit' Turner but WITHOUT ANY WARRANTY; without even the implied warranty of 1346be48730333120a7b939116cef075e61c12c703David 'Digit' Turner MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1446be48730333120a7b939116cef075e61c12c703David 'Digit' Turner Library General Public License for more details. 1546be48730333120a7b939116cef075e61c12c703David 'Digit' Turner 1646be48730333120a7b939116cef075e61c12c703David 'Digit' Turner You should have received a copy of the GNU Library General Public 1746be48730333120a7b939116cef075e61c12c703David 'Digit' Turner License along with this library; if not, write to the Free 1846be48730333120a7b939116cef075e61c12c703David 'Digit' Turner Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 1946be48730333120a7b939116cef075e61c12c703David 'Digit' Turner 2046be48730333120a7b939116cef075e61c12c703David 'Digit' Turner Sam Lantinga 2146be48730333120a7b939116cef075e61c12c703David 'Digit' Turner slouken@libsdl.org 2246be48730333120a7b939116cef075e61c12c703David 'Digit' Turner 2346be48730333120a7b939116cef075e61c12c703David 'Digit' Turner Hsieh-Fu Tsai 2446be48730333120a7b939116cef075e61c12c703David 'Digit' Turner clare@setabox.com 2546be48730333120a7b939116cef075e61c12c703David 'Digit' Turner*/ 2646be48730333120a7b939116cef075e61c12c703David 'Digit' Turner#include "SDL_config.h" 2746be48730333120a7b939116cef075e61c12c703David 'Digit' Turner 2846be48730333120a7b939116cef075e61c12c703David 'Digit' Turner#ifndef _SDL_nxvideo_h 2946be48730333120a7b939116cef075e61c12c703David 'Digit' Turner#define _SDL_nxvideo_h 3046be48730333120a7b939116cef075e61c12c703David 'Digit' Turner 3146be48730333120a7b939116cef075e61c12c703David 'Digit' Turner#include <microwin/nano-X.h> 3246be48730333120a7b939116cef075e61c12c703David 'Digit' Turner 3346be48730333120a7b939116cef075e61c12c703David 'Digit' Turner#include "../SDL_sysvideo.h" 3446be48730333120a7b939116cef075e61c12c703David 'Digit' Turner 3546be48730333120a7b939116cef075e61c12c703David 'Digit' Turner#ifdef ENABLE_NANOX_DEBUG 3646be48730333120a7b939116cef075e61c12c703David 'Digit' Turner#define Dprintf printf 3746be48730333120a7b939116cef075e61c12c703David 'Digit' Turner#else 3846be48730333120a7b939116cef075e61c12c703David 'Digit' Turner#define Dprintf(ignore...) 3946be48730333120a7b939116cef075e61c12c703David 'Digit' Turner#endif 4046be48730333120a7b939116cef075e61c12c703David 'Digit' Turner 4146be48730333120a7b939116cef075e61c12c703David 'Digit' Turner// Hidden "this" pointer for the video functions 4246be48730333120a7b939116cef075e61c12c703David 'Digit' Turner#define _THIS SDL_VideoDevice * this 4346be48730333120a7b939116cef075e61c12c703David 'Digit' Turner 4446be48730333120a7b939116cef075e61c12c703David 'Digit' Turner// Private display data 4546be48730333120a7b939116cef075e61c12c703David 'Digit' Turnertypedef struct NX_SDL_VISUAL { 4646be48730333120a7b939116cef075e61c12c703David 'Digit' Turner int bpp ; 4746be48730333120a7b939116cef075e61c12c703David 'Digit' Turner Uint32 red_mask ; 4846be48730333120a7b939116cef075e61c12c703David 'Digit' Turner Uint32 green_mask ; 4946be48730333120a7b939116cef075e61c12c703David 'Digit' Turner Uint32 blue_mask ; 5046be48730333120a7b939116cef075e61c12c703David 'Digit' Turner} nx_sdl_visual_t ; 5146be48730333120a7b939116cef075e61c12c703David 'Digit' Turner 5246be48730333120a7b939116cef075e61c12c703David 'Digit' Turnerstruct SDL_PrivateVideoData { 5346be48730333120a7b939116cef075e61c12c703David 'Digit' Turner GR_WINDOW_ID SDL_Window ; 5446be48730333120a7b939116cef075e61c12c703David 'Digit' Turner GR_WINDOW_ID FSwindow ; 5546be48730333120a7b939116cef075e61c12c703David 'Digit' Turner // Flag: true if we have been passed a window 5646be48730333120a7b939116cef075e61c12c703David 'Digit' Turner char * SDL_windowid ; 5746be48730333120a7b939116cef075e61c12c703David 'Digit' Turner GR_GC_ID GC ; 5846be48730333120a7b939116cef075e61c12c703David 'Digit' Turner unsigned char * Image ; 5946be48730333120a7b939116cef075e61c12c703David 'Digit' Turner unsigned char * Image_buff ; /* for GrArea*/ 6046be48730333120a7b939116cef075e61c12c703David 'Digit' Turner unsigned char * Clientfb; /* for DirectFB*/ 6146be48730333120a7b939116cef075e61c12c703David 'Digit' Turner nx_sdl_visual_t SDL_Visual ; 6246be48730333120a7b939116cef075e61c12c703David 'Digit' Turner // The current list of available video modes 6346be48730333120a7b939116cef075e61c12c703David 'Digit' Turner SDL_Rect ** modelist ; 6446be48730333120a7b939116cef075e61c12c703David 'Digit' Turner int currently_fullscreen ; 6546be48730333120a7b939116cef075e61c12c703David 'Digit' Turner // for fullscreen 6646be48730333120a7b939116cef075e61c12c703David 'Digit' Turner int OffsetX, OffsetY ; 6746be48730333120a7b939116cef075e61c12c703David 'Digit' Turner // for GammaRamp 6846be48730333120a7b939116cef075e61c12c703David 'Digit' Turner Uint16 * GammaRamp_R, * GammaRamp_G, * GammaRamp_B ; 6946be48730333120a7b939116cef075e61c12c703David 'Digit' Turner // for GrArea, r_mask, g_mask, b_mask 7046be48730333120a7b939116cef075e61c12c703David 'Digit' Turner int pixel_type ; 7146be48730333120a7b939116cef075e61c12c703David 'Digit' Turner#ifdef ENABLE_NANOX_DIRECT_FB 7246be48730333120a7b939116cef075e61c12c703David 'Digit' Turner GR_WINDOW_FB_INFO fbinfo; 7346be48730333120a7b939116cef075e61c12c703David 'Digit' Turner#endif 7446be48730333120a7b939116cef075e61c12c703David 'Digit' Turner} ; 7546be48730333120a7b939116cef075e61c12c703David 'Digit' Turner 7646be48730333120a7b939116cef075e61c12c703David 'Digit' Turner#define SDL_Window (this -> hidden -> SDL_Window) 7746be48730333120a7b939116cef075e61c12c703David 'Digit' Turner#define FSwindow (this -> hidden -> FSwindow) 7846be48730333120a7b939116cef075e61c12c703David 'Digit' Turner#define SDL_windowid (this -> hidden -> SDL_windowid) 7946be48730333120a7b939116cef075e61c12c703David 'Digit' Turner#define SDL_GC (this -> hidden -> GC) 8046be48730333120a7b939116cef075e61c12c703David 'Digit' Turner#define SDL_Image (this -> hidden -> Image) 8146be48730333120a7b939116cef075e61c12c703David 'Digit' Turner#define Image_buff (this -> hidden -> Image_buff) 8246be48730333120a7b939116cef075e61c12c703David 'Digit' Turner#define Clientfb (this -> hidden -> Clientfb) 8346be48730333120a7b939116cef075e61c12c703David 'Digit' Turner#define SDL_Visual (this -> hidden -> SDL_Visual) 8446be48730333120a7b939116cef075e61c12c703David 'Digit' Turner#define SDL_modelist (this -> hidden -> modelist) 8546be48730333120a7b939116cef075e61c12c703David 'Digit' Turner#define currently_fullscreen (this -> hidden -> currently_fullscreen) 8646be48730333120a7b939116cef075e61c12c703David 'Digit' Turner#define OffsetX (this -> hidden -> OffsetX) 8746be48730333120a7b939116cef075e61c12c703David 'Digit' Turner#define OffsetY (this -> hidden -> OffsetY) 8846be48730333120a7b939116cef075e61c12c703David 'Digit' Turner#define GammaRamp_R (this -> hidden -> GammaRamp_R) 8946be48730333120a7b939116cef075e61c12c703David 'Digit' Turner#define GammaRamp_G (this -> hidden -> GammaRamp_G) 9046be48730333120a7b939116cef075e61c12c703David 'Digit' Turner#define GammaRamp_B (this -> hidden -> GammaRamp_B) 9146be48730333120a7b939116cef075e61c12c703David 'Digit' Turner#define pixel_type (this -> hidden -> pixel_type) 9246be48730333120a7b939116cef075e61c12c703David 'Digit' Turner#define fbinfo (this -> hidden -> fbinfo) 9346be48730333120a7b939116cef075e61c12c703David 'Digit' Turner 9446be48730333120a7b939116cef075e61c12c703David 'Digit' Turner#define CI_SIZE 256 // color index size 9546be48730333120a7b939116cef075e61c12c703David 'Digit' Turner 9646be48730333120a7b939116cef075e61c12c703David 'Digit' Turner#endif // _SDL_nxvideo_h 97