Mercurial > sdl-ios-xcode
diff src/video/photon/SDL_ph_video.h @ 663:8bedd6d61642
Date: Sat, 2 Aug 2003 16:22:51 +0300
From: "Mike Gorchak"
Subject: New patches for QNX6
Here my patches for the SDL/QNX:
QNXSDL.diff - diff to non-QNX related sources:
- updated BUGS file, I think QNX6 is now will be officially supported
- configure.in - added shared library support for QNX, and removed dependency between the ALSA and QNX6.
- SDL_audio.c - added QNX NTO sound bootstrap insted of ALSA's.
- SDL_sysaudio.h - the same.
- SDL_nto_audio.c - the same.
- SDL_video.c - right now, QNX doesn't offer any method to obtain pointers to the OpenGL functions by function name, so they must be hardcoded in library, otherwise OpenGL will not be supported.
- testsprite.c - fixed: do not draw vertical red line if we are in non-double-buffered mode.
sdlqnxph.tar.gz - archive of the ./src/video/photon/* . Too many changes in code to make diffs :) :
+ Added stub for support hide/unhide window event
+ Added full YUV overlays support.
+ Added window maximize support.
+ Added mouse wheel events.
+ Added support for some specific key codes in Unicode mode (like ESC).
+ Added more checks to the all memory allocation code.
+ Added SDL_DOUBLEBUF support in all fullscreen modes.
+ Added fallback to window mode, if desired fullscreen mode is not supported.
+ Added stub support for the GL_LoadLibrary and GL_GetProcAddress functions.
+ Added resizable window support without caption.
! Fixed bug in the Ph_EV_EXPOSE event handler, when rectangles to update is 0 and when width or height of the rectangle is 0.
! Fixed bug in the event handler code. Events has not been passed to the window widget handler.
! Fixed codes for Win keys (Super/Hyper/Menu).
! Fixed memory leak, when deallocation palette.
! Fixed palette emulation code bugs.
! Fixed fullscreen and hwsurface handling.
! Fixed CLOSE button bug. First event was passed to the handler, but second terminated the application. Now all events passed to the application correctly.
- Removed all printfs in code, now SDL_SetError used instead of them.
- Disabled ToggleFullScreen function.
README.QNX - updated README.QNX file. Added much more issues.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Mon, 04 Aug 2003 00:52:42 +0000 |
parents | 8e3ce997621c |
children | 04dd6c6d7c30 |
line wrap: on
line diff
--- a/src/video/photon/SDL_ph_video.h Mon Jul 28 01:47:55 2003 +0000 +++ b/src/video/photon/SDL_ph_video.h Mon Aug 04 00:52:42 2003 +0000 @@ -20,22 +20,23 @@ slouken@libsdl.org */ -#ifndef _SDL_ph_video_h -#define _SDL_ph_video_h +#ifndef __SDL_PH_VIDEO_H__ +#define __SDL_PH_VIDEO_H__ #include "SDL_mouse.h" #include "SDL_sysvideo.h" -#include "Ph.h" -#include "Pt.h" +#include <Ph.h> +#include <Pt.h> #include <photon/Pg.h> #include <photon/PdDirect.h> + #ifdef HAVE_OPENGL -#include <photon/PdGL.h> + #include <photon/PdGL.h> #endif /* HAVE_OPENGL */ /* Hidden "this" pointer for the video functions */ -#define _THIS SDL_VideoDevice *this +#define _THIS SDL_VideoDevice* this #define PH_OGL_MAX_ATTRIBS 32 @@ -43,18 +44,23 @@ #define SDLPH_PAL_EMULATE 0x00000001L #define SDLPH_PAL_SYSTEM 0x00000002L -typedef union vidptr{ - uint8_t* volatile ptr8; - uint16_t* volatile ptr16; - uint32_t* volatile ptr32; - } VidPtr_t; - -typedef struct { +typedef struct +{ unsigned char* Y; unsigned char* V; unsigned char* U; } FRAMEDATA; +/* Mask values for SDL_ReallocFormat() */ +struct ColourMasks +{ + Uint32 red; + Uint32 green; + Uint32 blue; + Uint32 alpha; + Uint32 bpp; +}; + /* Private display data */ struct SDL_PrivateVideoData { PgDisplaySettings_t mode_settings; @@ -69,8 +75,9 @@ struct { PdDirectContext_t* direct_context; PdOffscreenContext_t* offscreen_context; + PdOffscreenContext_t* offscreen_backcontext; PhDrawContext_t* oldDC; - VidPtr_t dc_ptr; + uint8_t* dc_ptr; unsigned char* CurrentFrameData; unsigned char* FrameData0; unsigned char* FrameData1; @@ -85,13 +92,15 @@ int mouse_relative; WMcursor* BlankCursor; - int depth; /* current visual depth (not bpp) */ - int desktopbpp; /* bpp of desktop at the moment of start */ - int desktoppal; /* palette mode emulation or system */ + int depth; /* current visual depth (not bpp) */ + int desktopbpp; /* bpp of desktop at the moment of start */ + int desktoppal; /* palette mode emulation or system */ int currently_fullscreen; + int currently_hided; /* 1 - window hided (minimazed), 0 - normal */ PhEvent_t* event; + SDL_Overlay* overlay; }; #define mode_settings (this->hidden->mode_settings) @@ -106,11 +115,13 @@ #define desktoppal (this->hidden->desktoppal) #define savedpal (this->hidden->savedpal) #define syspalph (this->hidden->syspalph) +#define currently_fullscreen (this->hidden->currently_fullscreen) +#define currently_hided (this->hidden->currently_hided) +#define event (this->hidden->event) +#define current_overlay (this->hidden->overlay) /* Old variable names */ #define mouse_relative (this->hidden->mouse_relative) -#define currently_fullscreen (this->hidden->currently_fullscreen) -#define event (this->hidden->event) #define SDL_BlankCursor (this->hidden->BlankCursor) -#endif /* _SDL_x11video_h */ +#endif /* __SDL_PH_VIDEO_H__ */