aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--X11/extensions/Xinerama.h74
-rw-r--r--X11/extensions/panoramiXext.h85
-rw-r--r--include/dix-config.h4
-rw-r--r--libXinerama/src/makefile5
-rw-r--r--xorg-server/Xext/Makefile8
-rw-r--r--xorg-server/makefile3
-rw-r--r--xorg-server/randr/makefile1
7 files changed, 173 insertions, 7 deletions
diff --git a/X11/extensions/Xinerama.h b/X11/extensions/Xinerama.h
new file mode 100644
index 000000000..666f52a78
--- /dev/null
+++ b/X11/extensions/Xinerama.h
@@ -0,0 +1,74 @@
+/*
+
+Copyright 2003 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+
+#ifndef _Xinerama_h
+#define _Xinerama_h
+
+#include <X11/Xlib.h>
+
+typedef struct {
+ int screen_number;
+ short x_org;
+ short y_org;
+ short width;
+ short height;
+} XineramaScreenInfo;
+
+_XFUNCPROTOBEGIN
+
+Bool XineramaQueryExtension (
+ Display *dpy,
+ int *event_base,
+ int *error_base
+);
+
+Status XineramaQueryVersion(
+ Display *dpy,
+ int *major_versionp,
+ int *minor_versionp
+);
+
+Bool XineramaIsActive(Display *dpy);
+
+
+/*
+ Returns the number of heads and a pointer to an array of
+ structures describing the position and size of the individual
+ heads. Returns NULL and number = 0 if Xinerama is not active.
+
+ Returned array should be freed with XFree().
+*/
+
+XineramaScreenInfo *
+XineramaQueryScreens(
+ Display *dpy,
+ int *number
+);
+
+_XFUNCPROTOEND
+
+#endif /* _Xinerama_h */
+
diff --git a/X11/extensions/panoramiXext.h b/X11/extensions/panoramiXext.h
new file mode 100644
index 000000000..9c756436e
--- /dev/null
+++ b/X11/extensions/panoramiXext.h
@@ -0,0 +1,85 @@
+/*****************************************************************
+Copyright (c) 1991, 1997 Digital Equipment Corporation, Maynard, Massachusetts.
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING,
+BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of Digital Equipment Corporation
+shall not be used in advertising or otherwise to promote the sale, use or other
+dealings in this Software without prior written authorization from Digital
+Equipment Corporation.
+******************************************************************/
+/*
+ * PanoramiX definitions
+ */
+
+/* THIS IS NOT AN X PROJECT TEAM SPECIFICATION */
+
+#ifndef _panoramiXext_h
+#define _panoramiXext_h
+
+#include <X11/Xfuncproto.h>
+
+typedef struct {
+ Window window; /* PanoramiX window - may not exist */
+ int screen;
+ int State; /* PanroamiXOff, PanoramiXOn */
+ int width; /* width of this screen */
+ int height; /* height of this screen */
+ int ScreenCount; /* real physical number of screens */
+ XID eventMask; /* selected events for this client */
+} XPanoramiXInfo;
+
+_XFUNCPROTOBEGIN
+
+extern Bool XPanoramiXQueryExtension (
+ Display * /* dpy */,
+ int * /* event_base_return */,
+ int * /* error_base_return */
+);
+
+extern Status XPanoramiXQueryVersion(
+ Display * /* dpy */,
+ int * /* major_version_return */,
+ int * /* minor_version_return */
+);
+
+extern XPanoramiXInfo *XPanoramiXAllocInfo (
+ void
+);
+
+extern Status XPanoramiXGetState (
+ Display * /* dpy */,
+ Drawable /* drawable */,
+ XPanoramiXInfo * /* panoramiX_info */
+);
+
+extern Status XPanoramiXGetScreenCount (
+ Display * /* dpy */,
+ Drawable /* drawable */,
+ XPanoramiXInfo * /* panoramiX_info */
+);
+
+extern Status XPanoramiXGetScreenSize (
+ Display * /* dpy */,
+ Drawable /* drawable */,
+ int /* screen_num */,
+ XPanoramiXInfo * /* panoramiX_info */
+);
+
+_XFUNCPROTOEND
+
+#endif /* _panoramiXext_h */
diff --git a/include/dix-config.h b/include/dix-config.h
index 3b6316a5d..a281977d7 100644
--- a/include/dix-config.h
+++ b/include/dix-config.h
@@ -286,7 +286,7 @@
#define PACKAGE "xorg-server"
/* Internal define for Xinerama */
-/* #undef PANORAMIX */
+#define PANORAMIX 1
/* Overall prefix */
#define PROJECTROOT "."
@@ -387,7 +387,7 @@
/* #undef XFreeXDGA */
/* Support Xinerama extension */
-/* #undef XINERAMA */
+#define XINERAMA 1
/* Support X Input extension */
#define XINPUT 1
diff --git a/libXinerama/src/makefile b/libXinerama/src/makefile
new file mode 100644
index 000000000..88215e8a1
--- /dev/null
+++ b/libXinerama/src/makefile
@@ -0,0 +1,5 @@
+LIBRARY = libXinerama
+
+CSRCS = \
+ Xinerama.c
+
diff --git a/xorg-server/Xext/Makefile b/xorg-server/Xext/Makefile
index 7eda4bae5..204ffe797 100644
--- a/xorg-server/Xext/Makefile
+++ b/xorg-server/Xext/Makefile
@@ -12,16 +12,16 @@ xace.c \
xcmisc.c \
xres.c \
xtest.c \
-geext.c
+geext.c \
+panoramiX.c \
+panoramiXprocs.c \
+panoramiXSwap.c
#shm.c \
#appgroup.c \
#fontcache.c \
#mbufbf.c \
#mbufpx.c \
-#panoramiX.c \
-#panoramiXprocs.c \
-#panoramiXSwap.c \
#xcalibrate.c \
#xf86bigfont.c \
#xprint.c \
diff --git a/xorg-server/makefile b/xorg-server/makefile
index 800b5b5d5..519a5be53 100644
--- a/xorg-server/makefile
+++ b/xorg-server/makefile
@@ -47,7 +47,8 @@ INCLUDELIBFILES = \
$(MHMAKECONF)\libx11\modules\lc\xlocale\$(OBJDIR)\libxlocale.lib \
$(MHMAKECONF)\libfontenc\src\$(OBJDIR)\libfontenc.lib \
$(MHMAKECONF)\libxfont\src\freetype\$(OBJDIR)\libft.lib \
- $(MHMAKECONF)\libxfont\src\stubs\$(OBJDIR)\libstubs.lib
+ $(MHMAKECONF)\libxfont\src\stubs\$(OBJDIR)\libstubs.lib \
+ $(MHMAKECONF)\libxinerama\src\$(OBJDIR)\libxinerama.lib
LIBDIRS=$(dir $(INCLUDELIBFILES))
diff --git a/xorg-server/randr/makefile b/xorg-server/randr/makefile
index 9ec11e808..f72a32e9b 100644
--- a/xorg-server/randr/makefile
+++ b/xorg-server/randr/makefile
@@ -1,6 +1,7 @@
LIBRARY=librandr
CSRCS = \
+ rrxinerama.c \
mirandr.c \
randr.c \
rrcrtc.c \