diff src/video/Xext/Xinerama/Xinerama.c @ 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 ecba4bbaf9c2
children 4da1ee79c9af
line wrap: on
line diff
--- a/src/video/Xext/Xinerama/Xinerama.c	Sun May 21 17:27:13 2006 +0000
+++ b/src/video/Xext/Xinerama/Xinerama.c	Sun May 28 13:04:16 2006 +0000
@@ -31,9 +31,9 @@
 #include <X11/Xlibint.h>
 #include <X11/Xutil.h>
 #include "../extensions/Xext.h"
-#include "../extensions/extutil.h"			/* in ../include */
+#include "../extensions/extutil.h"      /* in ../include */
 #include "../extensions/panoramiXext.h"
-#include "../extensions/panoramiXproto.h"		/* in ../include */
+#include "../extensions/panoramiXproto.h"       /* in ../include */
 #include "../extensions/Xinerama.h"
 
 static XExtensionInfo _panoramiX_ext_info_data;
@@ -45,63 +45,54 @@
 #define PanoramiXSimpleCheckExtension(dpy,i) \
   XextSimpleCheckExtension (dpy, i, panoramiX_extension_name)
 
-static int close_display();
+static int close_display ();
 static /* const */ XExtensionHooks panoramiX_extension_hooks = {
-    NULL,				/* create_gc */
-    NULL,				/* copy_gc */
-    NULL,				/* flush_gc */
-    NULL,				/* free_gc */
-    NULL,				/* create_font */
-    NULL,				/* free_font */
-    close_display,			/* close_display */
-    NULL,				/* wire_to_event */
-    NULL,				/* event_to_wire */
-    NULL,				/* error */
-    NULL,				/* error_string */
+    NULL,                       /* create_gc */
+    NULL,                       /* copy_gc */
+    NULL,                       /* flush_gc */
+    NULL,                       /* free_gc */
+    NULL,                       /* create_font */
+    NULL,                       /* free_font */
+    close_display,              /* close_display */
+    NULL,                       /* wire_to_event */
+    NULL,                       /* event_to_wire */
+    NULL,                       /* error */
+    NULL,                       /* error_string */
 };
 
-static XEXT_GENERATE_FIND_DISPLAY (find_display, panoramiX_ext_info,
-				   panoramiX_extension_name, 
-				   &panoramiX_extension_hooks,
-				   0, NULL)
-
-static XEXT_GENERATE_CLOSE_DISPLAY (close_display, panoramiX_ext_info)
-
-
-
+static
+XEXT_GENERATE_FIND_DISPLAY (find_display, panoramiX_ext_info,
+                            panoramiX_extension_name,
+                            &panoramiX_extension_hooks, 0, NULL)
+     static XEXT_GENERATE_CLOSE_DISPLAY (close_display, panoramiX_ext_info)
 /****************************************************************************
  *                                                                          *
  *			    PanoramiX public interfaces                         *
  *                                                                          *
  ****************************************************************************/
-
-Bool SDL_NAME(XPanoramiXQueryExtension) (
-    Display *dpy,
-    int *event_basep,
-    int *error_basep
-)
+     Bool SDL_NAME (XPanoramiXQueryExtension) (Display * dpy,
+                                               int *event_basep,
+                                               int *error_basep)
 {
     XExtDisplayInfo *info = find_display (dpy);
 
-    if (XextHasExtension(info)) {
-	*event_basep = info->codes->first_event;
-	*error_basep = info->codes->first_error;
-	return True;
+    if (XextHasExtension (info)) {
+        *event_basep = info->codes->first_event;
+        *error_basep = info->codes->first_error;
+        return True;
     } else {
-	return False;
+        return False;
     }
 }
 
 
-Status SDL_NAME(XPanoramiXQueryVersion)(
-    Display *dpy,
-    int	    *major_versionp, 
-    int *minor_versionp
-)
+Status SDL_NAME (XPanoramiXQueryVersion) (Display * dpy,
+                                          int *major_versionp,
+                                          int *minor_versionp)
 {
     XExtDisplayInfo *info = find_display (dpy);
-    xPanoramiXQueryVersionReply	    rep;
-    register xPanoramiXQueryVersionReq  *req;
+    xPanoramiXQueryVersionReply rep;
+    register xPanoramiXQueryVersionReq *req;
 
     PanoramiXCheckExtension (dpy, info, 0);
 
@@ -111,10 +102,10 @@
     req->panoramiXReqType = X_PanoramiXQueryVersion;
     req->clientMajor = PANORAMIX_MAJOR_VERSION;
     req->clientMinor = PANORAMIX_MINOR_VERSION;
-    if (!_XReply (dpy, (xReply *) &rep, 0, xTrue)) {
-	UnlockDisplay (dpy);
-	SyncHandle ();
-	return 0;
+    if (!_XReply (dpy, (xReply *) & rep, 0, xTrue)) {
+        UnlockDisplay (dpy);
+        SyncHandle ();
+        return 0;
     }
     *major_versionp = rep.majorVersion;
     *minor_versionp = rep.minorVersion;
@@ -123,20 +114,20 @@
     return 1;
 }
 
-SDL_NAME(XPanoramiXInfo) *SDL_NAME(XPanoramiXAllocInfo)(void)
+SDL_NAME (XPanoramiXInfo) * SDL_NAME (XPanoramiXAllocInfo) (void)
 {
-	return (SDL_NAME(XPanoramiXInfo) *) Xmalloc (sizeof (SDL_NAME(XPanoramiXInfo)));
+    return (SDL_NAME (XPanoramiXInfo) *)
+        Xmalloc (sizeof (SDL_NAME (XPanoramiXInfo)));
 }
 
-Status SDL_NAME(XPanoramiXGetState) (
-    Display		*dpy,
-    Drawable		drawable,
-    SDL_NAME(XPanoramiXInfo)	*panoramiX_info
-)
+Status SDL_NAME (XPanoramiXGetState) (Display * dpy,
+                                      Drawable drawable,
+                                      SDL_NAME (XPanoramiXInfo) *
+                                      panoramiX_info)
 {
-    XExtDisplayInfo			*info = find_display (dpy);
-    xPanoramiXGetStateReply	rep;
-    register xPanoramiXGetStateReq	*req;
+    XExtDisplayInfo *info = find_display (dpy);
+    xPanoramiXGetStateReply rep;
+    register xPanoramiXGetStateReq *req;
 
     PanoramiXCheckExtension (dpy, info, 0);
 
@@ -145,10 +136,10 @@
     req->reqType = info->codes->major_opcode;
     req->panoramiXReqType = X_PanoramiXGetState;
     req->window = drawable;
-    if (!_XReply (dpy, (xReply *) &rep, 0, xTrue)) {
-	UnlockDisplay (dpy);
-	SyncHandle ();
-	return 0;
+    if (!_XReply (dpy, (xReply *) & rep, 0, xTrue)) {
+        UnlockDisplay (dpy);
+        SyncHandle ();
+        return 0;
     }
     UnlockDisplay (dpy);
     SyncHandle ();
@@ -157,15 +148,14 @@
     return 1;
 }
 
-Status SDL_NAME(XPanoramiXGetScreenCount) (
-    Display		*dpy,
-    Drawable		drawable,
-    SDL_NAME(XPanoramiXInfo)	*panoramiX_info
-)
+Status SDL_NAME (XPanoramiXGetScreenCount) (Display * dpy,
+                                            Drawable drawable,
+                                            SDL_NAME (XPanoramiXInfo) *
+                                            panoramiX_info)
 {
-    XExtDisplayInfo			*info = find_display (dpy);
-    xPanoramiXGetScreenCountReply	rep;
-    register xPanoramiXGetScreenCountReq	*req;
+    XExtDisplayInfo *info = find_display (dpy);
+    xPanoramiXGetScreenCountReply rep;
+    register xPanoramiXGetScreenCountReq *req;
 
     PanoramiXCheckExtension (dpy, info, 0);
 
@@ -174,10 +164,10 @@
     req->reqType = info->codes->major_opcode;
     req->panoramiXReqType = X_PanoramiXGetScreenCount;
     req->window = drawable;
-    if (!_XReply (dpy, (xReply *) &rep, 0, xTrue)) {
-	UnlockDisplay (dpy);
-	SyncHandle ();
-	return 0;
+    if (!_XReply (dpy, (xReply *) & rep, 0, xTrue)) {
+        UnlockDisplay (dpy);
+        SyncHandle ();
+        return 0;
     }
     UnlockDisplay (dpy);
     SyncHandle ();
@@ -186,16 +176,15 @@
     return 1;
 }
 
-Status SDL_NAME(XPanoramiXGetScreenSize) (
-    Display		*dpy,
-    Drawable		drawable,
-    int			screen_num,
-    SDL_NAME(XPanoramiXInfo)	*panoramiX_info
-)
+Status SDL_NAME (XPanoramiXGetScreenSize) (Display * dpy,
+                                           Drawable drawable,
+                                           int screen_num,
+                                           SDL_NAME (XPanoramiXInfo) *
+                                           panoramiX_info)
 {
-    XExtDisplayInfo			*info = find_display (dpy);
-    xPanoramiXGetScreenSizeReply	rep;
-    register xPanoramiXGetScreenSizeReq	*req;
+    XExtDisplayInfo *info = find_display (dpy);
+    xPanoramiXGetScreenSizeReply rep;
+    register xPanoramiXGetScreenSizeReq *req;
 
     PanoramiXCheckExtension (dpy, info, 0);
 
@@ -204,17 +193,17 @@
     req->reqType = info->codes->major_opcode;
     req->panoramiXReqType = X_PanoramiXGetScreenSize;
     req->window = drawable;
-    req->screen = screen_num;			/* need to define */ 
-    if (!_XReply (dpy, (xReply *) &rep, 0, xTrue)) {
-	UnlockDisplay (dpy);
-	SyncHandle ();
-	return 0;
+    req->screen = screen_num;   /* need to define */
+    if (!_XReply (dpy, (xReply *) & rep, 0, xTrue)) {
+        UnlockDisplay (dpy);
+        SyncHandle ();
+        return 0;
     }
     UnlockDisplay (dpy);
     SyncHandle ();
     panoramiX_info->window = rep.window;
     panoramiX_info->screen = rep.screen;
-    panoramiX_info->width =  rep.width;
+    panoramiX_info->width = rep.width;
     panoramiX_info->height = rep.height;
     return 1;
 }
@@ -225,41 +214,34 @@
   in the "Xinerama" namespace instead of "PanoramiX".
 \*******************************************************************/
 
-Bool SDL_NAME(XineramaQueryExtension) (
-   Display *dpy,
-   int     *event_base,
-   int     *error_base
-)
+Bool SDL_NAME (XineramaQueryExtension) (Display * dpy,
+                                        int *event_base, int *error_base)
 {
-   return SDL_NAME(XPanoramiXQueryExtension)(dpy, event_base, error_base);
+    return SDL_NAME (XPanoramiXQueryExtension) (dpy, event_base, error_base);
 }
 
-Status SDL_NAME(XineramaQueryVersion)(
-   Display *dpy,
-   int     *major,
-   int     *minor
-)
+Status SDL_NAME (XineramaQueryVersion) (Display * dpy, int *major, int *minor)
 {
-   return SDL_NAME(XPanoramiXQueryVersion)(dpy, major, minor);
+    return SDL_NAME (XPanoramiXQueryVersion) (dpy, major, minor);
 }
 
-Bool SDL_NAME(XineramaIsActive)(Display *dpy)
+Bool SDL_NAME (XineramaIsActive) (Display * dpy)
 {
-    xXineramaIsActiveReply	rep;
-    xXineramaIsActiveReq  	*req;
-    XExtDisplayInfo 		*info = find_display (dpy);
+    xXineramaIsActiveReply rep;
+    xXineramaIsActiveReq *req;
+    XExtDisplayInfo *info = find_display (dpy);
 
-    if(!XextHasExtension(info))
-	return False;  /* server doesn't even have the extension */
+    if (!XextHasExtension (info))
+        return False;           /* server doesn't even have the extension */
 
     LockDisplay (dpy);
     GetReq (XineramaIsActive, req);
     req->reqType = info->codes->major_opcode;
     req->panoramiXReqType = X_XineramaIsActive;
-    if (!_XReply (dpy, (xReply *) &rep, 0, xTrue)) {
-	UnlockDisplay (dpy);
-	SyncHandle ();
-	return False;
+    if (!_XReply (dpy, (xReply *) & rep, 0, xTrue)) {
+        UnlockDisplay (dpy);
+        SyncHandle ();
+        return False;
     }
     UnlockDisplay (dpy);
     SyncHandle ();
@@ -268,16 +250,13 @@
 
 #include <stdio.h>
 
-SDL_NAME(XineramaScreenInfo) * 
-SDL_NAME(XineramaQueryScreens)(
-   Display *dpy,
-   int     *number
-)
+SDL_NAME (XineramaScreenInfo) *
+SDL_NAME (XineramaQueryScreens) (Display * dpy, int *number)
 {
-    XExtDisplayInfo		*info = find_display (dpy);
-    xXineramaQueryScreensReply	rep;
-    xXineramaQueryScreensReq	*req;
-    SDL_NAME(XineramaScreenInfo)		*scrnInfo = NULL;
+    XExtDisplayInfo *info = find_display (dpy);
+    xXineramaQueryScreensReply rep;
+    xXineramaQueryScreensReq *req;
+    SDL_NAME (XineramaScreenInfo) * scrnInfo = NULL;
 
     PanoramiXCheckExtension (dpy, info, 0);
 
@@ -285,29 +264,30 @@
     GetReq (XineramaQueryScreens, req);
     req->reqType = info->codes->major_opcode;
     req->panoramiXReqType = X_XineramaQueryScreens;
-    if (!_XReply (dpy, (xReply *) &rep, 0, xFalse)) {
-	UnlockDisplay (dpy);
-	SyncHandle ();
-	return NULL;
+    if (!_XReply (dpy, (xReply *) & rep, 0, xFalse)) {
+        UnlockDisplay (dpy);
+        SyncHandle ();
+        return NULL;
     }
 
-    if(rep.number) {
-	if((scrnInfo = Xmalloc(sizeof(SDL_NAME(XineramaScreenInfo)) * rep.number))) {
-	    xXineramaScreenInfo scratch;
-	    int i;
+    if (rep.number) {
+        if ((scrnInfo =
+             Xmalloc (sizeof (SDL_NAME (XineramaScreenInfo)) * rep.number))) {
+            xXineramaScreenInfo scratch;
+            int i;
 
-	    for(i = 0; i < rep.number; i++) {
-		_XRead(dpy, (char*)(&scratch), sz_XineramaScreenInfo);
-		scrnInfo[i].screen_number = i;
-		scrnInfo[i].x_org 	  = scratch.x_org;
-		scrnInfo[i].y_org 	  = scratch.y_org;
-		scrnInfo[i].width 	  = scratch.width;
-		scrnInfo[i].height 	  = scratch.height;
-	    }
+            for (i = 0; i < rep.number; i++) {
+                _XRead (dpy, (char *) (&scratch), sz_XineramaScreenInfo);
+                scrnInfo[i].screen_number = i;
+                scrnInfo[i].x_org = scratch.x_org;
+                scrnInfo[i].y_org = scratch.y_org;
+                scrnInfo[i].width = scratch.width;
+                scrnInfo[i].height = scratch.height;
+            }
 
-	    *number = rep.number;
-	} else
-	    _XEatData(dpy, rep.length << 2);
+            *number = rep.number;
+        } else
+            _XEatData (dpy, rep.length << 2);
     }
 
     UnlockDisplay (dpy);
@@ -315,5 +295,4 @@
     return scrnInfo;
 }
 
-
-
+/* vi: set ts=4 sw=4 expandtab: */