Kaydet (Commit) 3f00bc67 authored tarafından Enrico Weigelt, metux ITS's avatar Enrico Weigelt, metux ITS Kaydeden (comit) Caolán McNamara

Xlib import via generic pkg-config

Generic importing Xlib+friends via pkg-config, instead of scanning
through a list of directories. This is very helpful for non-standard
installation pathes and crosscompiling, as the generic pkg-config
infrastructure will handle it all.

Also dropping the obsolete bundled Xext headers.

Conflicts:
	vcl/prj/build.lst

Change-Id: I6ee381030ff9f1d2d83062a17ab55ad3d847a4c6
üst 0f834124
......@@ -206,7 +206,6 @@ vigra\
wizards\
writerfilter\
writerperfect\
x11_extensions\
xmerge\
xmlhelp\
xmloff\
......
......@@ -193,7 +193,6 @@ $(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 \
......
......@@ -2070,25 +2070,9 @@ 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) \
......@@ -2103,7 +2087,6 @@ endef
else # XRANDR_DLOPEN
define gb_LinkTarget__use_Xrandr
$(call gb_LinkTarget__use_x11extensions,$(1))
$(call gb_LinkTarget_add_defs,$(1),\
-DXRANDR_DLOPEN \
......@@ -2113,7 +2096,6 @@ endef
endif # XRANDR_DLOPEN
define gb_LinkTarget__use_Xrender
$(call gb_LinkTarget__use_x11extensions,$(1))
$(call gb_LinkTarget_set_include,$(1),\
$$(INCLUDE) \
......
......@@ -204,7 +204,6 @@ $(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 \
......
......@@ -1581,13 +1581,6 @@ 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.]),,
......@@ -8602,78 +8595,11 @@ fi
AC_MSG_RESULT([$WANT_X11])
if test "$WANT_X11" = "yes"; then
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
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`
fi
dnl ===================================================================
......@@ -8683,16 +8609,6 @@ 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
......@@ -11446,7 +11362,6 @@ 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>]],[[
......@@ -11457,7 +11372,6 @@ 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])
......
......@@ -502,7 +502,6 @@ $(eval $(call gb_Library_use_externals,vcl,\
fontconfig \
freetype \
valgrind \
x11extensions \
))
endif
......
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 : 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 usr1 - all vc_mkout NULL
vc vcl\prj nmake - all vc_prj NULL
# -*- 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:
# -*- 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@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:
# -*- 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@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:
Headers for XRender support
/*
* $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_ */
This diff is collapsed.
/*
* $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_ */
/*
* $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_ */
/*
* $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_ */
This diff is collapsed.
/* $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_ */
/************************************************************
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_ */
x1 x11_extensions : solenv NULL
x1 x11_extensions\prj nmake - u x11_prj NULL
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment