diff options
author | Mike Frysinger <vapier@gentoo.org> | 2008-02-27 10:19:18 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2008-02-27 10:19:18 +0000 |
commit | 3eae769fa417311cb782c74849d8a4a4f33c27b7 (patch) | |
tree | 349a9967bac844cd37e6c7dd63361319090af08b /media-libs/libsdl | |
parent | forcing detection of X libraries and include directories, now really fixing b... (diff) | |
download | historical-3eae769fa417311cb782c74849d8a4a4f33c27b7.tar.gz historical-3eae769fa417311cb782c74849d8a4a4f33c27b7.tar.bz2 historical-3eae769fa417311cb782c74849d8a4a4f33c27b7.zip |
no longer used
Diffstat (limited to 'media-libs/libsdl')
-rw-r--r-- | media-libs/libsdl/Manifest | 16 | ||||
-rw-r--r-- | media-libs/libsdl/files/libsdl-1.2.11-libcaca.patch | 592 |
2 files changed, 13 insertions, 595 deletions
diff --git a/media-libs/libsdl/Manifest b/media-libs/libsdl/Manifest index f85457e21f7b..eeb2f5696b6f 100644 --- a/media-libs/libsdl/Manifest +++ b/media-libs/libsdl/Manifest @@ -1,16 +1,26 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + AUX libsdl-1.2.11-audioConv.patch 428 RMD160 0d4092a4c573f95560b9cc10bfdca546d5140755 SHA1 468bd74d05646cae87d18d36f0a0c2a384ad54c2 SHA256 c7a9d541334c5d2638b3283fa8a4c9ab91b3c547148a3fb559aaaa48f1074a9f AUX libsdl-1.2.11-cdrom-correct-free-func.patch 896 RMD160 34026361186ff35b0820b9a36212d7b726603635 SHA1 c14111dc3fbe67f4961a7a0bd2f6e05424704f00 SHA256 ac546e3a4693692a44d6156522abfc3b879e105f222701f2501af5a700003916 AUX libsdl-1.2.11-fbcon-page-header.patch 2387 RMD160 2a6ef67a0b7f3371f8a673495c432b16edcb54e2 SHA1 28a9d15b9db3cb07b97f836e3bcdfc0bd558d711 SHA256 d5cadbd594588e6116d334ebd3e90c2aee85ed52e0afdf4502a1453194356347 AUX libsdl-1.2.11-libcaca-new-api.patch 18314 RMD160 5b7d739492294e1053453e20293e2c9c7bdde195 SHA1 ce4a7d301b5a4c3b8b57056b8f7c4c5528dcf019 SHA256 93ca84b1fffd696053942d110ef1092c002c71762bbdffe0af8c22c0576c6402 -AUX libsdl-1.2.11-libcaca.patch 17046 RMD160 b06396c3ebf3b6d8dc5b11080b3f0295a06bff67 SHA1 3c4ce7038cd089e3f56cb2d7908cd855b3d3d4bb SHA256 5833a12a3f6fd3fe2b95ccd830d7a16a08c5cc25aeb0f68839cc1bd3e1d17105 AUX libsdl-1.2.11-no-inline-BlitRGBtoRGBPixelAlphaMMX3DNOW.patch 448 RMD160 a2bf6975aaada6920913b3232c58d5b2b2aa22fe SHA1 5a377ac2231c7b180797053f838b6ec2a5037c3a SHA256 3c571f5740093d2db2e8397d676c6d6f229fa856c0d15a1f23a0a12331d5883b AUX libsdl-1.2.11-sdl-config.patch 780 RMD160 63a3f86cd25011d0d1e983d89910d4bceb965e86 SHA1 01c8d54cb8a22ea2a1e898b3ca39f9baca07dc98 SHA256 1c73cc815ae4f6fdaee3dc899a9f38e9f29f88e3997070c9fba226b36dbed015 AUX libsdl-1.2.11-xinerama-head-0.patch 882 RMD160 41cd75c0eaeff10484c363c829a7f022c3dcc261 SHA1 ff63d7c1e8e4876a15a0b13e3b3f99fb7c14accb SHA256 612b6e5aeb0b155fa516124dce73a62a57ee5ab46b39c2ab67ae77de69ec0b8d AUX libsdl-1.2.11-yasm-checks.patch 3226 RMD160 17dc39bb8e73c2fe62ce8e2d602dc2d654caece1 SHA1 e84dd2e769712752b6a8190f2eacc6c3750ae78e SHA256 6b7ec4108f06c75a256edfdaa2542c95724c2e6ca45022eec465e432bcecdf91 +AUX libsdl-1.2.13-libcaca-new-api.patch 17411 RMD160 623fef5bc3f502e5bbf96fc7a6d945ca5b4aeae2 SHA1 8df72f8dcbe43efe11926fc34b130bed43abb960 SHA256 faaac39d704a2bcbabd8192245521b8cba733d22d5702c37d0d3619ca55c1b5d AUX libsdl-1.2.13-pulseaudio.patch 1882 RMD160 85216ee5b297606d2cd7785294e8185270eda7c7 SHA1 0b0dbfc237d7ec071f3acb412d08b7e88254e37f SHA256 4a1233bfe237fc9cf1f77b2ad84fec2ac9871be115f0a035038b799c55ebc83f DIST SDL-1.2.11.tar.gz 2796407 RMD160 91dc8877224415a4ba59e1de57c31861e550d644 SHA1 2259134d714e35ab1469d513674a3cd02510d198 SHA256 6985823287b224b57390b1c1b6cbc54cc9a7d7757fbf9934ed20754b4cd23730 DIST SDL-1.2.13.tar.gz 3373673 RMD160 ed8825fc98f4b3759cf9e5cf8357d71c50df9925 SHA1 51fcaa3e1d5c01fd813ea08688780f86b19cf539 SHA256 94f99df1d60f296b57f4740650a71b6425da654044ca30f8f0ce34934429e132 EBUILD libsdl-1.2.11-r2.ebuild 4985 RMD160 2b346aa8d27d3a8d36ad0b07e1d504a70d1af181 SHA1 88a7918d4106055de4794aae0454a1967f9179e7 SHA256 0cdcedb38926e6e1b9f8d0e702448711761c1052dc6bf4df4a0d0595bcb11a2f -EBUILD libsdl-1.2.13.ebuild 4453 RMD160 5fc891d3068f8d80d32ddfcceb4f9c3d1e7561e2 SHA1 fb7ccb6d1ab3faf8b8ad8102615eb1d4dc8aa830 SHA256 a5d185c62473a461637e86a77b8f3428f280c0def7470616108d223881cab5cd -MISC ChangeLog 21845 RMD160 51c9026c94ed20af1006c620c78b8e624f72b0fa SHA1 91daa69999d5681e14e6a53490e6de18bdc3a086 SHA256 f4133d7a9552d3667fc4307b4dfa44ef4af60ec66534c13ced1c13963e19cbf6 +EBUILD libsdl-1.2.13.ebuild 4439 RMD160 080db738057aea43fea8a28e763b6a4150f2a057 SHA1 35188c1ae532547ff07e47e7808d6515ec1f44cc SHA256 0256f9338c7252cd8646e2971d27ed863f17a569da6666f15fbfaf96c7f2469f +MISC ChangeLog 22011 RMD160 19b880c35e760a1ee7b4115533011db7cf9a153d SHA1 ebd351d32b261582b5770096a20f9ec458bcc6fa SHA256 2576f5b596c451f243fbe01ade1b5450d052a05667c03b916b09d15cbf320f26 MISC metadata.xml 974 RMD160 61d8f32b069dc30e7b853b25d1d73020f73cda8f SHA1 8f8471103d29e564169640539c3a2a6a7de5b8c7 SHA256 e575130f8fd4925956581f5d4230469e915b1a8d63269cc0aa3510f3a4743b9b +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.7 (GNU/Linux) + +iD8DBQFHxTlej9hvisErhMIRAgceAJ4hImuL1CAZa1QisvAlsOzBL6+kmQCaAym0 +pVO8DD+B36Vh6823lm9v5V0= +=TZZz +-----END PGP SIGNATURE----- diff --git a/media-libs/libsdl/files/libsdl-1.2.11-libcaca.patch b/media-libs/libsdl/files/libsdl-1.2.11-libcaca.patch deleted file mode 100644 index f2e95e428cc0..000000000000 --- a/media-libs/libsdl/files/libsdl-1.2.11-libcaca.patch +++ /dev/null @@ -1,592 +0,0 @@ ---- SDL-1.2.10/configure.in -+++ SDL-1.2.10/configure.in -@@ -1316,6 +1316,38 @@ AC_HELP_STRING([--enable-video-aalib], [ - fi - } - -+dnl Find the libcaca includes -+CheckCaca() -+{ -+ AC_ARG_ENABLE(video-caca, -+AC_HELP_STRING([--enable-video-caca], [use libcaca video driver [[default=no]]]), -+ , enable_video_caca=no) -+ if test x$enable_video = xyes -a x$enable_video_caca = xyes; then -+ video_caca=no -+ AC_PATH_PROG(CACACONFIG, caca-config, no) -+ if test x$CACACONFIG != xno; then -+ AC_MSG_CHECKING(for libcaca support) -+ CACA_CFLAGS=`$CACACONFIG --cflags` -+ CACA_LDFLAGS=`$CACACONFIG --libs` -+ save_CFLAGS="$CFLAGS" -+ AC_TRY_COMPILE([ -+ #include <caca.h> -+ ],[ -+ ],[ -+ video_caca=yes -+ ]) -+ CFLAGS="$save_CFLAGS" -+ AC_MSG_RESULT($video_caca) -+ if test x$video_caca = xyes; then -+ AC_DEFINE(SDL_VIDEO_DRIVER_CACA) -+ EXTRA_CFLAGS="$EXTRA_CFLAGS $CACA_CFLAGS" -+ EXTRA_LDFLAGS="$EXTRA_LDFLAGS $CACA_LDFLAGS" -+ SOURCES="$SOURCES $srcdir/src/video/caca/*.c" -+ fi -+ fi -+ fi -+} -+ - dnl Set up the QTopia video driver if enabled - CheckQtopia() - { -@@ -2130,6 +2162,7 @@ case "$host" in - CheckVGL - CheckWscons - CheckAAlib -+ CheckCaca - CheckQtopia - CheckPicoGUI - CheckOpenGLX11 ---- SDL-1.2.10/src/video/caca/SDL_cacaevents.c -+++ SDL-1.2.10/src/video/caca/SDL_cacaevents.c -@@ -0,0 +1,98 @@ -+/* -+ SDL - Simple DirectMedia Layer -+ Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 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: libsdl-1.2.11-libcaca.patch,v 1.1 2006/09/18 16:06:06 mr_bones_ Exp $"; -+#endif -+ -+#include <stdio.h> -+ -+#include <caca.h> -+ -+#include "SDL.h" -+#include "../../events/SDL_sysevents.h" -+#include "../../events/SDL_events_c.h" -+#include "SDL_cacavideo.h" -+#include "SDL_cacaevents_c.h" -+ -+void Caca_PumpEvents(_THIS) -+{ -+ int posted = 0; -+ int event; -+ SDL_keysym keysym; -+ -+ if( ! this->screen ) /* Wait till we got the screen initialised */ -+ return; -+ -+ do { -+ posted = 0; -+ -+ /* Get libcaca event */ -+ SDL_mutexP(Caca_mutex); -+ event = caca_get_event(CACA_EVENT_ANY); -+ SDL_mutexV(Caca_mutex); -+ -+ if ( event & (CACA_EVENT_KEY_PRESS | CACA_EVENT_KEY_RELEASE)) { -+ int key; -+ switch ( event & 0xffffff ) -+ { -+ case CACA_KEY_LEFT: key = SDLK_LEFT; break; -+ case CACA_KEY_RIGHT: key = SDLK_RIGHT; break; -+ case CACA_KEY_UP: key = SDLK_UP; break; -+ case CACA_KEY_DOWN: key = SDLK_DOWN; break; -+ default: key = event & 0xff; break; -+ } -+ /* Key pressed */ -+/* printf("Key pressed: %d (%c)\n", key, key); */ -+ keysym.scancode = key; -+ keysym.sym = key; -+ keysym.mod = KMOD_NONE; -+ keysym.unicode = 0; -+ if ( SDL_TranslateUNICODE ) { -+ keysym.unicode = key; -+ } -+ posted += SDL_PrivateKeyboard((event & CACA_EVENT_KEY_PRESS) ? SDL_PRESSED : SDL_RELEASED, &keysym); -+ } -+ else if ( event & (CACA_EVENT_MOUSE_PRESS | CACA_EVENT_MOUSE_RELEASE) ) { -+ /* FIXME: we currently ignore the button type! */ -+ int button = event & 0x00ffffff; -+ if ( button > 3 ) { -+ button = 1; -+ } -+ posted += SDL_PrivateMouseButton((event & CACA_EVENT_MOUSE_PRESS) ? SDL_PRESSED : SDL_RELEASED, button, 0, 0); -+ } -+ else if ( event & CACA_EVENT_MOUSE_MOTION ) { -+ int new_x = 0, new_y = 0; -+ new_x = ((event & 0x00fff000) >> 12) * Caca_w / caca_get_width(); -+ new_y = ((event & 0x00000fff) >> 0) * Caca_h / caca_get_height(); -+ posted += SDL_PrivateMouseMotion(0, 0, new_x, new_y); -+ } -+ } while ( posted ); -+} -+ -+void Caca_InitOSKeymap(_THIS) -+{ -+ return; -+} -+ -+ ---- SDL-1.2.10/src/video/caca/SDL_cacaevents_c.h -+++ SDL-1.2.10/src/video/caca/SDL_cacaevents_c.h -@@ -0,0 +1,35 @@ -+/* -+ SDL - Simple DirectMedia Layer -+ Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 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: libsdl-1.2.11-libcaca.patch,v 1.1 2006/09/18 16:06:06 mr_bones_ Exp $"; -+#endif -+ -+#include "SDL_cacavideo.h" -+ -+/* Variables and functions exported by SDL_sysevents.c to other parts. -+ of the native video subsystem (SDL_sysvideo.c) -+*/ -+extern void Caca_PumpEvents(_THIS); -+extern void Caca_InitOSKeymap(_THIS); -+ ---- SDL-1.2.10/src/video/caca/SDL_cacavideo.c -+++ SDL-1.2.10/src/video/caca/SDL_cacavideo.c -@@ -0,0 +1,301 @@ -+/* -+ SDL - Simple DirectMedia Layer -+ Copyright (C) 2003 Sam Hocevar -+ -+ 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 Hocevar -+ sam@zoy.org -+*/ -+ -+#ifdef SAVE_RCSID -+static char rcsid = -+ "@(#) $Id: libsdl-1.2.11-libcaca.patch,v 1.1 2006/09/18 16:06:06 mr_bones_ Exp $"; -+#endif -+ -+/* libcaca based SDL video driver implementation. -+*/ -+ -+#include <stdlib.h> -+#include <stdio.h> -+#include <string.h> -+#include <unistd.h> -+#include <sys/stat.h> -+ -+ -+#include "SDL.h" -+#include "SDL_error.h" -+#include "SDL_video.h" -+#include "SDL_mouse.h" -+#include "../SDL_sysvideo.h" -+#include "../SDL_pixels_c.h" -+#include "../../events/SDL_events_c.h" -+ -+#include "SDL_cacavideo.h" -+#include "SDL_cacaevents_c.h" -+ -+#include <caca.h> -+ -+/* Initialization/Query functions */ -+static int Caca_VideoInit(_THIS, SDL_PixelFormat *vformat); -+static SDL_Rect **Caca_ListModes(_THIS, SDL_PixelFormat *format, Uint32 flags); -+static SDL_Surface *Caca_SetVideoMode(_THIS, SDL_Surface *current, int width, int height, int bpp, Uint32 flags); -+static void Caca_VideoQuit(_THIS); -+ -+/* Hardware surface functions */ -+static int Caca_AllocHWSurface(_THIS, SDL_Surface *surface); -+static int Caca_LockHWSurface(_THIS, SDL_Surface *surface); -+static int Caca_FlipHWSurface(_THIS, SDL_Surface *surface); -+static void Caca_UnlockHWSurface(_THIS, SDL_Surface *surface); -+static void Caca_FreeHWSurface(_THIS, SDL_Surface *surface); -+ -+/* Cache the VideoDevice struct */ -+static struct SDL_VideoDevice *local_this; -+ -+/* libcaca driver bootstrap functions */ -+ -+static int Caca_Available(void) -+{ -+ return 1; /* Always available ! */ -+} -+ -+static void Caca_DeleteDevice(SDL_VideoDevice *device) -+{ -+ free(device->hidden); -+ free(device); -+} -+static SDL_VideoDevice *Caca_CreateDevice(int devindex) -+{ -+ SDL_VideoDevice *device; -+ -+ /* Initialize all variables that we clean on shutdown */ -+ device = (SDL_VideoDevice *)malloc(sizeof(SDL_VideoDevice)); -+ if ( device ) { -+ memset(device, 0, (sizeof *device)); -+ device->hidden = (struct SDL_PrivateVideoData *) -+ malloc((sizeof *device->hidden)); -+ } -+ if ( (device == NULL) || (device->hidden == NULL) ) { -+ SDL_OutOfMemory(); -+ if ( device ) { -+ free(device); -+ } -+ return(0); -+ } -+ memset(device->hidden, 0, (sizeof *device->hidden)); -+ -+ /* Set the function pointers */ -+ device->VideoInit = Caca_VideoInit; -+ device->ListModes = Caca_ListModes; -+ device->SetVideoMode = Caca_SetVideoMode; -+ device->CreateYUVOverlay = NULL; -+ device->SetColors = NULL; -+ device->UpdateRects = NULL; -+ device->VideoQuit = Caca_VideoQuit; -+ device->AllocHWSurface = Caca_AllocHWSurface; -+ device->CheckHWBlit = NULL; -+ device->FillHWRect = NULL; -+ device->SetHWColorKey = NULL; -+ device->SetHWAlpha = NULL; -+ device->LockHWSurface = Caca_LockHWSurface; -+ device->UnlockHWSurface = Caca_UnlockHWSurface; -+ device->FlipHWSurface = NULL; -+ device->FreeHWSurface = Caca_FreeHWSurface; -+ device->SetCaption = NULL; -+ device->SetIcon = NULL; -+ device->IconifyWindow = NULL; -+ device->GrabInput = NULL; -+ device->GetWMInfo = NULL; -+ device->InitOSKeymap = Caca_InitOSKeymap; -+ device->PumpEvents = Caca_PumpEvents; -+ -+ device->free = Caca_DeleteDevice; -+ -+ return device; -+} -+ -+VideoBootStrap Caca_bootstrap = { -+ "caca", "Color ASCII Art Library", -+ Caca_Available, Caca_CreateDevice -+}; -+ -+int Caca_VideoInit(_THIS, SDL_PixelFormat *vformat) -+{ -+ int i; -+ -+ /* Initialize all variables that we clean on shutdown */ -+ for ( i=0; i<SDL_NUMMODES; ++i ) { -+ SDL_modelist[i] = malloc(sizeof(SDL_Rect)); -+ SDL_modelist[i]->x = SDL_modelist[i]->y = 0; -+ } -+ /* Modes sorted largest to smallest */ -+ SDL_modelist[0]->w = 1024; SDL_modelist[0]->h = 768; -+ SDL_modelist[1]->w = 800; SDL_modelist[1]->h = 600; -+ SDL_modelist[2]->w = 640; SDL_modelist[2]->h = 480; -+ SDL_modelist[3]->w = 320; SDL_modelist[3]->h = 400; -+ SDL_modelist[4]->w = 320; SDL_modelist[4]->h = 240; -+ SDL_modelist[5]->w = 320; SDL_modelist[5]->h = 200; -+ SDL_modelist[6] = NULL; -+ -+ Caca_mutex = SDL_CreateMutex(); -+ -+ /* Initialize the library */ -+ if ( caca_init() != 0 ) { -+ SDL_SetError("Unable to initialize libcaca"); -+ return(-1); -+ } -+ -+ /* Initialize private variables */ -+ Caca_lastkey = 0; -+ Caca_bitmap = NULL; -+ Caca_buffer = NULL; -+ -+ local_this = this; -+ -+ /* Determine the screen depth (use default 8-bit depth) */ -+ vformat->BitsPerPixel = 8; -+ vformat->BytesPerPixel = 1; -+ -+ /* We're done! */ -+ return(0); -+} -+ -+SDL_Rect **Caca_ListModes(_THIS, SDL_PixelFormat *format, Uint32 flags) -+{ -+ if(format->BitsPerPixel != 8) -+ return NULL; -+ -+ if ( flags & SDL_FULLSCREEN ) { -+ return SDL_modelist; -+ } else { -+ return (SDL_Rect **) -1; -+ } -+} -+ -+/* Various screen update functions available */ -+static void Caca_DirectUpdate(_THIS, int numrects, SDL_Rect *rects); -+ -+SDL_Surface *Caca_SetVideoMode(_THIS, SDL_Surface *current, -+ int width, int height, int bpp, Uint32 flags) -+{ -+ if ( Caca_buffer ) { -+ free( Caca_buffer ); -+ Caca_buffer = NULL; -+ } -+ -+ if ( Caca_bitmap ) { -+ caca_free_bitmap( Caca_bitmap ); -+ Caca_bitmap = NULL; -+ } -+ -+ Caca_buffer = malloc(2 * ((width + 15) & ~15) * height); -+ if ( ! Caca_buffer ) { -+ SDL_SetError("Couldn't allocate buffer for requested mode"); -+ return(NULL); -+ } -+ -+ memset(Caca_buffer, 0, 2 * ((width + 15) & ~15) * height); -+ -+ /* Allocate the new pixel format for the screen */ -+ if ( ! SDL_ReallocFormat(current, 16, 0xf800, 0x07e0, 0x001f, 0) ) { -+ return(NULL); -+ } -+ -+ /* Set up the new mode framebuffer */ -+ current->flags = SDL_FULLSCREEN; -+ Caca_w = current->w = width; -+ Caca_h = current->h = height; -+ current->pitch = 2 * ((width + 15) & ~15); -+ current->pixels = Caca_buffer; -+ -+ /* Create the libcaca bitmap */ -+ Caca_bitmap = caca_create_bitmap( 16, width, height, current->pitch, 0xf800, 0x07e0, 0x001f, 0x0000 ); -+ if ( ! Caca_bitmap ) { -+ SDL_SetError("Couldn't allocate libcaca bitmap"); -+ return(NULL); -+ } -+ -+ /* Set the blit function */ -+ this->UpdateRects = Caca_DirectUpdate; -+ -+ /* We're done */ -+ return(current); -+} -+ -+/* We don't actually allow hardware surfaces other than the main one */ -+static int Caca_AllocHWSurface(_THIS, SDL_Surface *surface) -+{ -+ return(-1); -+} -+static void Caca_FreeHWSurface(_THIS, SDL_Surface *surface) -+{ -+ return; -+} -+ -+/* We need to wait for vertical retrace on page flipped displays */ -+static int Caca_LockHWSurface(_THIS, SDL_Surface *surface) -+{ -+ /* TODO ? */ -+ return(0); -+} -+static void Caca_UnlockHWSurface(_THIS, SDL_Surface *surface) -+{ -+ return; -+} -+ -+/* FIXME: How is this done with libcaca? */ -+static int Caca_FlipHWSurface(_THIS, SDL_Surface *surface) -+{ -+ SDL_mutexP(Caca_mutex); -+ caca_refresh(); -+ SDL_mutexV(Caca_mutex); -+ return(0); -+} -+ -+static void Caca_DirectUpdate(_THIS, int numrects, SDL_Rect *rects) -+{ -+ SDL_mutexP(Caca_mutex); -+ caca_draw_bitmap( 0, 0, caca_get_width() - 1, caca_get_height() - 1, -+ Caca_bitmap, Caca_buffer ); -+ caca_refresh(); -+ SDL_mutexV(Caca_mutex); -+ return; -+} -+ -+/* Note: If we are terminated, this could be called in the middle of -+ another SDL video routine -- notably UpdateRects. -+*/ -+void Caca_VideoQuit(_THIS) -+{ -+ int i; -+ -+ /* Free video mode lists */ -+ for ( i=0; i<SDL_NUMMODES; ++i ) { -+ if ( SDL_modelist[i] != NULL ) { -+ free(SDL_modelist[i]); -+ SDL_modelist[i] = NULL; -+ } -+ } -+ -+ if ( Caca_bitmap ) { -+ caca_free_bitmap( Caca_bitmap ); -+ Caca_bitmap = NULL; -+ } -+ -+ caca_end(); -+ -+ SDL_DestroyMutex(Caca_mutex); -+} -+ ---- SDL-1.2.10/src/video/caca/SDL_cacavideo.h -+++ SDL-1.2.10/src/video/caca/SDL_cacavideo.h -@@ -0,0 +1,73 @@ -+/* -+ SDL - Simple DirectMedia Layer -+ Copyright (C) 2003 Sam Hocevar -+ -+ 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 Hocevar -+ sam@zoy.org -+*/ -+ -+#ifdef SAVE_RCSID -+static char rcsid = -+ "@(#) $Id: libsdl-1.2.11-libcaca.patch,v 1.1 2006/09/18 16:06:06 mr_bones_ Exp $"; -+#endif -+ -+#ifndef _SDL_cacavideo_h -+#define _SDL_cacavideo_h -+ -+#include "SDL_mouse.h" -+#include "../SDL_sysvideo.h" -+#include "SDL_mutex.h" -+ -+#include <sys/time.h> -+#include <time.h> -+ -+#include <caca.h> -+ -+/* Hidden "this" pointer for the video functions */ -+#define _THIS SDL_VideoDevice *this -+ -+#define SDL_NUMMODES 6 -+ -+/* Private display data */ -+struct SDL_PrivateVideoData { -+ SDL_Rect *SDL_modelist[SDL_NUMMODES+1]; -+ SDL_mutex *mutex; -+ -+ struct caca_bitmap *bitmap; -+ void *buffer; -+ int w, h; -+ -+ int lastkey; -+ struct timeval lasttime; -+}; -+ -+/* Old variable names */ -+#define SDL_modelist (this->hidden->SDL_modelist) -+#define Caca_palette (this->hidden->palette) -+#define Caca_bitmap (this->hidden->bitmap) -+#define Caca_buffer (this->hidden->buffer) -+ -+#define Caca_w (this->hidden->w) -+#define Caca_h (this->hidden->h) -+ -+#define Caca_lastkey (this->hidden->lastkey) -+#define Caca_lasttime (this->hidden->lasttime) -+ -+#define Caca_mutex (this->hidden->mutex) -+ -+#endif /* _SDL_cacavideo_h */ -+ ---- SDL-1.2.10/src/video/SDL_sysvideo.h -+++ SDL-1.2.10/src/video/SDL_sysvideo.h -@@ -404,6 +404,9 @@ extern VideoBootStrap OS2FSLib_bootstrap - #if SDL_VIDEO_DRIVER_AALIB - extern VideoBootStrap AALIB_bootstrap; - #endif -+#if SDL_VIDEO_DRIVER_CACA -+extern VideoBootStrap CACA_bootstrap; -+#endif - #if SDL_VIDEO_DRIVER_DUMMY - extern VideoBootStrap DUMMY_bootstrap; - #endif ---- SDL-1.2.10/src/video/SDL_video.c -+++ SDL-1.2.10/src/video/SDL_video.c -@@ -120,6 +120,9 @@ static VideoBootStrap *bootstrap[] = { - #if SDL_VIDEO_DRIVER_AALIB - &AALIB_bootstrap, - #endif -+#if SDL_VIDEO_DRIVER_CACA -+ &CACA_bootstrap, -+#endif - #if SDL_VIDEO_DRIVER_DUMMY - &DUMMY_bootstrap, - #endif |