Mercurial > sdl-ios-xcode
diff src/video/wscons/SDL_wsconsvideo.h @ 1187:19d8949b4584
To: sdl@libsdl.org
From: Staffan Ulfberg <staffan@ulfberg.se>
Date: 19 Nov 2005 01:00:48 +0100
Subject: [SDL] New driver for OpenBSD/wscons
Hello,
I've written an SDL driver for OpenBSD/wscons (console mode, somewhat
resembling the functionality of the svga driver for Linux). I use it
for playing MAME on my Sharp Zaurus. The alternative is to play under
X, which is slower.
I asked how to submit the driver a few days ago, and posted a link to
the patch in a follow-up, so maybe it was missed?
Anyway, the patch is on the web at:
http://multivac.fatburen.org/SDL-wscons.patch
Comments?
Staffan
author | Ryan C. Gordon <icculus@icculus.org> |
---|---|
date | Tue, 22 Nov 2005 15:19:50 +0000 |
parents | |
children | c9b51268668f |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/video/wscons/SDL_wsconsvideo.h Tue Nov 22 15:19:50 2005 +0000 @@ -0,0 +1,79 @@ +/* + SDL - Simple DirectMedia Layer + Copyright (C) 1997-2004 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_wsconsvideo_h +#define _SDL_wsconsvideo_h + +#include <sys/time.h> +#include <termios.h> +#include <dev/wscons/wsconsio.h> +#include "SDL_mouse.h" +#include "SDL_sysvideo.h" +#include "SDL_mutex.h" + +void WSCONS_ReportError(char *fmt, ...); + +/* Hidden "this" pointer for the video functions */ +#define _THIS SDL_VideoDevice *this +#define private (this->hidden) + +/* Private display data */ + +typedef void WSCONS_bitBlit(Uint8 *src_pos, + int srcRightDelta, // pixels, not bytes + int srcDownDelta, // pixels, not bytes + Uint8 *dst_pos, + int dst_linebytes, + int width, + int height); + +struct SDL_PrivateVideoData { + int fd; /* file descriptor of open device */ + struct wsdisplay_fbinfo info; /* frame buffer characteristics */ + int physlinebytes; /* number of bytes per row */ + int redMask, greenMask, blueMask; + + Uint8 *fbstart; /* These refer to the surface used, */ + int fblinebytes; /* physical frame buffer or shadow. */ + + size_t fbmem_len; + Uint8 *physmem; + Uint8 *shadowmem; + int rotate; + int shadowFB; /* Tells whether a shadow is being used. */ + + WSCONS_bitBlit *blitFunc; + + SDL_Rect *SDL_modelist[2]; + + unsigned int kbdType; + int did_save_tty; + struct termios saved_tty; +}; + + +#endif /* _SDL_wsconsvideo_h */