view src/video/windx5/SDL_dx5video.h @ 1165:4fa705cdecb9

Date: Tue, 1 Nov 2005 02:51:09 +0000 From: Mike Frysinger <vapier@gentoo.org> To: sdl@libsdl.org Subject: Re: [SDL] libsdl needs some tweaks for DirectFB 0.9.23 On Fri, Oct 28, 2005 at 01:23:57AM +0000, Mike Frysinger wrote: > the new release of DirectFB breaks the libsdl DirectRB video module > > specifically, this change: > http://www.directfb.org/index.php/viewcvs.cgi/DirectFB/include/directfb.h.diff?r1=1.266&r2=1.267 > > but (unless i missed something), it should be trivial to fix (just annoying) > ... ive done so in Gentoo (also attached): > http://viewcvs.gentoo.org/media-libs/libsdl/files/libsdl-1.2.9-DirectFB-updates.patch hmm, i did miss something ... need to include directfb_version.h before trying to test version defines :) updated patch attached as well as previous URL -mike
author Ryan C. Gordon <icculus@icculus.org>
date Tue, 01 Nov 2005 04:18:08 +0000
parents b8d311d90021
children c9b51268668f
line wrap: on
line source

/*
    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_dx5video_h
#define _SDL_dx5video_h

#include "directx.h"

/* Private display data */
struct SDL_PrivateVideoData {
    LPDIRECTDRAW2 ddraw2;
    LPDIRECTDRAWSURFACE3 SDL_primary;
    LPDIRECTDRAWCLIPPER SDL_clipper;
    LPDIRECTDRAWPALETTE SDL_palette;
    PALETTEENTRY SDL_colors[256];
    int colorchange_expected;

#define NUM_MODELISTS	4		/* 8, 16, 24, and 32 bits-per-pixel */
    int SDL_nummodes[NUM_MODELISTS];
    SDL_Rect **SDL_modelist[NUM_MODELISTS];
    int SDL_modeindex[NUM_MODELISTS];
};
/* Old variable names */
#define ddraw2			(this->hidden->ddraw2)
#define SDL_primary		(this->hidden->SDL_primary)
#define SDL_clipper		(this->hidden->SDL_clipper)
#define SDL_palette		(this->hidden->SDL_palette)
#define SDL_colors		(this->hidden->SDL_colors)
#define colorchange_expected	(this->hidden->colorchange_expected)
#define SDL_nummodes		(this->hidden->SDL_nummodes)
#define SDL_modelist		(this->hidden->SDL_modelist)
#define SDL_modeindex		(this->hidden->SDL_modeindex)

/* DirectX function pointers for video and events */
extern HRESULT (WINAPI *DDrawCreate)( GUID FAR *lpGUID, LPDIRECTDRAW FAR *lplpDD, IUnknown FAR *pUnkOuter );
extern HRESULT (WINAPI *DInputCreate)(HINSTANCE hinst, DWORD dwVersion, LPDIRECTINPUT *ppDI, LPUNKNOWN punkOuter);

/* DirectDraw error reporting function */
extern void SetDDerror(const char *function, int code);

#endif /* _SDL_dx5video_h */