diff src/video/gapi/SDL_gapivideo.h @ 1662:782fd950bd46 SDL-1.3

Revamp of the video system in progress - adding support for multiple displays, multiple windows, and a full video mode selection API. WARNING: None of the video drivers have been updated for the new API yet! The API is still under design and very fluid. The code is now run through a consistent indent format: indent -i4 -nut -nsc -br -ce The headers are being converted to automatically generate doxygen documentation.
author Sam Lantinga <slouken@libsdl.org>
date Sun, 28 May 2006 13:04:16 +0000
parents 420b3f47806d
children 4da1ee79c9af
line wrap: on
line diff
--- a/src/video/gapi/SDL_gapivideo.h	Sun May 21 17:27:13 2006 +0000
+++ b/src/video/gapi/SDL_gapivideo.h	Sun May 28 13:04:16 2006 +0000
@@ -30,18 +30,20 @@
 
 /* From gx.h, since it's not really C compliant */
 
-struct GXDisplayProperties {
+struct GXDisplayProperties
+{
     DWORD cxWidth;
-    DWORD cyHeight;         // notice lack of 'th' in the word height.
-    long cbxPitch;          // number of bytes to move right one x pixel - can be negative.
-    long cbyPitch;          // number of bytes to move down one y pixel - can be negative.
-    long cBPP;              // # of bits in each pixel
-    DWORD ffFormat;         // format flags.
+    DWORD cyHeight;             // notice lack of 'th' in the word height.
+    long cbxPitch;              // number of bytes to move right one x pixel - can be negative.
+    long cbyPitch;              // number of bytes to move down one y pixel - can be negative.
+    long cBPP;                  // # of bits in each pixel
+    DWORD ffFormat;             // format flags.
 };
 
-struct GXKeyList {
-    short vkUp;             // key for up
-    POINT ptUp;             // x,y position of key/button.  Not on screen but in screen coordinates.
+struct GXKeyList
+{
+    short vkUp;                 // key for up
+    POINT ptUp;                 // x,y position of key/button.  Not on screen but in screen coordinates.
     short vkDown;
     POINT ptDown;
     short vkLeft;
@@ -58,64 +60,66 @@
     POINT ptStart;
 };
 
-typedef int   (*PFNGXOpenDisplay)(HWND hWnd, DWORD dwFlags);
-typedef int   (*PFNGXCloseDisplay)();
-typedef void* (*PFNGXBeginDraw)();
-typedef int   (*PFNGXEndDraw)();
-typedef int   (*PFNGXOpenInput)();
-typedef int   (*PFNGXCloseInput)();
-typedef struct GXDisplayProperties (*PFNGXGetDisplayProperties)();
-typedef struct GXKeyList (*PFNGXGetDefaultKeys)(int iOptions);
-typedef int   (*PFNGXSuspend)();
-typedef int   (*PFNGXResume)();
-typedef int   (*PFNGXSetViewport)( DWORD dwTop, DWORD dwHeight, DWORD dwReserved1, DWORD dwReserved2 );
-typedef BOOL  (*PFNGXIsDisplayDRAMBuffer)();
+typedef int (*PFNGXOpenDisplay) (HWND hWnd, DWORD dwFlags);
+typedef int (*PFNGXCloseDisplay) ();
+typedef void *(*PFNGXBeginDraw) ();
+typedef int (*PFNGXEndDraw) ();
+typedef int (*PFNGXOpenInput) ();
+typedef int (*PFNGXCloseInput) ();
+typedef struct GXDisplayProperties (*PFNGXGetDisplayProperties) ();
+typedef struct GXKeyList (*PFNGXGetDefaultKeys) (int iOptions);
+typedef int (*PFNGXSuspend) ();
+typedef int (*PFNGXResume) ();
+typedef int (*PFNGXSetViewport) (DWORD dwTop, DWORD dwHeight,
+                                 DWORD dwReserved1, DWORD dwReserved2);
+typedef BOOL (*PFNGXIsDisplayDRAMBuffer) ();
 
 struct GapiFunc
 {
-    PFNGXOpenDisplay          GXOpenDisplay;
-    PFNGXCloseDisplay         GXCloseDisplay;
-    PFNGXBeginDraw            GXBeginDraw;
-    PFNGXEndDraw              GXEndDraw;
-    PFNGXOpenInput            GXOpenInput;
-    PFNGXCloseInput           GXCloseInput;
+    PFNGXOpenDisplay GXOpenDisplay;
+    PFNGXCloseDisplay GXCloseDisplay;
+    PFNGXBeginDraw GXBeginDraw;
+    PFNGXEndDraw GXEndDraw;
+    PFNGXOpenInput GXOpenInput;
+    PFNGXCloseInput GXCloseInput;
     PFNGXGetDisplayProperties GXGetDisplayProperties;
-    PFNGXGetDefaultKeys       GXGetDefaultKeys;
-    PFNGXSuspend              GXSuspend;
-    PFNGXResume               GXResume;
-    PFNGXSetViewport          GXSetViewport;
-    PFNGXIsDisplayDRAMBuffer  GXIsDisplayDRAMBuffer;
+    PFNGXGetDefaultKeys GXGetDefaultKeys;
+    PFNGXSuspend GXSuspend;
+    PFNGXResume GXResume;
+    PFNGXSetViewport GXSetViewport;
+    PFNGXIsDisplayDRAMBuffer GXIsDisplayDRAMBuffer;
 };
 
-#define kfLandscape	0x8			// Screen is rotated 270 degrees
-#define kfPalette	0x10		// Pixel values are indexes into a palette
-#define kfDirect	0x20		// Pixel values contain actual level information
-#define kfDirect555	0x40		// 5 bits each for red, green and blue values in a pixel.
-#define kfDirect565	0x80		// 5 red bits, 6 green bits and 5 blue bits per pixel
-#define kfDirect888	0x100		// 8 bits each for red, green and blue values in a pixel.
-#define kfDirect444	0x200		// 4 red, 4 green, 4 blue
+#define kfLandscape	0x8     // Screen is rotated 270 degrees
+#define kfPalette	0x10    // Pixel values are indexes into a palette
+#define kfDirect	0x20    // Pixel values contain actual level information
+#define kfDirect555	0x40    // 5 bits each for red, green and blue values in a pixel.
+#define kfDirect565	0x80    // 5 red bits, 6 green bits and 5 blue bits per pixel
+#define kfDirect888	0x100   // 8 bits each for red, green and blue values in a pixel.
+#define kfDirect444	0x200   // 4 red, 4 green, 4 blue
 #define kfDirectInverted 0x400
 
-#define GX_FULLSCREEN	0x01		// for OpenDisplay() 
+#define GX_FULLSCREEN	0x01    // for OpenDisplay()
 #define GX_NORMALKEYS   0x02
 #define GX_LANDSCAPEKEYS        0x03
 
 typedef enum
 {
-	SDL_ORIENTATION_UP,
-	SDL_ORIENTATION_DOWN,
-	SDL_ORIENTATION_LEFT,
-	SDL_ORIENTATION_RIGHT
+    SDL_ORIENTATION_UP,
+    SDL_ORIENTATION_DOWN,
+    SDL_ORIENTATION_LEFT,
+    SDL_ORIENTATION_RIGHT
 } SDL_ScreenOrientation;
 
 /* GAPI video mode */
-typedef enum {
-	GAPI_NONE = 0,
-	GAPI_DIRECT_565,
-	GAPI_DIRECT_555,
-	GAPI_MONO,
-	GAPI_PALETTE
-} GAPIVideoMode; 
+typedef enum
+{
+    GAPI_NONE = 0,
+    GAPI_DIRECT_565,
+    GAPI_DIRECT_555,
+    GAPI_MONO,
+    GAPI_PALETTE
+} GAPIVideoMode;
 
 /* Hidden "this" pointer for the video functions */
 #define _THIS	SDL_VideoDevice *this
@@ -125,34 +129,35 @@
 /* Private display data 
    begin with DIB private structure to allow DIB events code sharing
 */
-struct SDL_PrivateVideoData {
+struct SDL_PrivateVideoData
+{
     HBITMAP screen_bmp;
     HPALETTE screen_pal;
 
-#define NUM_MODELISTS	4		/* 8, 16, 24, and 32 bits-per-pixel */
+#define NUM_MODELISTS	4       /* 8, 16, 24, and 32 bits-per-pixel */
     int SDL_nummodes[NUM_MODELISTS];
     SDL_Rect **SDL_modelist[NUM_MODELISTS];
-	enum SDL_ScreenOrientation userOrientation;
-	int invert;
-	char hiresFix; // using hires mode without defining hires resource
+    enum SDL_ScreenOrientation userOrientation;
+    int invert;
+    char hiresFix;              // using hires mode without defining hires resource
 // --------------
-	int useGXOpenDisplay; /* use GXOpenDispplay */
+    int useGXOpenDisplay;       /* use GXOpenDispplay */
     int w, h;
-	enum SDL_ScreenOrientation gapiOrientation;
+    enum SDL_ScreenOrientation gapiOrientation;
 
-    void *buffer; // may be 8, 16, 24, 32 bpp
-	PIXEL *videoMem;
-	BOOL needUpdate;
-	struct GXKeyList keyList;
-	struct GapiFunc gxFunc;
-	struct GXDisplayProperties gxProperties;
-	enum GAPIVideoMode videoMode;
-	int colorscale;
-	int dstLineStep;  // in bytes
-	int dstPixelStep; // in bytes
-	int startOffset; // in bytes
-	int useVga;
-	int suspended; // do not pu anything into video memory
+    void *buffer;               // may be 8, 16, 24, 32 bpp
+    PIXEL *videoMem;
+    BOOL needUpdate;
+    struct GXKeyList keyList;
+    struct GapiFunc gxFunc;
+    struct GXDisplayProperties gxProperties;
+    enum GAPIVideoMode videoMode;
+    int colorscale;
+    int dstLineStep;            // in bytes
+    int dstPixelStep;           // in bytes
+    int startOffset;            // in bytes
+    int useVga;
+    int suspended;              // do not pu anything into video memory
 };
 
 
@@ -160,3 +165,4 @@
 #define gapi this->hidden
 
 #endif /* _SDL_gapivideo_h */
+/* vi: set ts=4 sw=4 expandtab: */