[Libreoffice-commits] .: 2 commits - configure.ac Makefile.top Module_tail_build.mk RepositoryExternal.mk RepositoryModule_ooo.mk scp2/source vcl/Library_vcl.mk vcl/prj x11_extensions/inc x11_extensions/Makefile x11_extensions/Module_x11_extensions.mk x11_extensions/Package_inc.mk x11_extensions/prj x11_extensions/README

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Wed Nov 21 07:29:42 PST 2012


 Makefile.top                            |    1 
 Module_tail_build.mk                    |    1 
 RepositoryExternal.mk                   |   18 
 RepositoryModule_ooo.mk                 |    1 
 configure.ac                            |   96 ++++
 scp2/source/ooo/file_ooo.scp            |    2 
 scp2/source/ooo/module_hidden_ooo.scp   |    1 
 vcl/Library_vcl.mk                      |    1 
 vcl/prj/build.lst                       |    2 
 x11_extensions/Makefile                 |    7 
 x11_extensions/Module_x11_extensions.mk |   34 +
 x11_extensions/Package_inc.mk           |   39 +
 x11_extensions/README                   |    1 
 x11_extensions/inc/Xrandr.h             |  151 +++++++
 x11_extensions/inc/Xrender.h            |  528 +++++++++++++++++++++++++
 x11_extensions/inc/randr.h              |   74 +++
 x11_extensions/inc/randrproto.h         |  209 ++++++++++
 x11_extensions/inc/render.h             |  189 +++++++++
 x11_extensions/inc/renderproto.h        |  663 ++++++++++++++++++++++++++++++++
 x11_extensions/inc/shape.h              |  155 +++++++
 x11_extensions/inc/shapeconst.h         |   55 ++
 x11_extensions/prj/build.lst            |    3 
 22 files changed, 2225 insertions(+), 6 deletions(-)

New commits:
commit ec6013c88a7fa59f61a928c2ee7aabed8cbb96c7
Author: Fridrich Å trba <fridrich.strba at bluewin.ch>
Date:   Wed Nov 21 16:28:14 2012 +0100

    Revert "Xlib import via generic pkg-config"
    
    It breaks our baseline Linux release builds where x11_extensions
    headers are actually used.
    
    This reverts commit 3f00bc6717964c2d4db26093b64a68f93c7de906.

diff --git a/Makefile.top b/Makefile.top
index d41fdd9..44e191c 100644
--- a/Makefile.top
+++ b/Makefile.top
@@ -206,6 +206,7 @@ vigra\
 wizards\
 writerfilter\
 writerperfect\
+x11_extensions\
 xmerge\
 xmlhelp\
 xmloff\
diff --git a/Module_tail_build.mk b/Module_tail_build.mk
index 280f56f..f499dcb 100644
--- a/Module_tail_build.mk
+++ b/Module_tail_build.mk
@@ -193,6 +193,7 @@ $(eval $(call gb_Module_add_moduledirs,tail_end,\
 	wizards \
 	writerfilter \
 	writerperfect \
+	$(call gb_Helper_optional,X11_EXTENSIONS,x11_extensions) \
 	xmerge \
 	$(call gb_Helper_optional,DESKTOP,xmlhelp) \
 	xmloff \
diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index 349f83a..9790e4a 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -2025,9 +2025,25 @@ endif # SYSTEM_LIBORCUS
 
 ifeq ($(GUIBASE),unx)
 
+# TODO: do we really need these X11 headers in the repo?
+ifneq ($(filter X11_EXTENSIONS,$(BUILD_TYPE)),)
+
+define gb_LinkTarget__use_x11extensions
+$(call gb_LinkTarget_use_packages,$(1),\
+	x11_extensions_inc \
+)
+endef
+
+else # !X11_EXTENSIONS
+
+gb_LinkTarget__use_x11extensions :=
+
+endif # X11_EXTENSIONS
+
 ifeq ($(XRANDR_DLOPEN),FALSE)
 
 define gb_LinkTarget__use_Xrandr
+$(call gb_LinkTarget__use_x11extensions,$(1))
 
 $(call gb_LinkTarget_set_include,$(1),\
 	$$(INCLUDE) \
@@ -2042,6 +2058,7 @@ endef
 else # XRANDR_DLOPEN
 
 define gb_LinkTarget__use_Xrandr
+$(call gb_LinkTarget__use_x11extensions,$(1))
 
 $(call gb_LinkTarget_add_defs,$(1),\
 	-DXRANDR_DLOPEN \
@@ -2051,6 +2068,7 @@ endef
 endif # XRANDR_DLOPEN
 
 define gb_LinkTarget__use_Xrender
+$(call gb_LinkTarget__use_x11extensions,$(1))
 
 $(call gb_LinkTarget_set_include,$(1),\
 	$$(INCLUDE) \
diff --git a/RepositoryModule_ooo.mk b/RepositoryModule_ooo.mk
index 30a5586..6b942c3 100644
--- a/RepositoryModule_ooo.mk
+++ b/RepositoryModule_ooo.mk
@@ -204,6 +204,7 @@ $(eval $(call gb_Module_add_moduledirs,ooo,\
 	wizards \
 	writerfilter \
 	writerperfect \
+	$(call gb_Helper_optional,X11_EXTENSIONS,x11_extensions) \
 	xmerge \
 	$(call gb_Helper_optional,DESKTOP,xmlhelp) \
 	xmloff \
diff --git a/configure.ac b/configure.ac
index 5de1096..024a2b3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1576,6 +1576,13 @@ AC_ARG_WITH(system-bluez,
         [Use bluetooth.h already on system.]),,
     [with_system_bluez="$with_system_headers"])
 
+AC_ARG_WITH(system-xextensions-headers,
+    AS_HELP_STRING([--with-system-xextensions-headers],
+        [To build without system X11 extensions headers, use
+         --without-system-xextensions-headers. This is possibly
+         useful on legacy unix systems which ship with the libs
+         but without the headers.]))
+
 AC_ARG_WITH(system-mesa-headers,
     AS_HELP_STRING([--with-system-mesa-headers],
         [Use Mesa headers already on system.]),,
@@ -8520,11 +8527,78 @@ fi
 AC_MSG_RESULT([$WANT_X11])
 
 if test "$WANT_X11" = "yes"; then
-    PKG_CHECK_MODULES(X11,x11 xt xcomposite xext)
-    SOLARLIB="$SOLARLIB $X11_LIBS"
-    SOLARINC="$SOLARINC $X11_CFLAGS"
-    x_includes=`$PKG_CONFIG --variable=includedir x11`
-    x_libraries=`$PKG_CONFIG --variable=libdir x11`
+    AC_PATH_X
+    AC_PATH_XTRA
+    CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+
+    if test "x$x_includes" = "x"; then
+        x_includes="default_x_includes"
+    fi
+    if test "x$x_libraries" = "x"; then
+        x_libraries="default_x_libraries"
+    fi
+    dnl The variables $x_libraries and $x_includes are set.
+    if test -z "$x_libraries"; then
+        AC_MSG_ERROR([No X libraries found]) # Exit
+    fi
+    if test -z "$x_includes"; then
+        AC_MSG_ERROR([No X includes found]) # Exit
+    fi
+    CFLAGS="$CFLAGS $X_CFLAGS"
+    LDFLAGS="$LDFLAGS $X_LDFLAGS $X_LIBS"
+    AC_CHECK_LIB(X11, XOpenDisplay, x_libs="-lX11 $X_EXTRA_LIBS", [AC_MSG_ERROR([X Development libraries not found])])
+else
+    x_includes="no_x_includes"
+    x_libraries="no_x_libraries"
+fi
+if test -z "$x_includes"; then
+    x_includes="no_x_includes"
+fi
+if test -z "$x_libraries"; then
+    x_libraries="no_x_libraries"
+fi
+if test "$x_includes" = "default_x_includes"; then
+    XINC="/usr/include"
+else
+    XINC="$x_includes"
+fi
+AC_SUBST(XINC)
+if test "$x_libraries" = "default_x_libraries"; then
+    XLIB=`$PKG_CONFIG --variable=libdir x11`
+    if test "x$XLIB" = x; then
+        XLIB="/usr/lib"
+    fi
+else
+    XLIB="$x_libraries"
+fi
+if test "$XLIB" != "no_x_libraries" -a "$XLIB" != "/usr/lib" -a "$XLIB" != "/usr/lib64"; then
+    SOLARLIB="$SOLARLIB -L$XLIB"
+fi
+if test "$XINC" != "no_x_includes" -a "$XINC" != "/usr/include"; then
+    SOLARINC="$SOLARINC -I$XINC"
+fi
+AC_SUBST(XLIB)
+
+if test "$WANT_X11" = "yes"; then
+    dnl ===================================================================
+    dnl Check for Composite.h for Mozilla plugin
+    dnl ===================================================================
+    AC_CHECK_HEADERS(X11/Composite.h,[],[AC_MSG_ERROR([Xt headers not found])],
+     [#include <X11/Intrinsic.h>])
+
+    dnl ===================================================================
+    dnl Check for extension headers
+    dnl ===================================================================
+    AC_MSG_CHECKING([whether to use internal X11 extensions headers])
+    if test "$with_system_xextensions_headers" != "no"; then
+        AC_MSG_RESULT([no])
+        AC_CHECK_HEADERS(X11/extensions/shape.h,[],[AC_MSG_ERROR([libXext headers not found])],
+        [#include <X11/extensions/shape.h>])
+    else
+        AC_MSG_RESULT([yes])
+        BUILD_TYPE="$BUILD_TYPE X11_EXTENSIONS"
+    fi
+
 fi
 
 dnl ===================================================================
@@ -8534,6 +8608,16 @@ AC_MSG_CHECKING([whether to use Xrender])
 if test "$WANT_X11" = "yes" -a  "$test_xrender" = "yes"; then
     AC_MSG_RESULT([yes])
     PKG_CHECK_MODULES(XRENDER, xrender)
+    AC_CHECK_LIB([Xrender], [XRenderQueryVersion], [:],
+      [AC_MSG_ERROR(libXrender not found or functional)], [])
+    AC_MSG_CHECKING([which Xrender headers to use])
+    if test "$with_system_xextensions_headers" != "no"; then
+        AC_MSG_RESULT([external])
+        AC_CHECK_HEADER(X11/extensions/Xrender.h, [],
+          [AC_MSG_ERROR(Xrender not found. install X)], [])
+    else
+        AC_MSG_RESULT([internal])
+    fi
 else
     AC_MSG_RESULT([no])
 fi
@@ -11287,6 +11371,7 @@ if test "$test_cairo" = "yes" ; then
         PKG_CHECK_MODULES( CAIRO, cairo >= 1.0.2 )
 
         if test "$test_xrender" = "yes"; then
+            if test "$with_system_xextensions_headers" != "no"; then
                 AC_MSG_CHECKING([whether Xrender.h defines PictStandardA8])
                 AC_LANG_PUSH([C])
                 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <X11/extensions/Xrender.h>]],[[
@@ -11297,6 +11382,7 @@ if test "$test_cairo" = "yes" ; then
 ]])],[AC_MSG_RESULT([yes])],[AC_MSG_ERROR([no, X headers too old.])])
 
                 AC_LANG_POP([C])
+            fi
         fi
         libo_MINGW_CHECK_DLL([CAIRO], [libcairo])
         libo_MINGW_TRY_DLL([FONTCONFIG], [libfontconfig])
diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk
index 30ac57e..57fd4cf 100644
--- a/vcl/Library_vcl.mk
+++ b/vcl/Library_vcl.mk
@@ -502,6 +502,7 @@ $(eval $(call gb_Library_use_externals,vcl,\
 	fontconfig \
 	freetype \
 	valgrind \
+	x11extensions \
 ))
 endif
 
diff --git a/vcl/prj/build.lst b/vcl/prj/build.lst
index 5c3b46d..09bd494 100644
--- a/vcl/prj/build.lst
+++ b/vcl/prj/build.lst
@@ -1,4 +1,4 @@
-vc	vcl	:	apple_remote BOOST:boost officecfg DESKTOP:rsc sot ucbhelper unotools ICU:icu GRAPHITE:graphite i18npool i18nutil unoil ridljar offapi basegfx basebmp tools DESKTOP:l10ntools cpputools svl LCMS2:lcms2 LIBXSLT:libxslt CAIRO:cairo FREETYPE:freetype FONTCONFIG:fontconfig shell NSS:nss NULL
+vc	vcl	:	apple_remote BOOST:boost officecfg DESKTOP:rsc sot ucbhelper unotools ICU:icu GRAPHITE:graphite i18npool i18nutil unoil ridljar X11_EXTENSIONS:x11_extensions offapi basegfx basebmp tools DESKTOP:l10ntools cpputools svl LCMS2:lcms2 LIBXSLT:libxslt CAIRO:cairo FREETYPE:freetype FONTCONFIG:fontconfig shell NSS:nss NULL
 vc	vcl										usr1	-	all	vc_mkout NULL
 vc	vcl\prj									nmake	-	all	vc_prj NULL
 
diff --git a/x11_extensions/Makefile b/x11_extensions/Makefile
new file mode 100644
index 0000000..ccb1c85
--- /dev/null
+++ b/x11_extensions/Makefile
@@ -0,0 +1,7 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+
+module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
+
+include $(module_directory)/../solenv/gbuild/partial_build.mk
+
+# vim: set noet sw=4 ts=4:
diff --git a/x11_extensions/Module_x11_extensions.mk b/x11_extensions/Module_x11_extensions.mk
new file mode 100644
index 0000000..eadf1a7
--- /dev/null
+++ b/x11_extensions/Module_x11_extensions.mk
@@ -0,0 +1,34 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License or as specified alternatively below. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# Major Contributor(s):
+# Copyright (C) 2012 Red Hat, Inc., David Tardon <dtardon at redhat.com>
+#  (initial developer)
+#
+# All Rights Reserved.
+#
+# For minor contributions see the git repository.
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+
+$(eval $(call gb_Module_Module,x11_extensions))
+
+$(eval $(call gb_Module_add_targets,x11_extensions,\
+	Package_inc \
+))
+
+# vim: set shiftwidth=4 tabstop=4 noexpandtab:
diff --git a/x11_extensions/Package_inc.mk b/x11_extensions/Package_inc.mk
new file mode 100644
index 0000000..8845d16
--- /dev/null
+++ b/x11_extensions/Package_inc.mk
@@ -0,0 +1,39 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License or as specified alternatively below. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# Major Contributor(s):
+# Copyright (C) 2012 Red Hat, Inc., David Tardon <dtardon at redhat.com>
+#  (initial developer)
+#
+# All Rights Reserved.
+#
+# For minor contributions see the git repository.
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+
+$(eval $(call gb_Package_Package,x11_extensions_inc,$(SRCDIR)/x11_extensions/inc))
+
+$(eval $(call gb_Package_add_file,x11_extensions_inc,inc/X11/extensions/randr.h,randr.h))
+$(eval $(call gb_Package_add_file,x11_extensions_inc,inc/X11/extensions/randrproto.h,randrproto.h))
+$(eval $(call gb_Package_add_file,x11_extensions_inc,inc/X11/extensions/render.h,render.h))
+$(eval $(call gb_Package_add_file,x11_extensions_inc,inc/X11/extensions/renderproto.h,renderproto.h))
+$(eval $(call gb_Package_add_file,x11_extensions_inc,inc/X11/extensions/shapeconst.h,shapeconst.h))
+$(eval $(call gb_Package_add_file,x11_extensions_inc,inc/X11/extensions/shape.h,shape.h))
+$(eval $(call gb_Package_add_file,x11_extensions_inc,inc/X11/extensions/Xrandr.h,Xrandr.h))
+$(eval $(call gb_Package_add_file,x11_extensions_inc,inc/X11/extensions/Xrender.h,Xrender.h))
+
+# vim: set shiftwidth=4 tabstop=4 noexpandtab:
diff --git a/x11_extensions/README b/x11_extensions/README
new file mode 100644
index 0000000..5f34206
--- /dev/null
+++ b/x11_extensions/README
@@ -0,0 +1 @@
+Headers for XRender support
diff --git a/x11_extensions/inc/Xrandr.h b/x11_extensions/inc/Xrandr.h
new file mode 100644
index 0000000..3cf2a67
--- /dev/null
+++ b/x11_extensions/inc/Xrandr.h
@@ -0,0 +1,151 @@
+/*
+ * $XFree86: xc/lib/Xrandr/Xrandr.h,v 1.9 2002/09/29 23:39:44 keithp Exp $
+ *
+ * Copyright © 2000 Compaq Computer Corporation, Inc.
+ * Copyright © 2002 Hewlett-Packard Company, Inc.
+ *
+ * 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, and that the name of Compaq not be used in advertising or
+ * publicity pertaining to distribution of the software without specific,
+ * written prior permission.  HP makes no representations about the
+ * suitability of this software for any purpose.  It is provided "as is"
+ * without express or implied warranty.
+ *
+ * HP DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL COMPAQ
+ * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * Author:  Jim Gettys, HP Labs, HP.
+ */
+
+#ifndef _XRANDR_H_
+#define _XRANDR_H_
+
+#include <X11/extensions/randr.h>
+
+#include <X11/Xfuncproto.h>
+
+_XFUNCPROTOBEGIN
+
+
+typedef struct {
+    int width, height;
+    int mwidth, mheight;
+} XRRScreenSize;
+
+/*
+ *  Events.
+ */
+
+typedef struct {
+    int type;           /* event base */
+    unsigned long serial;   /* # of last request processed by server */
+    Bool send_event;        /* true if this came from a SendEvent request */
+    Display *display;       /* Display the event was read from */
+    Window window;      /* window which selected for this event */
+    Window root;        /* Root window for changed screen */
+    Time timestamp;     /* when the screen change occurred */
+    Time config_timestamp;  /* when the last configuration change */
+    SizeID size_index;
+    SubpixelOrder subpixel_order;
+    Rotation rotation;
+    int width;
+    int height;
+    int mwidth;
+    int mheight;
+} XRRScreenChangeNotifyEvent;
+
+
+/* internal representation is private to the library */
+typedef struct _XRRScreenConfiguration XRRScreenConfiguration;
+
+Bool XRRQueryExtension (Display *dpy, int *event_basep, int *error_basep);
+Status XRRQueryVersion (Display *dpy,
+                int     *major_versionp,
+                int     *minor_versionp);
+
+XRRScreenConfiguration *XRRGetScreenInfo (Display *dpy,
+                      Drawable draw);
+
+void XRRFreeScreenConfigInfo (XRRScreenConfiguration *config);
+
+/*
+ * Note that screen configuration changes are only permitted if the client can
+ * prove it has up to date configuration information.  We are trying to
+ * insist that it become possible for screens to change dynamically, so
+ * we want to ensure the client knows what it is talking about when requesting
+ * changes.
+ */
+Status XRRSetScreenConfig (Display *dpy,
+               XRRScreenConfiguration *config,
+               Drawable draw,
+               int size_index,
+               Rotation rotation,
+               Time timestamp);
+
+/* added in v1.1, sorry for the lame name */
+Status XRRSetScreenConfigAndRate (Display *dpy,
+                  XRRScreenConfiguration *config,
+                  Drawable draw,
+                  int size_index,
+                  Rotation rotation,
+                  short rate,
+                  Time timestamp);
+
+
+Rotation XRRConfigRotations(XRRScreenConfiguration *config, Rotation *current_rotation);
+
+Time XRRConfigTimes (XRRScreenConfiguration *config, Time *config_timestamp);
+
+XRRScreenSize *XRRConfigSizes(XRRScreenConfiguration *config, int *nsizes);
+
+short *XRRConfigRates (XRRScreenConfiguration *config, int sizeID, int *nrates);
+
+SizeID XRRConfigCurrentConfiguration (XRRScreenConfiguration *config,
+                  Rotation *rotation);
+
+short XRRConfigCurrentRate (XRRScreenConfiguration *config);
+
+int XRRRootToScreen(Display *dpy, Window root);
+
+/*
+ * returns the screen configuration for the specified screen; does a lazy
+ * evalution to delay getting the information, and caches the result.
+ * These routines should be used in preference to XRRGetScreenInfo
+ * to avoid unneeded round trips to the X server.  These are new
+ * in protocol version 0.1.
+ */
+
+
+XRRScreenConfiguration *XRRScreenConfig(Display *dpy, int screen);
+XRRScreenConfiguration *XRRConfig(Screen *screen);
+void XRRSelectInput(Display *dpy, Window window, int mask);
+
+/*
+ * the following are always safe to call, even if RandR is not implemented
+ * on a screen
+ */
+
+
+Rotation XRRRotations(Display *dpy, int screen, Rotation *current_rotation);
+XRRScreenSize *XRRSizes(Display *dpy, int screen, int *nsizes);
+short *XRRRates (Display *dpy, int screen, int sizeID, int *nrates);
+Time XRRTimes (Display *dpy, int screen, Time *config_timestamp);
+
+
+/*
+ * intended to take RRScreenChangeNotify,  or
+ * ConfigureNotify (on the root window)
+ * returns 1 if it is an event type it understands, 0 if not
+ */
+int XRRUpdateConfiguration(XEvent *event);
+
+_XFUNCPROTOEND
+
+#endif /* _XRANDR_H_ */
diff --git a/x11_extensions/inc/Xrender.h b/x11_extensions/inc/Xrender.h
new file mode 100644
index 0000000..1b3bc93
--- /dev/null
+++ b/x11_extensions/inc/Xrender.h
@@ -0,0 +1,528 @@
+/*
+ *
+ * Copyright © 2000 SuSE, Inc.
+ *
+ * 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, and that the name of SuSE not be used in advertising or
+ * publicity pertaining to distribution of the software without specific,
+ * written prior permission.  SuSE makes no representations about the
+ * suitability of this software for any purpose.  It is provided "as is"
+ * without express or implied warranty.
+ *
+ * SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
+ * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * Author:  Keith Packard, SuSE, Inc.
+ */
+
+#ifndef _XRENDER_H_
+#define _XRENDER_H_
+
+#include <X11/Xlib.h>
+#include <X11/Xfuncproto.h>
+#include <X11/Xosdefs.h>
+#include <X11/Xutil.h>
+
+#include <X11/extensions/render.h>
+
+typedef struct {
+    short   red;
+    short   redMask;
+    short   green;
+    short   greenMask;
+    short   blue;
+    short   blueMask;
+    short   alpha;
+    short   alphaMask;
+} XRenderDirectFormat;
+
+typedef struct {
+    PictFormat      id;
+    int         type;
+    int         depth;
+    XRenderDirectFormat direct;
+    Colormap        colormap;
+} XRenderPictFormat;
+
+#define PictFormatID        (1 << 0)
+#define PictFormatType      (1 << 1)
+#define PictFormatDepth     (1 << 2)
+#define PictFormatRed       (1 << 3)
+#define PictFormatRedMask   (1 << 4)
+#define PictFormatGreen     (1 << 5)
+#define PictFormatGreenMask (1 << 6)
+#define PictFormatBlue      (1 << 7)
+#define PictFormatBlueMask  (1 << 8)
+#define PictFormatAlpha     (1 << 9)
+#define PictFormatAlphaMask (1 << 10)
+#define PictFormatColormap  (1 << 11)
+
+typedef struct _XRenderPictureAttributes {
+    int         repeat;
+    Picture     alpha_map;
+    int         alpha_x_origin;
+    int         alpha_y_origin;
+    int         clip_x_origin;
+    int         clip_y_origin;
+    Pixmap      clip_mask;
+    Bool        graphics_exposures;
+    int         subwindow_mode;
+    int         poly_edge;
+    int         poly_mode;
+    Atom        dither;
+    Bool        component_alpha;
+} XRenderPictureAttributes;
+
+typedef struct {
+    unsigned short   red;
+    unsigned short   green;
+    unsigned short   blue;
+    unsigned short   alpha;
+} XRenderColor;
+
+typedef struct _XGlyphInfo {
+    unsigned short  width;
+    unsigned short  height;
+    short       x;
+    short       y;
+    short       xOff;
+    short       yOff;
+} XGlyphInfo;
+
+typedef struct _XGlyphElt8 {
+    GlyphSet            glyphset;
+    _Xconst char        *chars;
+    int             nchars;
+    int             xOff;
+    int             yOff;
+} XGlyphElt8;
+
+typedef struct _XGlyphElt16 {
+    GlyphSet            glyphset;
+    _Xconst unsigned short  *chars;
+    int             nchars;
+    int             xOff;
+    int             yOff;
+} XGlyphElt16;
+
+typedef struct _XGlyphElt32 {
+    GlyphSet            glyphset;
+    _Xconst unsigned int    *chars;
+    int             nchars;
+    int             xOff;
+    int             yOff;
+} XGlyphElt32;
+
+typedef double  XDouble;
+
+typedef struct _XPointDouble {
+    XDouble  x, y;
+} XPointDouble;
+
+#define XDoubleToFixed(f)    ((XFixed) ((f) * 65536))
+#define XFixedToDouble(f)    (((XDouble) (f)) / 65536)
+
+typedef int XFixed;
+
+typedef struct _XPointFixed {
+    XFixed  x, y;
+} XPointFixed;
+
+typedef struct _XLineFixed {
+    XPointFixed p1, p2;
+} XLineFixed;
+
+typedef struct _XTriangle {
+    XPointFixed p1, p2, p3;
+} XTriangle;
+
+typedef struct _XCircle {
+    XFixed x;
+    XFixed y;
+    XFixed radius;
+} XCircle;
+
+typedef struct _XTrapezoid {
+    XFixed  top, bottom;
+    XLineFixed  left, right;
+} XTrapezoid;
+
+typedef struct _XTransform {
+    XFixed  matrix[3][3];
+} XTransform;
+
+typedef struct _XFilters {
+    int     nfilter;
+    char    **filter;
+    int     nalias;
+    short   *alias;
+} XFilters;
+
+typedef struct _XIndexValue {
+    unsigned long    pixel;
+    unsigned short   red, green, blue, alpha;
+} XIndexValue;
+
+typedef struct _XAnimCursor {
+    Cursor      cursor;
+    unsigned long   delay;
+} XAnimCursor;
+
+typedef struct _XSpanFix {
+    XFixed      left, right, y;
+} XSpanFix;
+
+typedef struct _XTrap {
+    XSpanFix        top, bottom;
+} XTrap;
+
+typedef struct _XLinearGradient {
+    XPointFixed p1;
+    XPointFixed p2;
+} XLinearGradient;
+
+typedef struct _XRadialGradient {
+    XCircle inner;
+    XCircle outer;
+} XRadialGradient;
+
+typedef struct _XConicalGradient {
+    XPointFixed center;
+    XFixed angle; /* in degrees */
+} XConicalGradient;
+
+_XFUNCPROTOBEGIN
+
+Bool XRenderQueryExtension (Display *dpy, int *event_basep, int *error_basep);
+
+Status XRenderQueryVersion (Display *dpy,
+                int     *major_versionp,
+                int     *minor_versionp);
+
+Status XRenderQueryFormats (Display *dpy);
+
+int XRenderQuerySubpixelOrder (Display *dpy, int screen);
+
+Bool XRenderSetSubpixelOrder (Display *dpy, int screen, int subpixel);
+
+XRenderPictFormat *
+XRenderFindVisualFormat (Display *dpy, _Xconst Visual *visual);
+
+XRenderPictFormat *
+XRenderFindFormat (Display          *dpy,
+           unsigned long        mask,
+           _Xconst XRenderPictFormat    *templ,
+           int              count);
+
+#define PictStandardARGB32  0
+#define PictStandardRGB24   1
+#define PictStandardA8      2
+#define PictStandardA4      3
+#define PictStandardA1      4
+#define PictStandardNUM     5
+
+XRenderPictFormat *
+XRenderFindStandardFormat (Display      *dpy,
+               int          format);
+
+XIndexValue *
+XRenderQueryPictIndexValues(Display         *dpy,
+                _Xconst XRenderPictFormat   *format,
+                int             *num);
+
+Picture
+XRenderCreatePicture (Display               *dpy,
+              Drawable              drawable,
+              _Xconst XRenderPictFormat     *format,
+              unsigned long         valuemask,
+              _Xconst XRenderPictureAttributes  *attributes);
+
+void
+XRenderChangePicture (Display               *dpy,
+              Picture               picture,
+              unsigned long         valuemask,
+              _Xconst XRenderPictureAttributes  *attributes);
+
+void
+XRenderSetPictureClipRectangles (Display        *dpy,
+                 Picture        picture,
+                 int            xOrigin,
+                 int            yOrigin,
+                 _Xconst XRectangle *rects,
+                 int            n);
+
+void
+XRenderSetPictureClipRegion (Display        *dpy,
+                 Picture        picture,
+                 Region     r);
+
+void
+XRenderSetPictureTransform (Display     *dpy,
+                Picture     picture,
+                XTransform      *transform);
+
+void
+XRenderFreePicture (Display                   *dpy,
+            Picture                   picture);
+
+void
+XRenderComposite (Display   *dpy,
+          int       op,
+          Picture   src,
+          Picture   mask,
+          Picture   dst,
+          int       src_x,
+          int       src_y,
+          int       mask_x,
+          int       mask_y,
+          int       dst_x,
+          int       dst_y,
+          unsigned int  width,
+          unsigned int  height);
+
+GlyphSet
+XRenderCreateGlyphSet (Display *dpy, _Xconst XRenderPictFormat *format);
+
+GlyphSet
+XRenderReferenceGlyphSet (Display *dpy, GlyphSet existing);
+
+void
+XRenderFreeGlyphSet (Display *dpy, GlyphSet glyphset);
+
+void
+XRenderAddGlyphs (Display       *dpy,
+          GlyphSet      glyphset,
+          _Xconst Glyph     *gids,
+          _Xconst XGlyphInfo    *glyphs,
+          int           nglyphs,
+          _Xconst char      *images,
+          int           nbyte_images);
+
+void
+XRenderFreeGlyphs (Display      *dpy,
+           GlyphSet     glyphset,
+           _Xconst Glyph    *gids,
+           int          nglyphs);
+
+void
+XRenderCompositeString8 (Display            *dpy,
+             int                op,
+             Picture            src,
+             Picture            dst,
+             _Xconst XRenderPictFormat  *maskFormat,
+             GlyphSet           glyphset,
+             int                xSrc,
+             int                ySrc,
+             int                xDst,
+             int                yDst,
+             _Xconst char           *string,
+             int                nchar);
+
+void
+XRenderCompositeString16 (Display           *dpy,
+              int               op,
+              Picture           src,
+              Picture           dst,
+              _Xconst XRenderPictFormat *maskFormat,
+              GlyphSet          glyphset,
+              int               xSrc,
+              int               ySrc,
+              int               xDst,
+              int               yDst,
+              _Xconst unsigned short    *string,
+              int               nchar);
+
+void
+XRenderCompositeString32 (Display           *dpy,
+              int               op,
+              Picture           src,
+              Picture           dst,
+              _Xconst XRenderPictFormat *maskFormat,
+              GlyphSet          glyphset,
+              int               xSrc,
+              int               ySrc,
+              int               xDst,
+              int               yDst,
+              _Xconst unsigned int      *string,
+              int               nchar);
+
+void
+XRenderCompositeText8 (Display              *dpy,
+               int              op,
+               Picture              src,
+               Picture              dst,
+               _Xconst XRenderPictFormat    *maskFormat,
+               int              xSrc,
+               int              ySrc,
+               int              xDst,
+               int              yDst,
+               _Xconst XGlyphElt8       *elts,
+               int              nelt);
+
+void
+XRenderCompositeText16 (Display             *dpy,
+            int             op,
+            Picture             src,
+            Picture             dst,
+            _Xconst XRenderPictFormat   *maskFormat,
+            int             xSrc,
+            int             ySrc,
+            int             xDst,
+            int             yDst,
+            _Xconst XGlyphElt16     *elts,
+            int             nelt);
+
+void
+XRenderCompositeText32 (Display             *dpy,
+            int             op,
+            Picture             src,
+            Picture             dst,
+            _Xconst XRenderPictFormat   *maskFormat,
+            int             xSrc,
+            int             ySrc,
+            int             xDst,
+            int             yDst,
+            _Xconst XGlyphElt32     *elts,
+            int             nelt);
+
+void
+XRenderFillRectangle (Display           *dpy,
+              int           op,
+              Picture           dst,
+              _Xconst XRenderColor  *color,
+              int           x,
+              int           y,
+              unsigned int      width,
+              unsigned int      height);
+
+void
+XRenderFillRectangles (Display          *dpy,
+               int          op,
+               Picture          dst,
+               _Xconst XRenderColor *color,
+               _Xconst XRectangle   *rectangles,
+               int          n_rects);
+
+void
+XRenderCompositeTrapezoids (Display     *dpy,
+                int         op,
+                Picture     src,
+                Picture     dst,
+                _Xconst XRenderPictFormat   *maskFormat,
+                int         xSrc,
+                int         ySrc,
+                _Xconst XTrapezoid  *traps,
+                int         ntrap);
+
+void
+XRenderCompositeTriangles (Display      *dpy,
+               int          op,
+               Picture      src,
+               Picture      dst,
+                _Xconst XRenderPictFormat   *maskFormat,
+               int          xSrc,
+               int          ySrc,
+               _Xconst XTriangle    *triangles,
+               int          ntriangle);
+
+void
+XRenderCompositeTriStrip (Display       *dpy,
+              int           op,
+              Picture       src,
+              Picture       dst,
+                _Xconst XRenderPictFormat   *maskFormat,
+              int           xSrc,
+              int           ySrc,
+              _Xconst XPointFixed   *points,
+              int           npoint);
+
+void
+XRenderCompositeTriFan (Display         *dpy,
+            int         op,
+            Picture         src,
+            Picture         dst,
+            _Xconst XRenderPictFormat   *maskFormat,
+            int         xSrc,
+            int         ySrc,
+            _Xconst XPointFixed *points,
+            int         npoint);
+
+void
+XRenderCompositeDoublePoly (Display         *dpy,
+                int             op,
+                Picture         src,
+                Picture         dst,
+                _Xconst XRenderPictFormat   *maskFormat,
+                int             xSrc,
+                int             ySrc,
+                int             xDst,
+                int             yDst,
+                _Xconst XPointDouble    *fpoints,
+                int             npoints,
+                int             winding);
+Status
+XRenderParseColor(Display   *dpy,
+          char      *spec,
+          XRenderColor  *def);
+
+Cursor
+XRenderCreateCursor (Display        *dpy,
+             Picture        source,
+             unsigned int   x,
+             unsigned int   y);
+
+XFilters *
+XRenderQueryFilters (Display *dpy, Drawable drawable);
+
+void
+XRenderSetPictureFilter (Display    *dpy,
+             Picture    picture,
+             const char *filter,
+             XFixed     *params,
+             int        nparams);
+
+Cursor
+XRenderCreateAnimCursor (Display    *dpy,
+             int        ncursor,
+             XAnimCursor    *cursors);
+
+
+void
+XRenderAddTraps (Display        *dpy,
+         Picture        picture,
+         int            xOff,
+         int            yOff,
+         _Xconst XTrap      *traps,
+         int            ntrap);
+
+Picture XRenderCreateSolidFill (Display *dpy,
+                                const XRenderColor *color);
+
+Picture XRenderCreateLinearGradient (Display *dpy,
+                                     const XLinearGradient *gradient,
+                                     const XFixed *stops,
+                                     const XRenderColor *colors,
+                                     int nstops);
+
+Picture XRenderCreateRadialGradient (Display *dpy,
+                                     const XRadialGradient *gradient,
+                                     const XFixed *stops,
+                                     const XRenderColor *colors,
+                                     int nstops);
+
+Picture XRenderCreateConicalGradient (Display *dpy,
+                                      const XConicalGradient *gradient,
+                                      const XFixed *stops,
+                                      const XRenderColor *colors,
+                                      int nstops);
+
+_XFUNCPROTOEND
+
+#endif /* _XRENDER_H_ */
diff --git a/x11_extensions/inc/randr.h b/x11_extensions/inc/randr.h
new file mode 100644
index 0000000..f4bc2eb
--- /dev/null
+++ b/x11_extensions/inc/randr.h
@@ -0,0 +1,74 @@
+/*
+ * $XFree86: xc/include/extensions/randr.h,v 1.4 2001/11/24 07:24:58 keithp Exp $
+ *
+ * Copyright © 2000, Compaq Computer Corporation,
+ * Copyright © 2002, Hewlett Packard, Inc.
+ *
+ * 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, and that the name of Compaq or HP not be used in advertising
+ * or publicity pertaining to distribution of the software without specific,
+ * written prior permission.  HP makes no representations about the
+ * suitability of this software for any purpose.  It is provided "as is"
+ * without express or implied warranty.
+ *
+ * HP DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL HP
+ * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * Author:  Jim Gettys, HP Labs, Hewlett-Packard, Inc.
+ */
+
+#ifndef _RANDR_H_
+#define _RANDR_H_
+
+typedef unsigned short  Rotation;
+typedef unsigned short  SizeID;
+typedef unsigned short  SubpixelOrder;
+
+#define RANDR_NAME      "RANDR"
+#define RANDR_MAJOR     1
+#define RANDR_MINOR     1
+
+#define RRNumberErrors      0
+#define RRNumberEvents      1
+
+#define X_RRQueryVersion    0
+/* we skip 1 to make old clients fail pretty immediately */
+#define X_RROldGetScreenInfo    1
+#define X_RR1_0SetScreenConfig  2
+/* V1.0 apps share the same set screen config request id */
+#define X_RRSetScreenConfig 2
+#define X_RROldScreenChangeSelectInput  3
+/* 3 used to be ScreenChangeSelectInput; deprecated */
+#define X_RRSelectInput     4
+#define X_RRGetScreenInfo   5
+
+/* used in XRRSelectInput */
+
+#define RRScreenChangeNotifyMask  (1L << 0)
+
+#define RRScreenChangeNotify    0
+
+/* used in the rotation field; rotation and reflection in 0.1 proto. */
+#define RR_Rotate_0     1
+#define RR_Rotate_90        2
+#define RR_Rotate_180       4
+#define RR_Rotate_270       8
+
+/* new in 1.0 protocol, to allow reflection of screen */
+
+#define RR_Reflect_X        16
+#define RR_Reflect_Y        32
+
+#define RRSetConfigSuccess      0
+#define RRSetConfigInvalidConfigTime    1
+#define RRSetConfigInvalidTime      2
+#define RRSetConfigFailed       3
+
+#endif  /* _RANDR_H_ */
diff --git a/x11_extensions/inc/randrproto.h b/x11_extensions/inc/randrproto.h
new file mode 100644
index 0000000..714cacd
--- /dev/null
+++ b/x11_extensions/inc/randrproto.h
@@ -0,0 +1,209 @@
+/*
+ * $XFree86: xc/include/extensions/randrproto.h,v 1.6 2002/09/29 23:39:43 keithp Exp $
+ *
+ * Copyright © 2000 Compaq Computer Corporation
+ * Copyright © 2002 Hewlett-Packard Company
+ *
+ * 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, and that the name of Compaq or HP not be used in advertising
+ * or publicity pertaining to distribution of the software without specific,
+ * written prior permission.  Compaq and HP makes no representations about the
+ * suitability of this software for any purpose.  It is provided "as is"
+ * without express or implied warranty.
+ *
+ * HP DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL COMPAQ
+ * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * Author:  Jim Gettys, Hewlett-Packard Company, Inc.
+ */
+
+/* note that RANDR 1.0 is incompatible with version 0.0, or 0.1 */
+/* V1.0 removes depth switching from the protocol */
+#ifndef _XRANDRP_H_
+#define _XRANDRP_H_
+
+#include <X11/extensions/randr.h>
+
+#define Window CARD32
+#define Drawable CARD32
+#define Font CARD32
+#define Pixmap CARD32
+#define Cursor CARD32
+#define Colormap CARD32
+#define GContext CARD32
+#define Atom CARD32
+#define Time CARD32
+#define KeyCode CARD8
+#define KeySym CARD32
+
+#define Rotation CARD16
+#define SizeID CARD16
+#define SubpixelOrder CARD16
+
+/*
+ * data structures
+ */
+
+typedef struct {
+    CARD16 widthInPixels B16;
+    CARD16 heightInPixels B16;
+    CARD16 widthInMillimeters B16;
+    CARD16 heightInMillimeters B16;
+} xScreenSizes;
+#define sz_xScreenSizes 8
+
+/*
+ * requests and replies
+ */
+
+typedef struct {
+    CARD8   reqType;
+    CARD8   randrReqType;
+    CARD16  length B16;
+    CARD32  majorVersion B32;
+    CARD32  minorVersion B32;
+} xRRQueryVersionReq;
+#define sz_xRRQueryVersionReq   12
+
+typedef struct {
+    BYTE    type;   /* X_Reply */
+    BYTE    pad1;
+    CARD16  sequenceNumber B16;
+    CARD32  length B32;
+    CARD32  majorVersion B32;
+    CARD32  minorVersion B32;
+    CARD32  pad2 B32;
+    CARD32  pad3 B32;
+    CARD32  pad4 B32;
+    CARD32  pad5 B32;
+} xRRQueryVersionReply;
+#define sz_xRRQueryVersionReply 32
+
+typedef struct {
+    CARD8   reqType;
+    CARD8   randrReqType;
+    CARD16  length B16;
+    Window  window B32;
+} xRRGetScreenInfoReq;
+#define sz_xRRGetScreenInfoReq   8
+
+/*
+ * the xRRScreenInfoReply structure is followed by:
+ *
+ * the size information
+ */
+
+
+typedef struct {
+    BYTE    type;   /* X_Reply */
+    BYTE    setOfRotations;
+    CARD16  sequenceNumber B16;
+    CARD32  length B32;
+    Window  root B32;
+    Time    timestamp B32;
+    Time    configTimestamp B32;
+    CARD16  nSizes B16;
+    SizeID  sizeID B16;
+    Rotation  rotation B16;
+    CARD16  rate B16;
+    CARD16  nrateEnts B16;
+    CARD16  pad B16;
+} xRRGetScreenInfoReply;
+#define sz_xRRGetScreenInfoReply    32
+
+typedef struct {
+    CARD8    reqType;
+    CARD8    randrReqType;
+    CARD16   length B16;
+    Drawable drawable B32;
+    Time     timestamp B32;
+    Time     configTimestamp B32;
+    SizeID   sizeID B16;
+    Rotation rotation B16;
+} xRR1_0SetScreenConfigReq;
+#define sz_xRR1_0SetScreenConfigReq   20
+
+typedef struct {
+    CARD8    reqType;
+    CARD8    randrReqType;
+    CARD16   length B16;
+    Drawable drawable B32;
+    Time     timestamp B32;
+    Time     configTimestamp B32;
+    SizeID   sizeID B16;
+    Rotation rotation B16;
+    CARD16   rate B16;
+    CARD16   pad B16;
+} xRRSetScreenConfigReq;
+#define sz_xRRSetScreenConfigReq   24
+
+typedef struct {
+    BYTE    type;   /* X_Reply */
+    CARD8   status;
+    CARD16  sequenceNumber B16;
+    CARD32  length B32;
+    Time    newTimestamp B32;
+    Time    newConfigTimestamp B32;
+    Window  root;
+    CARD16  subpixelOrder B16;
+    CARD16  pad4 B16;
+    CARD32  pad5 B32;
+    CARD32  pad6 B32;
+} xRRSetScreenConfigReply;
+#define sz_xRRSetScreenConfigReply 32
+
+typedef struct {
+    CARD8   reqType;
+    CARD8   randrReqType;
+    CARD16  length B16;
+    Window  window B32;
+    CARD16  enable B16;
+    CARD16  pad2 B16;
+} xRRSelectInputReq;
+#define sz_xRRSelectInputReq   12
+
+#define sz_xRRSelectInputReq   12
+
+/*
+ * event
+ */
+typedef struct {
+    CARD8 type;             /* always evBase + ScreenChangeNotify */
+    CARD8 rotation;         /* new rotation */
+    CARD16 sequenceNumber B16;
+    Time timestamp B32;         /* time screen was changed */
+    Time configTimestamp B32;       /* time config data was changed */
+    Window root B32;            /* root window */
+    Window window B32;          /* window requesting notification */
+    SizeID sizeID B16;          /* new size ID */
+    CARD16 subpixelOrder B16;       /* subpixel order */
+    CARD16 widthInPixels B16;       /* new size */
+    CARD16 heightInPixels B16;
+    CARD16 widthInMillimeters B16;
+    CARD16 heightInMillimeters B16;
+} xRRScreenChangeNotifyEvent;
+#define sz_xRRScreenChangeNotifyEvent   32
+
+#undef Window
+#undef Drawable
+#undef Font
+#undef Pixmap
+#undef Cursor
+#undef Colormap
+#undef GContext
+#undef Atom
+#undef Time
+#undef KeyCode
+#undef KeySym
+#undef Rotation
+#undef SizeID
+#undef SubpixelOrder
+
+#endif /* _XRANDRP_H_ */
diff --git a/x11_extensions/inc/render.h b/x11_extensions/inc/render.h
new file mode 100644
index 0000000..aff7c47
--- /dev/null
+++ b/x11_extensions/inc/render.h
@@ -0,0 +1,189 @@
+/*
+ * $XFree86: xc/include/extensions/render.h,v 1.10 2002/11/06 22:47:49 keithp Exp $
+ *
+ * Copyright © 2000 SuSE, Inc.
+ *
+ * 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, and that the name of SuSE not be used in advertising or
+ * publicity pertaining to distribution of the software without specific,
+ * written prior permission.  SuSE makes no representations about the
+ * suitability of this software for any purpose.  It is provided "as is"
+ * without express or implied warranty.
+ *
+ * SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
+ * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * Author:  Keith Packard, SuSE, Inc.
+ */
+
+#ifndef _RENDER_H_
+#define _RENDER_H_
+
+typedef XID     Glyph;
+typedef XID     GlyphSet;
+typedef XID     Picture;
+typedef XID     PictFormat;
+
+#define RENDER_NAME "RENDER"
+#define RENDER_MAJOR    0
+#define RENDER_MINOR    10
+
+#define X_RenderQueryVersion            0
+#define X_RenderQueryPictFormats        1
+#define X_RenderQueryPictIndexValues        2   /* 0.7 */
+#define X_RenderQueryDithers            3
+#define X_RenderCreatePicture           4
+#define X_RenderChangePicture           5
+#define X_RenderSetPictureClipRectangles    6
+#define X_RenderFreePicture         7
+#define X_RenderComposite           8
+#define X_RenderScale               9
+#define X_RenderTrapezoids          10
+#define X_RenderTriangles           11
+#define X_RenderTriStrip            12
+#define X_RenderTriFan              13
+#define X_RenderColorTrapezoids         14
+#define X_RenderColorTriangles          15
+/* #define X_RenderTransform            16 */
+#define X_RenderCreateGlyphSet          17
+#define X_RenderReferenceGlyphSet       18
+#define X_RenderFreeGlyphSet            19
+#define X_RenderAddGlyphs           20
+#define X_RenderAddGlyphsFromPicture        21
+#define X_RenderFreeGlyphs          22
+#define X_RenderCompositeGlyphs8        23
+#define X_RenderCompositeGlyphs16       24
+#define X_RenderCompositeGlyphs32       25
+#define X_RenderFillRectangles          26
+/* 0.5 */
+#define X_RenderCreateCursor            27
+/* 0.6 */
+#define X_RenderSetPictureTransform     28
+#define X_RenderQueryFilters            29
+#define X_RenderSetPictureFilter        30
+/* 0.8 */
+#define X_RenderCreateAnimCursor        31
+/* 0.9 */
+#define X_RenderAddTraps            32
+/* 0.10 */
+#define X_RenderCreateSolidFill             33
+#define X_RenderCreateLinearGradient        34
+#define X_RenderCreateRadialGradient        35
+#define X_RenderCreateConicalGradient       36
+#define RenderNumberRequests            (X_RenderCreateConicalGradient+1)
+
+#define BadPictFormat               0
+#define BadPicture              1
+#define BadPictOp               2
+#define BadGlyphSet             3
+#define BadGlyph                4
+#define RenderNumberErrors          (BadGlyph+1)
+
+#define PictTypeIndexed             0
+#define PictTypeDirect              1
+
+#define PictOpMinimum               0
+#define PictOpClear             0
+#define PictOpSrc               1
+#define PictOpDst               2
+#define PictOpOver              3
+#define PictOpOverReverse           4
+#define PictOpIn                5
+#define PictOpInReverse             6
+#define PictOpOut               7
+#define PictOpOutReverse            8
+#define PictOpAtop              9
+#define PictOpAtopReverse           10
+#define PictOpXor               11
+#define PictOpAdd               12
+#define PictOpSaturate              13
+#define PictOpMaximum               13
+
+/*
+ * Operators only available in version 0.2
+ */
+#define PictOpDisjointMinimum               0x10
+#define PictOpDisjointClear             0x10
+#define PictOpDisjointSrc               0x11
+#define PictOpDisjointDst               0x12
+#define PictOpDisjointOver              0x13
+#define PictOpDisjointOverReverse           0x14
+#define PictOpDisjointIn                0x15
+#define PictOpDisjointInReverse             0x16
+#define PictOpDisjointOut               0x17
+#define PictOpDisjointOutReverse            0x18
+#define PictOpDisjointAtop              0x19
+#define PictOpDisjointAtopReverse           0x1a
+#define PictOpDisjointXor               0x1b
+#define PictOpDisjointMaximum               0x1b
+
+#define PictOpConjointMinimum               0x20
+#define PictOpConjointClear             0x20
+#define PictOpConjointSrc               0x21
+#define PictOpConjointDst               0x22
+#define PictOpConjointOver              0x23
+#define PictOpConjointOverReverse           0x24
+#define PictOpConjointIn                0x25
+#define PictOpConjointInReverse             0x26
+#define PictOpConjointOut               0x27
+#define PictOpConjointOutReverse            0x28
+#define PictOpConjointAtop              0x29
+#define PictOpConjointAtopReverse           0x2a
+#define PictOpConjointXor               0x2b
+#define PictOpConjointMaximum               0x2b
+
+#define PolyEdgeSharp               0
+#define PolyEdgeSmooth              1
+
+#define PolyModePrecise             0
+#define PolyModeImprecise           1
+
+#define CPRepeat                (1 << 0)
+#define CPAlphaMap              (1 << 1)
+#define CPAlphaXOrigin              (1 << 2)
+#define CPAlphaYOrigin              (1 << 3)
+#define CPClipXOrigin               (1 << 4)
+#define CPClipYOrigin               (1 << 5)
+#define CPClipMask              (1 << 6)
+#define CPGraphicsExposure          (1 << 7)
+#define CPSubwindowMode             (1 << 8)
+#define CPPolyEdge              (1 << 9)
+#define CPPolyMode              (1 << 10)
+#define CPDither                (1 << 11)
+#define CPComponentAlpha            (1 << 12)
+#define CPLastBit               12
+
+/* Filters included in 0.6 */
+#define FilterNearest               "nearest"
+#define FilterBilinear              "bilinear"
+/* Filters included in 0.10 */
+#define FilterConvolution           "convolution"
+
+#define FilterFast              "fast"
+#define FilterGood              "good"
+#define FilterBest              "best"
+
+#define FilterAliasNone             -1
+
+/* Subpixel orders included in 0.6 */
+#define SubPixelUnknown             0
+#define SubPixelHorizontalRGB           1
+#define SubPixelHorizontalBGR           2
+#define SubPixelVerticalRGB         3
+#define SubPixelVerticalBGR         4
+#define SubPixelNone                5
+
+/* Extended repeat attributes included in 0.10 */
+#define RepeatNone                          0
+#define RepeatNormal                        1
+#define RepeatPad                           2
+#define RepeatReflect                       3
+
+#endif  /* _RENDER_H_ */
diff --git a/x11_extensions/inc/renderproto.h b/x11_extensions/inc/renderproto.h
new file mode 100644
index 0000000..2b2c708
--- /dev/null
+++ b/x11_extensions/inc/renderproto.h
@@ -0,0 +1,663 @@
+/*
+ * $XFree86: xc/include/extensions/renderproto.h,v 1.12 2002/09/26 02:56:48 keithp Exp $
+ *
+ * Copyright © 2000 SuSE, Inc.
+ *
+ * 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, and that the name of SuSE not be used in advertising or
+ * publicity pertaining to distribution of the software without specific,
+ * written prior permission.  SuSE makes no representations about the
+ * suitability of this software for any purpose.  It is provided "as is"
+ * without express or implied warranty.
+ *
+ * SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
+ * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * Author:  Keith Packard, SuSE, Inc.
+ */
+
+#ifndef _XRENDERP_H_
+#define _XRENDERP_H_
+
+#include <X11/Xmd.h>
+#include <X11/extensions/render.h>
+
+#define Window CARD32
+#define Drawable CARD32
+#define Font CARD32
+#define Pixmap CARD32
+#define Cursor CARD32
+#define Colormap CARD32
+#define GContext CARD32
+#define Atom CARD32
+#define VisualID CARD32
+#define Time CARD32
+#define KeyCode CARD8
+#define KeySym CARD32
+
+#define Picture     CARD32
+#define PictFormat  CARD32
+#define Fixed       INT32
+#define Glyphset    CARD32
+
+/*
+ * data structures
+ */
+
+typedef struct {
+    CARD16  red B16;
+    CARD16  redMask B16;
+    CARD16  green B16;
+    CARD16  greenMask B16;
+    CARD16  blue B16;
+    CARD16  blueMask B16;
+    CARD16  alpha B16;
+    CARD16  alphaMask B16;
+} xDirectFormat;
+
+#define sz_xDirectFormat    16
+
+typedef struct {
+    PictFormat  id B32;
+    CARD8   type;
+    CARD8   depth;
+    CARD16  pad1 B16;
+    xDirectFormat   direct;
+    Colormap    colormap;
+} xPictFormInfo;
+
+#define sz_xPictFormInfo    28
+
+typedef struct {
+    VisualID    visual;
+    PictFormat  format;
+} xPictVisual;
+
+#define sz_xPictVisual      8
+
+typedef struct {
+    CARD8   depth;
+    CARD8   pad1;
+    CARD16  nPictVisuals B16;
+    CARD32  pad2 B32;
+} xPictDepth;
+
+#define sz_xPictDepth   8
+
+typedef struct {
+    CARD32  nDepth B32;
+    PictFormat  fallback B32;
+} xPictScreen;
+
+#define sz_xPictScreen  8
+
+typedef struct {
+    CARD32  pixel B32;
+    CARD16  red B16;
+    CARD16  green B16;
+    CARD16  blue B16;
+    CARD16  alpha B16;
+} xIndexValue;
+
+#define sz_xIndexValue  12
+
+typedef struct {
+    CARD16  red B16;
+    CARD16  green B16;
+    CARD16  blue B16;
+    CARD16  alpha B16;
+} xRenderColor;
+
+#define sz_xRenderColor 8
+
+typedef struct {
+    Fixed   x B32;
+    Fixed   y B32;
+} xPointFixed;
+
+#define sz_xPointFixed  8
+
+typedef struct {
+    xPointFixed p1;
+    xPointFixed p2;
+} xLineFixed;
+
+#define sz_xLineFixed   16
+
+typedef struct {
+    xPointFixed p1, p2, p3;
+} xTriangle;
+
+#define sz_xTriangle    24
+
+typedef struct {
+    Fixed   top B32;
+    Fixed   bottom B32;
+    xLineFixed  left;
+    xLineFixed  right;
+} xTrapezoid;
+
+#define sz_xTrapezoid   40
+
+typedef struct {
+    CARD16  width B16;
+    CARD16  height B16;
+    INT16   x B16;
+    INT16   y B16;
+    INT16   xOff B16;
+    INT16   yOff B16;
+} xGlyphInfo;
+
+#define sz_xGlyphInfo   12
+
+typedef struct {
+    CARD8   len;
+    CARD8   pad1;
+    CARD16  pad2;
+    INT16   deltax;
+    INT16   deltay;
+} xGlyphElt;
+
+#define sz_xGlyphElt    8
+
+typedef struct {
+    Fixed   l, r, y;
+} xSpanFix;
+
+#define sz_xSpanFix 12
+
+typedef struct {
+    xSpanFix    top, bot;
+} xTrap;
+
+#define sz_xTrap    24
+
+/*
+ * requests and replies
+ */
+typedef struct {
+    CARD8   reqType;
+    CARD8   renderReqType;
+    CARD16  length B16;
+    CARD32  majorVersion B32;
+    CARD32  minorVersion B32;
+} xRenderQueryVersionReq;
+
+#define sz_xRenderQueryVersionReq   12
+
+typedef struct {
+    BYTE    type;   /* X_Reply */
+    BYTE    pad1;
+    CARD16  sequenceNumber B16;
+    CARD32  length B32;
+    CARD32  majorVersion B32;
+    CARD32  minorVersion B32;
+    CARD32  pad2 B32;
+    CARD32  pad3 B32;
+    CARD32  pad4 B32;
+    CARD32  pad5 B32;
+} xRenderQueryVersionReply;
+
+#define sz_xRenderQueryVersionReply 32
+
+typedef struct {
+    CARD8   reqType;
+    CARD8   renderReqType;
+    CARD16  length B16;
+} xRenderQueryPictFormatsReq;
+
+#define sz_xRenderQueryPictFormatsReq   4
+
+typedef struct {
+    BYTE    type;   /* X_Reply */
+    BYTE    pad1;
+    CARD16  sequenceNumber B16;
+    CARD32  length B32;
+    CARD32  numFormats B32;
+    CARD32  numScreens B32;
+    CARD32  numDepths B32;
+    CARD32  numVisuals B32;
+    CARD32  numSubpixel B32;        /* Version 0.6 */
+    CARD32  pad5 B32;
+} xRenderQueryPictFormatsReply;
+
+#define sz_xRenderQueryPictFormatsReply 32
+
+typedef struct {
+    CARD8   reqType;
+    CARD8   renderReqType;
+    CARD16  length B16;
+    PictFormat  format B32;
+} xRenderQueryPictIndexValuesReq;
+
+#define sz_xRenderQueryPictIndexValuesReq   8
+
+typedef struct {
+    BYTE    type;   /* X_Reply */
+    BYTE    pad1;
+    CARD16  sequenceNumber B16;
+    CARD32  length B32;
+    CARD32  numIndexValues;
+    CARD32  pad2 B32;
+    CARD32  pad3 B32;
+    CARD32  pad4 B32;
+    CARD32  pad5 B32;
+    CARD32  pad6 B32;
+} xRenderQueryPictIndexValuesReply;
+
+#define sz_xRenderQueryPictIndexValuesReply 32
+
+typedef struct {
+    CARD8   reqType;
+    CARD8   renderReqType;
+    CARD16  length B16;
+    Picture pid B32;
+    Drawable    drawable B32;
+    PictFormat  format B32;
+    CARD32  mask B32;
+} xRenderCreatePictureReq;
+
+#define sz_xRenderCreatePictureReq      20
+
+typedef struct {
+    CARD8   reqType;
+    CARD8   renderReqType;
+    CARD16  length B16;
+    Picture picture B32;
+    CARD32  mask B32;
+} xRenderChangePictureReq;
+
+#define sz_xRenderChangePictureReq      12
+
+typedef struct {
+    CARD8       reqType;
+    CARD8       renderReqType;
+    CARD16      length B16;
+    Picture     picture B32;
+    INT16   xOrigin B16;
+    INT16   yOrigin B16;
+} xRenderSetPictureClipRectanglesReq;
+
+#define sz_xRenderSetPictureClipRectanglesReq       12
+
+typedef struct {
+    CARD8       reqType;
+    CARD8       renderReqType;
+    CARD16      length B16;
+    Picture     picture B32;
+} xRenderFreePictureReq;
+
+#define sz_xRenderFreePictureReq        8
+
+typedef struct {
+    CARD8       reqType;
+    CARD8       renderReqType;
+    CARD16      length B16;
+    CARD8   op;
+    CARD8   pad1;
+    CARD16  pad2 B16;
+    Picture src B32;
+    Picture mask B32;
+    Picture dst B32;
+    INT16   xSrc B16;
+    INT16   ySrc B16;
+    INT16   xMask B16;
+    INT16   yMask B16;
+    INT16   xDst B16;
+    INT16   yDst B16;
+    CARD16  width B16;
+    CARD16  height B16;
+} xRenderCompositeReq;
+
+#define sz_xRenderCompositeReq          36
+
+typedef struct {
+    CARD8       reqType;
+    CARD8       renderReqType;
+    CARD16      length B16;
+    Picture src B32;
+    Picture dst B32;
+    CARD32  colorScale B32;
+    CARD32  alphaScale B32;
+    INT16   xSrc B16;
+    INT16   ySrc B16;
+    INT16   xDst B16;
+    INT16   yDst B16;
+    CARD16  width B16;
+    CARD16  height B16;
+} xRenderScaleReq;
+
+#define sz_xRenderScaleReq              32
+
+typedef struct {
+    CARD8       reqType;
+    CARD8       renderReqType;
+    CARD16      length B16;
+    CARD8   op;
+    CARD8   pad1;
+    CARD16  pad2 B16;
+    Picture src B32;
+    Picture dst B32;
+    PictFormat  maskFormat B32;
+    INT16   xSrc B16;
+    INT16   ySrc B16;
+} xRenderTrapezoidsReq;
+
+#define sz_xRenderTrapezoidsReq             24
+
+typedef struct {
+    CARD8       reqType;
+    CARD8       renderReqType;
+    CARD16      length B16;
+    CARD8   op;
+    CARD8   pad1;
+    CARD16  pad2 B16;
+    Picture src B32;
+    Picture dst B32;
+    PictFormat  maskFormat B32;
+    INT16   xSrc B16;
+    INT16   ySrc B16;
+} xRenderTrianglesReq;
+
+#define sz_xRenderTrianglesReq              24
+
+typedef struct {
+    CARD8       reqType;
+    CARD8       renderReqType;
+    CARD16      length B16;
+    CARD8   op;
+    CARD8   pad1;
+    CARD16  pad2 B16;
+    Picture src B32;
+    Picture dst B32;
+    PictFormat  maskFormat B32;
+    INT16   xSrc B16;
+    INT16   ySrc B16;
+} xRenderTriStripReq;
+
+#define sz_xRenderTriStripReq               24
+
+typedef struct {
+    CARD8       reqType;
+    CARD8       renderReqType;
+    CARD16      length B16;
+    CARD8   op;
+    CARD8   pad1;
+    CARD16  pad2 B16;
+    Picture src B32;
+    Picture dst B32;
+    PictFormat  maskFormat B32;
+    INT16   xSrc B16;
+    INT16   ySrc B16;
+} xRenderTriFanReq;
+
+#define sz_xRenderTriFanReq             24
+
+typedef struct {
+    CARD8       reqType;
+    CARD8       renderReqType;
+    CARD16      length B16;
+    Glyphset    gsid B32;
+    PictFormat  format B32;
+} xRenderCreateGlyphSetReq;
+
+#define sz_xRenderCreateGlyphSetReq         12
+
+typedef struct {
+    CARD8       reqType;
+    CARD8       renderReqType;
+    CARD16      length B16;
+    Glyphset    gsid B32;
+    Glyphset    existing B32;
+} xRenderReferenceGlyphSetReq;
+
+#define sz_xRenderReferenceGlyphSetReq          24
+
+typedef struct {
+    CARD8       reqType;
+    CARD8       renderReqType;
+    CARD16      length B16;
+    Glyphset    glyphset B32;
+} xRenderFreeGlyphSetReq;
+
+#define sz_xRenderFreeGlyphSetReq           8
+
+typedef struct {
+    CARD8       reqType;
+    CARD8       renderReqType;
+    CARD16      length B16;
+    Glyphset    glyphset B32;
+    CARD32  nglyphs;
+} xRenderAddGlyphsReq;
+
+#define sz_xRenderAddGlyphsReq              12
+
+typedef struct {
+    CARD8       reqType;
+    CARD8       renderReqType;
+    CARD16      length B16;
+    Glyphset    glyphset B32;
+} xRenderFreeGlyphsReq;
+
+#define sz_xRenderFreeGlyphsReq             8
+
+typedef struct {
+    CARD8       reqType;
+    CARD8       renderReqType;
+    CARD16      length B16;
+    CARD8   op;
+    CARD8   pad1;
+    CARD16  pad2 B16;
+    Picture src B32;
+    Picture dst B32;
+    PictFormat  maskFormat B32;
+    Glyphset    glyphset B32;
+    INT16   xSrc B16;
+    INT16   ySrc B16;
+} xRenderCompositeGlyphsReq, xRenderCompositeGlyphs8Req,
+xRenderCompositeGlyphs16Req, xRenderCompositeGlyphs32Req;
+
+#define sz_xRenderCompositeGlyphs8Req           28
+#define sz_xRenderCompositeGlyphs16Req          28
+#define sz_xRenderCompositeGlyphs32Req          28
+
+/* 0.1 and higher */
+
+typedef struct {
+    CARD8   reqType;
+    CARD8       renderReqType;
+    CARD16      length B16;
+    CARD8   op;
+    CARD8   pad1;
+    CARD16  pad2 B16;
+    Picture dst B32;
+    xRenderColor    color;
+} xRenderFillRectanglesReq;
+
+#define sz_xRenderFillRectanglesReq         20
+
+/* 0.5 and higher */
+
+typedef struct {
+    CARD8   reqType;
+    CARD8   renderReqType;
+    CARD16  length B16;
+    Cursor  cid B32;
+    Picture src B32;
+    CARD16  x B16;
+    CARD16  y B16;
+} xRenderCreateCursorReq;
+
+#define sz_xRenderCreateCursorReq           16
+
+/* 0.6 and higher */
+
+/*
+ * This can't use an array because 32-bit values may be in bitfields
+ */
+typedef struct {
+    Fixed   matrix11 B32;
+    Fixed   matrix12 B32;
+    Fixed   matrix13 B32;
+    Fixed   matrix21 B32;
+    Fixed   matrix22 B32;
+    Fixed   matrix23 B32;
+    Fixed   matrix31 B32;
+    Fixed   matrix32 B32;
+    Fixed   matrix33 B32;
+} xRenderTransform;
+
+#define sz_xRenderTransform 36
+
+typedef struct {
+    CARD8       reqType;
+    CARD8       renderReqType;
+    CARD16      length B16;
+    Picture     picture B32;
+    xRenderTransform    transform;
+} xRenderSetPictureTransformReq;
+
+#define sz_xRenderSetPictureTransformReq        44
+
+typedef struct {
+    CARD8       reqType;
+    CARD8       renderReqType;
+    CARD16      length B16;
+    Drawable        drawable B32;
+} xRenderQueryFiltersReq;
+
+#define sz_xRenderQueryFiltersReq           8
+
+typedef struct {
+    BYTE    type;   /* X_Reply */
+    BYTE    pad1;
+    CARD16  sequenceNumber B16;
+    CARD32  length B32;
+    CARD32  numAliases B32; /* LISTofCARD16 */
+    CARD32  numFilters B32; /* LISTofSTRING8 */
+    CARD32  pad2 B32;
+    CARD32  pad3 B32;
+    CARD32  pad4 B32;
+    CARD32  pad5 B32;
+} xRenderQueryFiltersReply;
+
+#define sz_xRenderQueryFiltersReply         32
+
+typedef struct {
+    CARD8       reqType;
+    CARD8       renderReqType;
+    CARD16      length B16;
+    Picture     picture B32;
+    CARD16      nbytes B16; /* number of bytes in name */
+    CARD16      pad B16;
+} xRenderSetPictureFilterReq;
+
+#define sz_xRenderSetPictureFilterReq           12
+
+/* 0.8 and higher */
+
+typedef struct {
+    Cursor      cursor B32;
+    CARD32      delay B32;
+} xAnimCursorElt;
+
+#define sz_xAnimCursorElt               8
+
+typedef struct {
+    CARD8       reqType;
+    CARD8       renderReqType;
+    CARD16      length B16;
+    Cursor      cid B32;
+} xRenderCreateAnimCursorReq;
+
+#define sz_xRenderCreateAnimCursorReq           8
+
+/* 0.9 and higher */
+
+typedef struct {
+    CARD8       reqType;
+    CARD8       renderReqType;
+    CARD16      length B16;
+    Picture     picture;
+    INT16       xOff B16;
+    INT16       yOff B16;
+} xRenderAddTrapsReq;
+
+#define sz_xRenderAddTrapsReq               12
+
+/* 0.10 and higher */
+
+typedef struct {
+    CARD8   reqType;
+    CARD8   renderReqType;
+    CARD16  length B16;
+    Picture pid B32;
+    xRenderColor color;
+} xRenderCreateSolidFillReq;
+
+#define sz_xRenderCreateSolidFillReq                 16
+
+typedef struct {
+    CARD8   reqType;
+    CARD8   renderReqType;
+    CARD16  length B16;
+    Picture pid B32;
+    xPointFixed p1;
+    xPointFixed p2;
+    CARD32      nStops;
+} xRenderCreateLinearGradientReq;
+
+#define sz_xRenderCreateLinearGradientReq                 28
+
+typedef struct {
+    CARD8   reqType;
+    CARD8   renderReqType;
+    CARD16  length B16;
+    Picture pid B32;
+    xPointFixed inner;
+    xPointFixed outer;
+    Fixed       inner_radius;
+    Fixed       outer_radius;
+    CARD32      nStops;
+} xRenderCreateRadialGradientReq;
+
+#define sz_xRenderCreateRadialGradientReq                 36
+
+typedef struct {
+    CARD8   reqType;
+    CARD8   renderReqType;
+    CARD16  length B16;
+    Picture pid B32;
+    xPointFixed center;
+    Fixed       angle; /* in degrees */
+    CARD32      nStops;
+} xRenderCreateConicalGradientReq;
+
+#define sz_xRenderCreateConicalGradientReq                 24
+
+#undef Window
+#undef Drawable
+#undef Font
+#undef Pixmap
+#undef Cursor
+#undef Colormap
+#undef GContext
+#undef Atom
+#undef VisualID
+#undef Time
+#undef KeyCode
+#undef KeySym
+
+#undef Picture
+#undef PictFormat
+#undef Fixed
+#undef Glyphset
+
+#endif /* _XRENDERP_H_ */
diff --git a/x11_extensions/inc/shape.h b/x11_extensions/inc/shape.h
new file mode 100644
index 0000000..839ec49
--- /dev/null
+++ b/x11_extensions/inc/shape.h
@@ -0,0 +1,155 @@
+/* $XFree86: xc/include/extensions/shape.h,v 1.3 2001/12/14 19:53:29 dawes Exp $ */
+/************************************************************
+
+Copyright 1989, 1998  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.
+
+********************************************************/
+
+/* $Xorg: shape.h,v 1.4 2001/02/09 02:03:24 xorgcvs Exp $ */
+
+#ifndef _SHAPE_H_
+#define _SHAPE_H_
+
+#include <X11/Xfuncproto.h>
+#include <X11/extensions/shapeconst.h>
+
+#ifndef _SHAPE_SERVER_
+#include <X11/Xutil.h>
+
+typedef struct {
+    int type;           /* of event */
+    unsigned long serial;   /* # of last request processed by server */
+    Bool send_event;        /* true if this came frome a SendEvent request */
+    Display *display;       /* Display the event was read from */
+    Window window;      /* window of event */
+    int kind;           /* ShapeBounding or ShapeClip */
+    int x, y;           /* extents of new region */
+    unsigned width, height;
+    Time time;          /* server timestamp when region changed */
+    Bool shaped;        /* true if the region exists */
+} XShapeEvent;
+
+_XFUNCPROTOBEGIN
+
+extern Bool XShapeQueryExtension (
+    Display*    /* display */,
+    int*    /* event_base */,
+    int*    /* error_base */
+);
+
+extern Status XShapeQueryVersion (
+    Display*    /* display */,
+    int*    /* major_version */,
+    int*    /* minor_version */
+);
+
+extern void XShapeCombineRegion (
+    Display*    /* display */,
+    Window  /* dest */,
+    int     /* dest_kind */,
+    int     /* x_off */,
+    int     /* y_off */,
+    Region  /* region */,
+    int     /* op */
+);
+
+extern void XShapeCombineRectangles (
+    Display*    /* display */,
+    Window  /* dest */,
+    int     /* dest_kind */,
+    int     /* x_off */,
+    int     /* y_off */,
+    XRectangle* /* rectangles */,
+    int     /* n_rects */,
+    int     /* op */,
+    int     /* ordering */
+);
+
+extern void XShapeCombineMask (
+    Display*    /* display */,
+    Window  /* dest */,
+    int     /* dest_kind */,
+    int     /* x_off */,
+    int     /* y_off */,
+    Pixmap  /* src */,
+    int     /* op */
+);
+
+extern void XShapeCombineShape (
+    Display*    /* display */,
+    Window  /* dest */,
+    int     /* dest_kind */,
+    int     /* x_off */,
+    int     /* y_off */,
+    Window  /* src */,
+    int     /* src_kind */,
+    int     /* op */
+);
+
+extern void XShapeOffsetShape (
+    Display*    /* display */,
+    Window  /* dest */,
+    int     /* dest_kind */,
+    int     /* x_off */,
+    int     /* y_off */
+);
+
+extern Status XShapeQueryExtents (
+    Display*        /* display */,
+    Window      /* window */,
+    Bool*       /* bounding_shaped */,
+    int*        /* x_bounding */,
+    int*        /* y_bounding */,
+    unsigned int*   /* w_bounding */,
+    unsigned int*   /* h_bounding */,
+    Bool*       /* clip_shaped */,
+    int*        /* x_clip */,
+    int*        /* y_clip */,
+    unsigned int*   /* w_clip */,
+    unsigned int*   /* h_clip */
+);
+
+extern void XShapeSelectInput (
+    Display*        /* display */,
+    Window      /* window */,
+    unsigned long   /* mask */
+);
+
+extern unsigned long XShapeInputSelected (
+    Display*    /* display */,
+    Window  /* window */
+);
+
+extern XRectangle *XShapeGetRectangles (
+    Display*    /* display */,
+    Window  /* window */,
+    int     /* kind */,
+    int*    /* count */,
+    int*    /* ordering */
+);
+
+_XFUNCPROTOEND
+
+#endif /* !_SHAPE_SERVER_ */
+
+#endif /* _SHAPE_H_ */
diff --git a/x11_extensions/inc/shapeconst.h b/x11_extensions/inc/shapeconst.h
new file mode 100644
index 0000000..9ef01f3
--- /dev/null
+++ b/x11_extensions/inc/shapeconst.h
@@ -0,0 +1,55 @@
+/************************************************************
+
+Copyright 1989, 1998  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 _SHAPECONST_H_
+#define _SHAPECONST_H_
+
+/*
+ * Protocol requests constants and alignment values
+ * These would really be in SHAPE's X.h and Xproto.h equivalents
+ */
+
+#define SHAPENAME "SHAPE"
+
+#define SHAPE_MAJOR_VERSION 1   /* current version numbers */
+#define SHAPE_MINOR_VERSION 1
+
+#define ShapeSet            0
+#define ShapeUnion          1
+#define ShapeIntersect          2
+#define ShapeSubtract           3
+#define ShapeInvert         4
+
+#define ShapeBounding           0
+#define ShapeClip           1
+#define ShapeInput          2
+
+#define ShapeNotifyMask         (1L << 0)
+#define ShapeNotify         0
+
+#define ShapeNumberEvents       (ShapeNotify + 1)
+
+#endif /* _SHAPECONST_H_ */
diff --git a/x11_extensions/prj/build.lst b/x11_extensions/prj/build.lst
new file mode 100644
index 0000000..e92b3d9
--- /dev/null
+++ b/x11_extensions/prj/build.lst
@@ -0,0 +1,3 @@
+x1  x11_extensions : solenv NULL
+x1  x11_extensions\prj                         nmake -   u     x11_prj NULL
+
diff --git a/x11_extensions/prj/d.lst b/x11_extensions/prj/d.lst
new file mode 100644
index 0000000..e69de29
commit 024cf92581add62866544ae604ff53c89a764ace
Author: Fridrich Å trba <fridrich.strba at bluewin.ch>
Date:   Wed Nov 21 16:26:25 2012 +0100

    Package svgio
    
    Change-Id: I847e50c9dded10affaef77c51561f04412d635ad

diff --git a/scp2/source/ooo/file_ooo.scp b/scp2/source/ooo/file_ooo.scp
index c3e3a83..6b30e72 100644
--- a/scp2/source/ooo/file_ooo.scp
+++ b/scp2/source/ooo/file_ooo.scp
@@ -336,6 +336,8 @@ End
 
 STD_FILTER_FILE( gid_File_Filter_Sdfilt, sdfilt)
 
+STD_FILTER_FILE( git_File_Filter_Svgio, svgio)
+
 STD_FILTER_FILE( gid_File_Filter_Eme, eme)
 
 STD_FILTER_FILE( gid_File_Filter_Icg, icg)
diff --git a/scp2/source/ooo/module_hidden_ooo.scp b/scp2/source/ooo/module_hidden_ooo.scp
index 5a3accc..13bb7b7 100644
--- a/scp2/source/ooo/module_hidden_ooo.scp
+++ b/scp2/source/ooo/module_hidden_ooo.scp
@@ -182,6 +182,7 @@ Module gid_Module_Root_Files_4
 	Files = (gid_File_Dat_Root4,
 	gid_File_Filter_Eme,
 	gid_File_Filter_Sdfilt,
+	gid_File_Filter_Svgio,
 	gid_File_Filter_Icg,
 	gid_File_Filter_Egi,
 	gid_File_Filter_Epb,


More information about the Libreoffice-commits mailing list