Commit 27e06a5e authored by Mike Gabriel's avatar Mike Gabriel

library clean-up: Don't build libNX_Xcomposite anymore. Use system's libXcomposite shared library.

parent 96e1f867
...@@ -18,6 +18,7 @@ Build-Depends: ...@@ -18,6 +18,7 @@ Build-Depends:
libxfont-dev, libxfont-dev,
libxdmcp-dev, libxdmcp-dev,
libxdamage-dev, libxdamage-dev,
libxcomposite-dev,
libxrandr-dev, libxrandr-dev,
autoconf, autoconf,
pkg-config, pkg-config,
...@@ -199,20 +200,17 @@ Multi-Arch: same ...@@ -199,20 +200,17 @@ Multi-Arch: same
Pre-Depends: Pre-Depends:
${misc:Pre-Depends}, ${misc:Pre-Depends},
Depends: Depends:
${shlibs:Depends},
${misc:Depends}, ${misc:Depends},
Breaks: nxlibs (<= 3.5.1), Description: nx-X11 Composite extension library (dummy package)
libnx-x11 (<< 2:3.5.0.29-0x2go2~),
Description: nx-X11 Composite extension library
NX is a software suite which implements very efficient NX is a software suite which implements very efficient
compression of the X11 protocol. This increases performance when compression of the X11 protocol. This increases performance when
using X applications over a network, especially a slow one. using X applications over a network, especially a slow one.
. .
libNX_Xcomposite provides an X Window System client interface to the Composite This package removes the obsoleted libNX_Xcomposite.so.1 library. With
extension to the X protocol recent versions of NX, the system-wide installed libXcomposite gets
used.
. .
The Composite extension allows clients called compositing managers to control This package can be safely removed.
the final drawing of the screen. Rendering is done into an off-screen buffer.
Package: libnx-xcomposite-dev Package: libnx-xcomposite-dev
Provides: libnx-xcomposite1-dev Provides: libnx-xcomposite1-dev
...@@ -220,23 +218,17 @@ Section: libdevel ...@@ -220,23 +218,17 @@ Section: libdevel
Architecture: any Architecture: any
Multi-Arch: same Multi-Arch: same
Depends: Depends:
libnx-xcomposite1 (= ${binary:Version}),
nx-x11proto-composite-dev (= ${binary:Version}),
${misc:Depends}, ${misc:Depends},
Breaks: nxlibs (<= 3.5.1), Description: nx-X11 Composite extension library (dummy package)
libnx-x11-dev (<< 2:3.5.0.29-0x2go2~),
Description: nx-X11 Composite extension library (development headers)
NX is a software suite which implements very efficient NX is a software suite which implements very efficient
compression of the X11 protocol. This increases performance when compression of the X11 protocol. This increases performance when
using X applications over a network, especially a slow one. using X applications over a network, especially a slow one.
. .
libNX_Xcomposite provides an X Window System client interface to the Composite This package removes the obsoleted headers for the libNX_Xcomposite.so.1
extension to the X protocol library. With recent versions of NX, the system-wide installed
. libXcomposite gets used.
The Composite extension allows clients called compositing managers to control
the final drawing of the screen. Rendering is done into an off-screen buffer.
. .
This package contains the development headers for this library. This package can be safely removed.
Package: nx-x11proto-composite-dev Package: nx-x11proto-composite-dev
Section: libdevel Section: libdevel
...@@ -261,22 +253,18 @@ Multi-Arch: same ...@@ -261,22 +253,18 @@ Multi-Arch: same
Pre-Depends: Pre-Depends:
${misc:Pre-Depends}, ${misc:Pre-Depends},
Depends: Depends:
libnx-xcomposite1 (= ${binary:Version}),
${misc:Depends}, ${misc:Depends},
Section: debug Section: debug
Breaks: nx-x11-dbg (<< 2:3.5.0.29-0x2go2~), Description: nx-X11 Composite extension library (dummy package)
Description: nx-X11 Composite extension library (debug package)
NX is a software suite which implements very efficient NX is a software suite which implements very efficient
compression of the X11 protocol. This increases performance when compression of the X11 protocol. This increases performance when
using X applications over a network, especially a slow one. using X applications over a network, especially a slow one.
. .
libNX_Xcomposite provides an X Window System client interface to the Composite This package removes the debug symbols for the obsoleted
extension to the X protocol libNX_Xcomposite.so.1 library. With recent versions of NX, the
system-wide installed libXcomposite gets used.
. .
The Composite extension allows clients called compositing managers to control This package can be safely removed.
the final drawing of the screen. Rendering is done into an off-screen buffer.
.
This package contains debug symbols for this library.
Package: libnx-xdamage1 Package: libnx-xdamage1
Architecture: any Architecture: any
......
usr/lib/*/libNX_Xcomposite.so
usr/include/*/nx-X11/extensions/Xcomposite.h
usr/lib/*/libNX_Xcomposite.so.*
libNX_Xcomposite.so.1 libnx-xcomposite1 #MINVER#
XCompositeCreateRegionFromBorderClip@Base 3.5.0.29
XCompositeExtensionInfo@Base 3.5.0.29
XCompositeExtensionName@Base 3.5.0.29
XCompositeFindDisplay@Base 3.5.0.29
XCompositeNameWindowPixmap@Base 3.5.0.29
XCompositeQueryExtension@Base 3.5.0.29
XCompositeQueryVersion@Base 3.5.0.29
XCompositeRedirectSubwindows@Base 3.5.0.29
XCompositeRedirectWindow@Base 3.5.0.29
XCompositeUnredirectSubwindows@Base 3.5.0.29
XCompositeUnredirectWindow@Base 3.5.0.29
XCompositeVersion@Base 3.5.0.29
...@@ -80,7 +80,6 @@ override_dh_auto_build: ...@@ -80,7 +80,6 @@ override_dh_auto_build:
override_dh_strip: override_dh_strip:
dh_strip -plibnx-x11-6 --dbg-package=libnx-x11-6-dbg dh_strip -plibnx-x11-6 --dbg-package=libnx-x11-6-dbg
dh_strip -plibnx-xau6 --dbg-package=libnx-xau6-dbg dh_strip -plibnx-xau6 --dbg-package=libnx-xau6-dbg
dh_strip -plibnx-xcomposite1 --dbg-package=libnx-xcomposite1-dbg
dh_strip -plibnx-xext6 --dbg-package=libnx-xext6-dbg dh_strip -plibnx-xext6 --dbg-package=libnx-xext6-dbg
dh_strip -plibnx-xfixes3 --dbg-package=libnx-xfixes3-dbg dh_strip -plibnx-xfixes3 --dbg-package=libnx-xfixes3-dbg
dh_strip -plibnx-xinerama1 --dbg-package=libnx-xinerama1-dbg dh_strip -plibnx-xinerama1 --dbg-package=libnx-xinerama1-dbg
......
...@@ -1396,30 +1396,6 @@ ProjectUnsharedLibReferences(XONLY,NX_X11,$(XLIBSRC),XBuildLibDir) ...@@ -1396,30 +1396,6 @@ ProjectUnsharedLibReferences(XONLY,NX_X11,$(XLIBSRC),XBuildLibDir)
#define ProfileLibXfixes NO #define ProfileLibXfixes NO
#endif #endif
#if BuildCompositeLibrary
#ifndef SharedLibXcomposite
#define SharedLibXcomposite HasSharedLibraries
#endif
#ifndef NormalLibXcomposite
#define NormalLibXcomposite (!SharedLibXcomposite || ForceNormalLib)
#endif
#ifndef DebugLibXcomposite
#define DebugLibXcomposite NO
#endif
#ifndef ProfileLibXcomposite
#define ProfileLibXcomposite NO
#endif
#else
#undef SharedLibXcomposite
#define SharedLibXcomposite NO
#undef NormalLibXcomposite
#define NormalLibXcomposite NO
#undef DebugLibXcomposite
#define DebugLibXcomposite NO
#undef ProfileLibXcomposite
#define ProfileLibXcomposite NO
#endif
#ifndef SharedLibXext #ifndef SharedLibXext
#define SharedLibXext HasSharedLibraries #define SharedLibXext HasSharedLibraries
#endif #endif
...@@ -1476,16 +1452,6 @@ SharedLibReferences(XFIXES,NX_Xfixes,$(XFIXESLIBSRC),SOXFIXESREV,SharedXfixesRev ...@@ -1476,16 +1452,6 @@ SharedLibReferences(XFIXES,NX_Xfixes,$(XFIXESLIBSRC),SOXFIXESREV,SharedXfixesRev
ProjectUnsharedLibReferences(XFIXES,NX_Xfixes,$(XFIXESLIBSRC),XBuildLibDir) ProjectUnsharedLibReferences(XFIXES,NX_Xfixes,$(XFIXESLIBSRC),XBuildLibDir)
#endif #endif
XCOMPOSITELIBSRC = $(LIBSRC)/Xcomposite
#if SharedLibXcomposite
#ifndef SharedXcompositeRev
#define SharedXcompositeRev 1.0
#endif
SharedLibReferences(XCOMPOSITE,NX_Xcomposite,$(XCOMPOSITELIBSRC),SOXCOMPOSITEREV,SharedXcompositeRev)
#else
ProjectUnsharedLibReferences(XCOMPOSITE,NX_Xcomposite,$(XCOMPOSITELIBSRC),XBuildLibDir)
#endif
#ifndef SharedLibXau #ifndef SharedLibXau
#define SharedLibXau YES #define SharedLibXau YES
#endif #endif
......
...@@ -125,8 +125,6 @@ XCOMM $XFree86: xc/config/cf/xf86site.def,v 3.186 2003/06/25 18:06:22 eich Exp $ ...@@ -125,8 +125,6 @@ XCOMM $XFree86: xc/config/cf/xf86site.def,v 3.186 2003/06/25 18:06:22 eich Exp $
#define BuildXfixesLibrary YES #define BuildXfixesLibrary YES
#define BuildCompositeLibrary YES
#define BuildDocs NO #define BuildDocs NO
#define BuildComposite YES #define BuildComposite YES
......
...@@ -44,7 +44,7 @@ RENDERHEADERS = render.h renderproto.h ...@@ -44,7 +44,7 @@ RENDERHEADERS = render.h renderproto.h
#if BuildXfixes || BuildXfixesLibrary #if BuildXfixes || BuildXfixesLibrary
XFIXESHEADERS = xfixeswire.h xfixesproto.h XFIXESHEADERS = xfixeswire.h xfixesproto.h
#endif #endif
#if BuildComposite || BuildCompositeLibrary #if BuildComposite
COMPOSITEHEADERS = composite.h compositeproto.h COMPOSITEHEADERS = composite.h compositeproto.h
#endif #endif
#if BuildXTrap #if BuildXTrap
......
...@@ -27,10 +27,6 @@ RENDERLIBDIR = Xrender ...@@ -27,10 +27,6 @@ RENDERLIBDIR = Xrender
XFIXESLIBDIR = Xfixes XFIXESLIBDIR = Xfixes
#endif #endif
#if BuildCompositeLibrary
COMPOSITELIBDIR = Xcomposite
#endif
#if BuildXauLib #if BuildXauLib
XAULIBDIR = Xau XAULIBDIR = Xau
#endif #endif
...@@ -59,7 +55,6 @@ LINTSUBDIRS = \ ...@@ -59,7 +55,6 @@ LINTSUBDIRS = \
$(XINERAMADIR) \ $(XINERAMADIR) \
$(RENDERLIBDIR) \ $(RENDERLIBDIR) \
$(XFIXESLIBDIR) \ $(XFIXESLIBDIR) \
$(COMPOSITELIBDIR) \
$(NULL) $(NULL)
SUBDIRS = xtrans $(LINTSUBDIRS) SUBDIRS = xtrans $(LINTSUBDIRS)
......
XCOMM $XdotOrg: xc/lib/Xcomposite/Imakefile,v 1.1 2004/07/31 05:50:39 anholt Exp $
#ifndef NormalLibXcomposite
#define NormalLibXcomposite YES
SOXCOMPOSITEREV=1.0.0
#endif
#ifndef SharedLibXcomposite
#define SharedLibXcomposite YES
#endif
#define DoNormalLib NormalLibXcomposite
#define DoSharedLib SharedLibXcomposite
#define DoDebugLib DebugLibXcomposite
#define DoProfileLib ProfileLibXcomposite
#define LibName NX_Xcomposite
#define SoRev SOXCOMPOSITEREV
#define IncSubdir nx-X11
#define IncSubSubdir extensions
#include <Threads.tmpl>
#ifdef SharedXcompositeReqs
REQUIREDLIBS = SharedXcompositeReqs
#endif
XCOMPOSITE_VERSION=1.0.0
X_LIBS=-L$(SHLIBDIR) $(XONLYLIB)
X_CFLAGS=-I$(INCROOT) $(THREADS_DEFINES)
XCOMPOSITE_LIBS = $(XFIXESLIB) $(XDAMAGELIB)
XCOMPOSITE_CFLAGS =
RPATH_CFLAG = HardCodeLibdirFlag
SRCS = Xcomposite.c
OBJS = Xcomposite.o
HEADERS = Xcomposite.h
SUBSTVARS=prefix="$(PROJECTROOT)" \
exec_prefix="$(BINDIR)" \
libdir="$(USRLIBDIR)" \
hardcode_libdir_flag_spec="$(RPATH_CFLAG)" \
includedir="$(INCROOT)" \
X_LIBS="$(X_LIBS)" \
X_CFLAGS="$(X_CFLAGS)" \
XCOMPOSITE_LIBS="$(XCOMPOSITE_LIBS)" \
XCOMPOSITE_CFLAGS="$(XCOMPOSITE_CFLAGS)" \
VERSION="$(XCOMPOSITE_VERSION)"
#include <Library.tmpl>
DependTarget()
/*
* $Id: Xcomposite.c,v 1.2 2005/07/03 07:00:56 daniels Exp $
*
* Copyright © 2003 Keith Packard
*
* 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 Keith Packard not be used in
* advertising or publicity pertaining to distribution of the software without
* specific, written prior permission. Keith Packard makes no
* representations about the suitability of this software for any purpose. It
* is provided "as is" without express or implied warranty.
*
* KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
* EVENT SHALL KEITH PACKARD 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.
*/
#include "xcompositeint.h"
XCompositeExtInfo XCompositeExtensionInfo;
const char XCompositeExtensionName[] = COMPOSITE_NAME;
/*
* XCompositeExtRemoveDisplay - remove the indicated display from the
* extension object. (Replaces XextRemoveDisplay.)
*/
static int
XCompositeExtRemoveDisplay (XCompositeExtInfo *extinfo, Display *dpy)
{
XCompositeExtDisplayInfo *info, *prev;
/*
* locate this display and its back link so that it can be removed
*/
_XLockMutex(_Xglobal_lock);
prev = NULL;
for (info = extinfo->head; info; info = info->next) {
if (info->display == dpy) break;
prev = info;
}
if (!info) {
_XUnlockMutex(_Xglobal_lock);
return 0; /* hmm, actually an error */
}
/*
* remove the display from the list; handles going to zero
*/
if (prev)
prev->next = info->next;
else
extinfo->head = info->next;
extinfo->ndisplays--;
if (info == extinfo->cur) extinfo->cur = NULL; /* flush cache */
_XUnlockMutex(_Xglobal_lock);
Xfree ((char *) info);
return 1;
}
static int
XCompositeCloseDisplay (Display *dpy, XExtCodes *codes)
{
return XCompositeExtRemoveDisplay (&XCompositeExtensionInfo, dpy);
}
/*
* XCompositeExtAddDisplay - add a display to this extension. (Replaces
* XextAddDisplay)
*/
static XCompositeExtDisplayInfo *
XCompositeExtAddDisplay (XCompositeExtInfo *extinfo,
Display *dpy,
const char *ext_name)
{
XCompositeExtDisplayInfo *info;
int ev;
info = (XCompositeExtDisplayInfo *) Xmalloc (sizeof (XCompositeExtDisplayInfo));
if (!info) return NULL;
info->display = dpy;
info->codes = XInitExtension (dpy, ext_name);
/*
* if the server has the extension, then we can initialize the
* appropriate function vectors
*/
if (info->codes) {
xCompositeQueryVersionReply rep;
xCompositeQueryVersionReq *req;
XESetCloseDisplay (dpy, info->codes->extension,
XCompositeCloseDisplay);
/*
* Get the version info
*/
LockDisplay (dpy);
GetReq (CompositeQueryVersion, req);
req->reqType = info->codes->major_opcode;
req->compositeReqType = X_CompositeQueryVersion;
req->majorVersion = COMPOSITE_MAJOR;
req->minorVersion = COMPOSITE_MINOR;
if (!_XReply (dpy, (xReply *) &rep, 0, xTrue))
{
UnlockDisplay (dpy);
SyncHandle ();
return 0;
}
info->major_version = rep.majorVersion;
info->minor_version = rep.minorVersion;
UnlockDisplay (dpy);
} else {
/* The server doesn't have this extension.
* Use a private Xlib-internal extension to hang the close_display
* hook on so that the "cache" (extinfo->cur) is properly cleaned.
* (XBUG 7955)
*/
XExtCodes *codes = XAddExtension(dpy);
if (!codes) {
XFree(info);
return NULL;
}
XESetCloseDisplay (dpy, codes->extension, XCompositeCloseDisplay);
}
/*
* now, chain it onto the list
*/
_XLockMutex(_Xglobal_lock);
info->next = extinfo->head;
extinfo->head = info;
extinfo->cur = info;
extinfo->ndisplays++;
_XUnlockMutex(_Xglobal_lock);
return info;
}
/*
* XCompositeExtFindDisplay - look for a display in this extension; keeps a
* cache of the most-recently used for efficiency. (Replaces
* XextFindDisplay.)
*/
static XCompositeExtDisplayInfo *
XCompositeExtFindDisplay (XCompositeExtInfo *extinfo,
Display *dpy)
{
XCompositeExtDisplayInfo *info;
/*
* see if this was the most recently accessed display
*/
if ((info = extinfo->cur) && info->display == dpy)
return info;
/*
* look for display in list
*/
_XLockMutex(_Xglobal_lock);
for (info = extinfo->head; info; info = info->next) {
if (info->display == dpy) {
extinfo->cur = info; /* cache most recently used */
_XUnlockMutex(_Xglobal_lock);
return info;
}
}
_XUnlockMutex(_Xglobal_lock);
return NULL;
}
XCompositeExtDisplayInfo *
XCompositeFindDisplay (Display *dpy)
{
XCompositeExtDisplayInfo *info;
info = XCompositeExtFindDisplay (&XCompositeExtensionInfo, dpy);
if (!info)
info = XCompositeExtAddDisplay (&XCompositeExtensionInfo, dpy,
XCompositeExtensionName);
return info;
}
Bool
XCompositeQueryExtension (Display *dpy, int *event_basep, int *error_basep)
{
XCompositeExtDisplayInfo *info = XCompositeFindDisplay (dpy);
if (XCompositeHasExtension(info))
{
*event_basep = info->codes->first_event;
*error_basep = info->codes->first_error;
return True;
}
else
return False;
}
Status
XCompositeQueryVersion (Display *dpy,
int *major_versionp,
int *minor_versionp)
{
XCompositeExtDisplayInfo *info = XCompositeFindDisplay (dpy);
XCompositeCheckExtension (dpy, info, 0);
*major_versionp = info->major_version;
*minor_versionp = info->minor_version;
UnlockDisplay (dpy);
SyncHandle ();
return 1;
}
int
XCompositeVersion (void)
{
return XCOMPOSITE_VERSION;
}
void
XCompositeRedirectWindow (Display *dpy, Window window, int update)
{
XCompositeExtDisplayInfo *info = XCompositeFindDisplay (dpy);
xCompositeRedirectWindowReq *req;
XCompositeSimpleCheckExtension (dpy, info);
LockDisplay (dpy);
GetReq (CompositeRedirectWindow, req);
req->reqType = info->codes->major_opcode;
req->compositeReqType = X_CompositeRedirectWindow;
req->window = window;
req->update = update;
UnlockDisplay (dpy);
SyncHandle ();
}
void
XCompositeRedirectSubwindows (Display *dpy, Window window, int update)
{
XCompositeExtDisplayInfo *info = XCompositeFindDisplay (dpy);
xCompositeRedirectSubwindowsReq *req;
XCompositeSimpleCheckExtension (dpy, info);
LockDisplay (dpy);
GetReq (CompositeRedirectSubwindows, req);
req->reqType = info->codes->major_opcode;
req->compositeReqType = X_CompositeRedirectSubwindows;
req->window = window;
req->update = update;
UnlockDisplay (dpy);
SyncHandle ();
}
void
XCompositeUnredirectWindow (Display *dpy, Window window, int update)
{
XCompositeExtDisplayInfo *info = XCompositeFindDisplay (dpy);
xCompositeUnredirectWindowReq *req;
XCompositeSimpleCheckExtension (dpy, info);
LockDisplay (dpy);
GetReq (CompositeUnredirectWindow, req);
req->reqType = info->codes->major_opcode;
req->compositeReqType = X_CompositeUnredirectWindow;
req->window = window;
req->update = update;
UnlockDisplay (dpy);
SyncHandle ();
}
void
XCompositeUnredirectSubwindows (Display *dpy, Window window, int update)
{
XCompositeExtDisplayInfo *info = XCompositeFindDisplay (dpy);
xCompositeUnredirectSubwindowsReq *req;
XCompositeSimpleCheckExtension (dpy, info);
LockDisplay (dpy);
GetReq (CompositeUnredirectSubwindows, req);
req->reqType = info->codes->major_opcode;
req->compositeReqType = X_CompositeUnredirectSubwindows;
req->window = window;
req->update = update;
UnlockDisplay (dpy);
SyncHandle ();
}
XserverRegion
XCompositeCreateRegionFromBorderClip (Display *dpy, Window window)
{
XCompositeExtDisplayInfo *info = XCompositeFindDisplay (dpy);
xCompositeCreateRegionFromBorderClipReq *req;
XserverRegion region;
XCompositeCheckExtension (dpy, info, 0);
LockDisplay (dpy);
GetReq (CompositeCreateRegionFromBorderClip, req);
req->reqType = info->codes->major_opcode;
req->compositeReqType = X_CompositeCreateRegionFromBorderClip;
req->window = window;
region = req->region = XAllocID (dpy);
UnlockDisplay (dpy);
SyncHandle ();
return region;
}
Pixmap
XCompositeNameWindowPixmap (Display *dpy, Window window)
{
XCompositeExtDisplayInfo *info = XCompositeFindDisplay (dpy);
xCompositeNameWindowPixmapReq *req;
Pixmap pixmap;
XCompositeCheckExtension (dpy, info, 0);
LockDisplay (dpy);
GetReq (CompositeNameWindowPixmap, req);
req->reqType = info->codes->major_opcode;
req->compositeReqType = X_CompositeNameWindowPixmap;
req->window = window;
pixmap = req->pixmap = XAllocID (dpy);
UnlockDisplay (dpy);
SyncHandle ();
return pixmap;
}
/*
* $Id: Xcomposite.h,v 1.5 2005/11/09 21:31:19 kem Exp $
*
* Copyright © 2003 Keith Packard
*
* 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 Keith Packard not be used in
* advertising or publicity pertaining to distribution of the software without
* specific, written prior permission. Keith Packard makes no
* representations about the suitability of this software for any purpose. It
* is provided "as is" without express or implied warranty.
*
* KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
* EVENT SHALL KEITH PACKARD 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.
*/
#ifndef _XCOMPOSITE_H_
#define _XCOMPOSITE_H_
#include <nx-X11/extensions/composite.h>
#include <nx-X11/extensions/Xfixes.h>
#include <nx-X11/Xfuncproto.h>
/*
* This revision number also appears in configure.ac, they have
* to be manually synchronized
*/
#define XCOMPOSITE_MAJOR COMPOSITE_MAJOR
#define XCOMPOSITE_MINOR COMPOSITE_MINOR
#define XCOMPOSITE_REVISION 2
#define XCOMPOSITE_VERSION ((XCOMPOSITE_MAJOR * 10000) + (XCOMPOSITE_MINOR * 100) + (XCOMPOSITE_REVISION))
_XFUNCPROTOBEGIN
Bool XCompositeQueryExtension (Display *dpy, int *event_basep, int *error_basep);
Status XCompositeQueryVersion (Display *dpy,
int *major_versionp,
int *minor_versionp);
int XCompositeVersion (void);
void
XCompositeRedirectWindow (Display *dpy, Window window, int update);
void
XCompositeRedirectSubwindows (Display *dpy, Window window, int update);
void
XCompositeUnredirectWindow (Display *dpy, Window window, int update);
void
XCompositeUnredirectSubwindows (Display *dpy, Window window, int update);
XserverRegion
XCompositeCreateRegionFromBorderClip (Display *dpy, Window window);
Pixmap
XCompositeNameWindowPixmap (Display *dpy, Window window);
_XFUNCPROTOEND
#endif /* _XCOMPOSITE_H_ */
/*
* $Id: xcompositeint.h,v 1.3 2005/07/12 03:10:35 keithp Exp $
*
* Copyright © 2003 Keith Packard
*
* 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 Keith Packard not be used in
* advertising or publicity pertaining to distribution of the software without
* specific, written prior permission. Keith Packard makes no
* representations about the suitability of this software for any purpose. It
* is provided "as is" without express or implied warranty.
*
* KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
* EVENT SHALL KEITH PACKARD 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.
*/
#ifndef _XDAMAGEINT_H_
#define _XDAMAGEINT_H_
#define NEED_EVENTS
#define NEED_REPLIES
#include <stdio.h>
#include <nx-X11/Xlib.h>
#include <nx-X11/Xlibint.h>
#include <nx-X11/Xutil.h>
#include <nx-X11/extensions/compositeproto.h>
#include <nx-X11/extensions/Xcomposite.h>
typedef struct _XCompositeExtDisplayInfo {
struct _XCompositeExtDisplayInfo *next; /* keep a linked list */
Display *display; /* which display this is */
XExtCodes *codes; /* the extension protocol codes */
int major_version; /* -1 means we don't know */
int minor_version; /* -1 means we don't know */
} XCompositeExtDisplayInfo;
/* replaces XExtensionInfo */
typedef struct _XCompositeExtInfo {
XCompositeExtDisplayInfo *head; /* start of the list */
XCompositeExtDisplayInfo *cur; /* most recently used */
int ndisplays; /* number of displays */
} XCompositeExtInfo;
extern XCompositeExtInfo XCompositeExtensionInfo;
extern const char XCompositeExtensionName[];
XCompositeExtDisplayInfo *
XCompositeFindDisplay (Display *dpy);
#define XCompositeHasExtension(i) ((i) && ((i)->codes))
#define XCompositeCheckExtension(dpy,i,val) \
if (!XCompositeHasExtension(i)) { return val; }
#define XCompositeSimpleCheckExtension(dpy,i) \
if (!XCompositeHasExtension(i)) { return; }
#endif /* _XDAMAGEINT_H_ */
...@@ -403,17 +403,17 @@ $(NXAGENTOBJS) $(NXAGENTLIBS) $(NXAGENTSYSLIBS):: $(NXAGENTDIRS) ...@@ -403,17 +403,17 @@ $(NXAGENTOBJS) $(NXAGENTLIBS) $(NXAGENTSYSLIBS):: $(NXAGENTDIRS)
#if defined(SunArchitecture) #if defined(SunArchitecture)
NXAGENTNXLIBS = -L ../../../nxcomp -L ../../../nxcompext -L ../../../nxcompshad \ NXAGENTNXLIBS = -L ../../../nxcomp -L ../../../nxcompext -L ../../../nxcompshad \
-lXcomp -lXcompext -lXcompshad -lrt -L/usr/sfw/lib -lNX_Xrender -lNX_Xfixes -lXfont \ -lXcomp -lXcompext -lXcompshad -lrt -L/usr/sfw/lib -lNX_Xrender -lNX_Xfixes -lXfont \
-L../../../nx-X11/exports/lib -lNX_Xtst -lXrandr -lNX_Xcomposite -lXdmcp \ -L../../../nx-X11/exports/lib -lNX_Xtst -lXrandr -lXcomposite -lXdmcp \
`pkg-config --libs libxml-2.0` `pkg-config --libs libxml-2.0`
#elif defined(cygwinArchitecture) #elif defined(cygwinArchitecture)
NXAGENTNXLIBS = -L ../../../nxcomp -L ../../../nxcompext \ NXAGENTNXLIBS = -L ../../../nxcomp -L ../../../nxcompext \
-lXcomp -lXcompext -lNX_Xrender -lX11 -lNX_Xext -lNX_Xcomposite -lNX_Xfixes -lXfont \ -lXcomp -lXcompext -lNX_Xrender -lX11 -lNX_Xext -lXcomposite -lNX_Xfixes -lXfont \
-L ../../../nxcompshad -lXcompshad -L../../../nx-X11/exports/lib -lNX_Xtst -lXdmcp \ -L ../../../nxcompshad -lXcompshad -L../../../nx-X11/exports/lib -lNX_Xtst -lXdmcp \
`pkg-config --libs libxml-2.0` `pkg-config --libs libxml-2.0`
#else #else
NXAGENTNXLIBS = -L ../../../nxcomp -L ../../../nxcompext -L ../../../nxcompshad \ NXAGENTNXLIBS = -L ../../../nxcomp -L ../../../nxcompext -L ../../../nxcompshad \
-lXcomp -lXcompext -lXcompshad -lNX_Xrender -lNX_X11 -lNX_Xext -lNX_Xfixes -lXfont \ -lXcomp -lXcompext -lXcompshad -lNX_Xrender -lNX_X11 -lNX_Xext -lNX_Xfixes -lXfont \
-L../../../nx-X11/exports/lib -lNX_Xtst -lXrandr -lNX_Xcomposite -lNX_Xinerama -lXdmcp \ -L../../../nx-X11/exports/lib -lNX_Xtst -lXrandr -lXcomposite -lNX_Xinerama -lXdmcp \
`pkg-config --libs libxml-2.0` `pkg-config --libs libxml-2.0`
#endif #endif
......
...@@ -35,6 +35,7 @@ BuildRequires: pkgconfig(xpm) ...@@ -35,6 +35,7 @@ BuildRequires: pkgconfig(xpm)
BuildRequires: pkgconfig(xfont) BuildRequires: pkgconfig(xfont)
BuildRequires: pkgconfig(xdmcp) BuildRequires: pkgconfig(xdmcp)
BuildRequires: pkgconfig(xdamage) BuildRequires: pkgconfig(xdamage)
BuildRequires: pkgconfig(xcomposite)
BuildRequires: pkgconfig(xrandr) BuildRequires: pkgconfig(xrandr)
%else %else
BuildRequires: libexpat-devel BuildRequires: libexpat-devel
...@@ -46,6 +47,7 @@ BuildRequires: xorg-x11-libXpm-devel ...@@ -46,6 +47,7 @@ BuildRequires: xorg-x11-libXpm-devel
BuildRequires: xorg-x11-libXfont-devel BuildRequires: xorg-x11-libXfont-devel
BuildRequires: xorg-x11-libXdmcp-devel BuildRequires: xorg-x11-libXdmcp-devel
BuildRequires: xorg-x11-libXdamage-devel BuildRequires: xorg-x11-libXdamage-devel
BuildRequires: xorg-x11-libXcomposite-devel
BuildRequires: xorg-x11-libXrandr-devel BuildRequires: xorg-x11-libXrandr-devel
%endif %endif
BuildRequires: xorg-x11-util-devel BuildRequires: xorg-x11-util-devel
...@@ -57,7 +59,7 @@ BuildRequires: libpng-devel ...@@ -57,7 +59,7 @@ BuildRequires: libpng-devel
BuildRequires: libxml2-devel BuildRequires: libxml2-devel
BuildRequires: libXfont-devel BuildRequires: libXfont-devel
BuildRequires: libXdmcp-devel BuildRequires: libXdmcp-devel
BuildRequires: libXdamage-devel BuildRequires: libXcomposite-devel
BuildRequires: libXrandr-devel BuildRequires: libXrandr-devel
%endif %endif
...@@ -190,24 +192,6 @@ restrict use of the display to only those clients that show that they ...@@ -190,24 +192,6 @@ restrict use of the display to only those clients that show that they
know a server-specific key called a "magic cookie". know a server-specific key called a "magic cookie".
%package -n libNX_Xcomposite1
Group: System Environment/Libraries
Summary: NX protocol Composite extension client library
Requires: %{name}%{?_isa} >= 3.5.0.29
Obsoletes: libNX_Xcomposite
%description -n libNX_Xcomposite1
NX is a software suite which implements very efficient compression of
the X11 protocol. This increases performance when using X
applications over a network, especially a slow one.
The Composite extension causes a entire sub-tree of the window
hierarchy to be rendered to an off-screen buffer. Applications can
then take the contents of that buffer and do whatever they like. The
off-screen buffer can be automatically merged into the parent window
or merged by external programs, called compositing managers.
%package -n libNX_Xext-devel %package -n libNX_Xext-devel
Group: Development/Libraries Group: Development/Libraries
Summary: Development files for the NX Common Extensions library Summary: Development files for the NX Common Extensions library
...@@ -634,7 +618,6 @@ ln -s -f ../../../../%{_lib}/libNX_Xinerama.so.1 %{buildroot}%{_libdir}/nx/X11/X ...@@ -634,7 +618,6 @@ ln -s -f ../../../../%{_lib}/libNX_Xinerama.so.1 %{buildroot}%{_libdir}/nx/X11/X
%post -p /sbin/ldconfig %post -p /sbin/ldconfig
%post -n libNX_X11-6 -p /sbin/ldconfig %post -n libNX_X11-6 -p /sbin/ldconfig
%post -n libNX_Xau6 -p /sbin/ldconfig %post -n libNX_Xau6 -p /sbin/ldconfig
%post -n libNX_Xcomposite1 -p /sbin/ldconfig
%post -n libNX_Xext6 -p /sbin/ldconfig %post -n libNX_Xext6 -p /sbin/ldconfig
%post -n libNX_Xfixes3 -p /sbin/ldconfig %post -n libNX_Xfixes3 -p /sbin/ldconfig
%post -n libNX_Xinerama1 -p /sbin/ldconfig %post -n libNX_Xinerama1 -p /sbin/ldconfig
...@@ -646,7 +629,6 @@ ln -s -f ../../../../%{_lib}/libNX_Xinerama.so.1 %{buildroot}%{_libdir}/nx/X11/X ...@@ -646,7 +629,6 @@ ln -s -f ../../../../%{_lib}/libNX_Xinerama.so.1 %{buildroot}%{_libdir}/nx/X11/X
%postun -p /sbin/ldconfig %postun -p /sbin/ldconfig
%postun -n libNX_X11-6 -p /sbin/ldconfig %postun -n libNX_X11-6 -p /sbin/ldconfig
%postun -n libNX_Xau6 -p /sbin/ldconfig %postun -n libNX_Xau6 -p /sbin/ldconfig
%postun -n libNX_Xcomposite1 -p /sbin/ldconfig
%postun -n libNX_Xext6 -p /sbin/ldconfig %postun -n libNX_Xext6 -p /sbin/ldconfig
%postun -n libNX_Xfixes3 -p /sbin/ldconfig %postun -n libNX_Xfixes3 -p /sbin/ldconfig
%postun -n libNX_Xinerama1 -p /sbin/ldconfig %postun -n libNX_Xinerama1 -p /sbin/ldconfig
...@@ -695,10 +677,6 @@ ln -s -f ../../../../%{_lib}/libNX_Xinerama.so.1 %{buildroot}%{_libdir}/nx/X11/X ...@@ -695,10 +677,6 @@ ln -s -f ../../../../%{_lib}/libNX_Xinerama.so.1 %{buildroot}%{_libdir}/nx/X11/X
%defattr(-,root,root) %defattr(-,root,root)
%{_libdir}/libNX_Xau.so.6* %{_libdir}/libNX_Xau.so.6*
%files -n libNX_Xcomposite1
%defattr(-,root,root)
%{_libdir}/libNX_Xcomposite.so.1*
%files -n libNX_Xext-devel %files -n libNX_Xext-devel
%defattr(-,root,root) %defattr(-,root,root)
%{_libdir}/libNX_Xext.so %{_libdir}/libNX_Xext.so
...@@ -815,13 +793,11 @@ ln -s -f ../../../../%{_lib}/libNX_Xinerama.so.1 %{buildroot}%{_libdir}/nx/X11/X ...@@ -815,13 +793,11 @@ ln -s -f ../../../../%{_lib}/libNX_Xinerama.so.1 %{buildroot}%{_libdir}/nx/X11/X
%files devel %files devel
%defattr(-,root,root) %defattr(-,root,root)
%{_libdir}/libNX_Xcomposite.so
%{_libdir}/libNX_Xinerama.so %{_libdir}/libNX_Xinerama.so
%{_libdir}/libNX_Xtst.so %{_libdir}/libNX_Xtst.so
%{_includedir}/nx-X11/X10.h %{_includedir}/nx-X11/X10.h
%dir %{_includedir}/nx-X11/extensions %dir %{_includedir}/nx-X11/extensions
%{_includedir}/nx-X11/extensions/XTest.h %{_includedir}/nx-X11/extensions/XTest.h
%{_includedir}/nx-X11/extensions/Xcomposite.h
%{_includedir}/nx-X11/extensions/Xevie.h %{_includedir}/nx-X11/extensions/Xevie.h
%{_includedir}/nx-X11/extensions/Xinerama.h %{_includedir}/nx-X11/extensions/Xinerama.h
%{_includedir}/nx-X11/extensions/lbxbuf.h %{_includedir}/nx-X11/extensions/lbxbuf.h
......
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