view src/video/bwindow/SDL_sysyuv.h @ 1194:b8f167923bfc

Date: Sun, 04 Dec 2005 21:43:46 -0500 From: Jonathan Atkins <jcatki@jcatki.no-ip.org> Subject: SDL patch: DGA key events I kept seeing DGA die on me whenever I press a key. I tracked it down and it seems that the new indirect X via pointers system messed it up. It needed to have the pX* pointers well defined to call, in particular, pXNextEvent. Also, the X11_TranslateKey function prototype was changed, but not updated in the dga driver. perhaps other files are also affected. Not sure what releases may suffer from this too. thanks! -Jon Atkins
author Ryan C. Gordon <icculus@icculus.org>
date Mon, 05 Dec 2005 04:36:53 +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
*/


#ifndef __SDL_SYS_YUV_H__
#define __SDL_SYS_YUV_H__

#ifdef SAVE_RCSID
static char rcsid =
 "@(#) $Id$";
#endif /* SAVE_RCSID */

/* This is the BeOS implementation of YUV video overlays */

#include "SDL_video.h"
#include "SDL_lowvideo.h"

extern "C" {

struct private_yuvhwdata
{
/*  FRAMEDATA* CurrentFrameData;
    FRAMEDATA* FrameData0;
    FRAMEDATA* FrameData1;
    PgScalerProps_t   props;
    PgScalerCaps_t    caps;
    PgVideoChannel_t* channel;
    PhArea_t CurrentViewPort;
    PhPoint_t CurrentWindowPos;
    long format;
    int scaler_on;
    int current;
    long YStride;
    long VStride;
    long UStride;
    int ischromakey;
    long chromakey;
    int forcedredraw;
    unsigned long State;
    long flags;
*/
	SDL_Surface *display;
	BView *bview;
	bool first_display;
	BBitmap *bbitmap;
    int locked;
};

extern BBitmap * BE_GetOverlayBitmap(BRect bounds, color_space cs);
extern SDL_Overlay* BE_CreateYUVOverlay(_THIS, int width, int height, Uint32 format, SDL_Surface* display);
extern int BE_LockYUVOverlay(_THIS, SDL_Overlay* overlay);
extern void BE_UnlockYUVOverlay(_THIS, SDL_Overlay* overlay);
extern int BE_DisplayYUVOverlay(_THIS, SDL_Overlay* overlay, SDL_Rect* dstrect);
extern void BE_FreeYUVOverlay(_THIS, SDL_Overlay* overlay);

};

#endif /* __SDL_PH_YUV_H__ */