Mercurial > sdl-ios-xcode
view src/video/photon/SDL_phyuv_c.h @ 2357:ad4a291c85ab gsoc2008_iphone
Added support for OpenGL ES and UIKit Video Driver:
- included SDL_renderer_gles.h
- added UIKit Video driver bootstrap declaration
- added property "retained_backing" to gl_config structure. Having retained backing means your video buffers can't be overwritten by other applications between drawing frames. By default, this is enabled. I wanted to give the option to disable this on iPhone because it increases performance greatly.
- modified SDL_GetAttribute and SDL_SetAttribute function for OpenGL ES support. OpenGL ES does not have support for accumulation buffers, and is always double buffered, among other things.
author | Holmes Futrell <hfutrell@umail.ucsb.edu> |
---|---|
date | Thu, 17 Jul 2008 23:07:58 +0000 |
parents | c121d94672cb |
children | 99210400e8b9 |
line wrap: on
line source
/* SDL - Simple DirectMedia Layer Copyright (C) 1997-2006 Sam Lantinga This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Sam Lantinga slouken@libsdl.org */ #include "SDL_config.h" #ifndef __SDL_PH_YUV_H__ #define __SDL_PH_YUV_H__ /* This is the photon implementation of YUV video overlays */ #include "SDL_video.h" #include "SDL_ph_video.h" 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; int locked; }; extern SDL_Overlay *ph_CreateYUVOverlay(_THIS, int width, int height, Uint32 format, SDL_Surface * display); extern int ph_LockYUVOverlay(_THIS, SDL_Overlay * overlay); extern void ph_UnlockYUVOverlay(_THIS, SDL_Overlay * overlay); extern int ph_DisplayYUVOverlay(_THIS, SDL_Overlay * overlay, SDL_Rect * src, SDL_Rect * dst); extern void ph_FreeYUVOverlay(_THIS, SDL_Overlay * overlay); #endif /* __SDL_PH_YUV_H__ */ /* vi: set ts=4 sw=4 expandtab: */