diff options
-rw-r--r-- | configure.in | 63 | ||||
-rwxr-xr-x | set_soenv.in | 1 | ||||
-rw-r--r-- | vcl/Library_vclplug_gen.mk | 5 | ||||
-rw-r--r-- | vcl/unx/generic/gdi/xrender_peer.cxx | 126 | ||||
-rw-r--r-- | vcl/unx/generic/gdi/xrender_peer.hxx | 111 |
5 files changed, 36 insertions, 270 deletions
diff --git a/configure.in b/configure.in index 9292e140dd35..9a5fb6811fdb 100644 --- a/configure.in +++ b/configure.in @@ -64,6 +64,7 @@ dnl These values may be checked and reset later. dnl =================================================================== #defaults unless the os test overrides this: test_randr=yes +test_xrender=yes test_cups=yes test_fontconfig=yes @@ -109,6 +110,7 @@ linux-gnu*|k*bsd*-gnu*) gnu) test_randr=no + test_xrender=no _os=GNU ;; @@ -131,6 +133,7 @@ cygwin*|interix*|mingw32*) test_cups=no test_randr=no + test_xrender=no test_freetype=no test_fontconfig=no _os=WINNT @@ -157,6 +160,7 @@ cygwin*|interix*|mingw32*) darwin*) # Mac OS X or iOS test_gtk=yes test_randr=no + test_xrender=no test_freetype=no test_fontconfig=no if test "$host_cpu" = "arm"; then @@ -242,6 +246,7 @@ linux-androideabi*) test_kde=no test_kde4=no test_randr=no + test_xrender=no test_unix_quickstarter=no _os=Android @@ -680,11 +685,6 @@ AC_ARG_ENABLE(rpath, [Disable the use of relative paths in shared libraries.]), ,) -AC_ARG_ENABLE(xrender-link, - AS_HELP_STRING([--enable-xrender-link], - [Link with libXrender instead of dynamically open it.]), -,) - AC_ARG_ENABLE(randr, AS_HELP_STRING([--disable-randr], [Disable RandR support in the vcl project.]), @@ -911,7 +911,7 @@ AC_ARG_WITH(system-headers, AS_HELP_STRING([--with-system-headers], [Use headers already on system -- enables all --with-system-* flags for external packages whose headers are the only entities used i.e. - boost/vigra/odbc/sane/xrender-header(s).]), + boost/vigra/odbc/sane-header(s).]), ,) AC_ARG_WITH(system-jars, @@ -1233,10 +1233,12 @@ AC_ARG_WITH(system-sane, [Use sane.h already on system.]),, [with_system_sane="$with_system_headers"]) -AC_ARG_WITH(system-xrender-headers, - AS_HELP_STRING([--with-system-xrender-headers], - [Use XRender headers already on system.]), - [with_system_xrender_headers="$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], @@ -6238,36 +6240,31 @@ if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$_os" != "Android" -a "$_os" [#include <X11/Intrinsic.h>]) fi +AC_MSG_CHECKING([whether to use internal X11 extensions headers]) +if test "$with_system_xextensions_headers" != "no"; then + AC_MSG_RESULT([no]) +else + AC_MSG_RESULT([yes]) + BUILD_TYPE="$BUILD_TYPE X11_EXTENSIONS" +fi dnl =================================================================== dnl Check for system Xrender dnl =================================================================== -AC_MSG_CHECKING([whether to link to Xrender]) -if test -n "$enable_xrender_link" -a "$enable_xrender_link" != "no"; then +AC_MSG_CHECKING([whether to use Xrender]) +if test "$test_xrender" = "yes"; then AC_MSG_RESULT([yes]) - XRENDER_LINK=YES - with_system_xrender_headers=yes -else - AC_MSG_RESULT([no, dynamically open it]) - XRENDER_LINK=NO -fi -AC_MSG_CHECKING([which Xrender headers to use]) -if test "$with_system_xrender_headers" = "yes"; then - AC_MSG_RESULT([external]) - SYSTEM_XRENDER_HEADERS=YES - AC_CHECK_HEADER(X11/extensions/Xrender.h, [], - [AC_MSG_ERROR(Xrender not found. install X)], []) -else - AC_MSG_RESULT([internal]) - SYSTEM_XRENDER_HEADERS=NO - BUILD_TYPE="$BUILD_TYPE X11_EXTENSIONS" -fi -if test "$XRENDER_LINK" = "YES"; then 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 fi -AC_SUBST(SYSTEM_XRENDER_HEADERS) -AC_SUBST(XRENDER_LINK) dnl =================================================================== dnl Check for XRandr @@ -8571,7 +8568,7 @@ if test "$with_system_cairo" = "yes"; then PKG_CHECK_MODULES( CAIRO, cairo >= 1.0.2 ) - if test "$with_system_xrender_headers" = "yes"; then + if test "$with_system_xextensions_headers" != "no"; then AC_MSG_CHECKING([whether Xrender.h defines PictStandardA8]) AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include <X11/extensions/Xrender.h> diff --git a/set_soenv.in b/set_soenv.in index f0cee2105d4c..d45d245816df 100755 --- a/set_soenv.in +++ b/set_soenv.in @@ -1947,7 +1947,6 @@ ToFile( "LIBXSLT_CFLAGS", "@LIBXSLT_CFLAGS@", "e" ); ToFile( "LIBXSLT_LIBS", "@LIBXSLT_LIBS@", "e" ); ToFile( "XSLTPROC", "@XSLTPROC@", "e" ); ToFile( "SYSTEM_SANE_HEADER","@SYSTEM_SANE_HEADER@","e" ); -ToFile( "SYSTEM_XRENDER_HEADERS","@SYSTEM_XRENDER_HEADERS@","e" ); ToFile( "SYSTEM_MESA_HEADERS","@SYSTEM_MESA_HEADERS@","e" ); ToFile( "SYSTEM_CURL", "@SYSTEM_CURL@", "e" ); ToFile( "CURL_CFLAGS", "@CURL_CFLAGS@", "e" ); diff --git a/vcl/Library_vclplug_gen.mk b/vcl/Library_vclplug_gen.mk index a0b1531336cb..9e885aaf6601 100644 --- a/vcl/Library_vclplug_gen.mk +++ b/vcl/Library_vclplug_gen.mk @@ -172,14 +172,9 @@ endif endif ## handle Render linking -ifeq ($(XRENDER_LINK),YES) -$(eval $(call gb_Library_add_defs,vclplug_gen,\ - -DXRENDER_LINK \ -)) $(eval $(call gb_Library_add_libs,vclplug_gen,\ $(shell pkg-config --libs xrender) \ )) -endif ifeq ($(OS),LINUX) $(eval $(call gb_Library_add_linked_libs,vclplug_gen,\ diff --git a/vcl/unx/generic/gdi/xrender_peer.cxx b/vcl/unx/generic/gdi/xrender_peer.cxx index 52611e7afac2..185cc305c0ee 100644 --- a/vcl/unx/generic/gdi/xrender_peer.cxx +++ b/vcl/unx/generic/gdi/xrender_peer.cxx @@ -47,27 +47,15 @@ using namespace rtl; // --------------------------------------------------------------------------- XRenderPeer::XRenderPeer() -: mpDisplay( GetGenericData()->GetSalDisplay()->GetDisplay() ), - mpStandardFormatA8( NULL ), - mnRenderVersion( 0 ), - mpRenderLib( NULL ) -#ifndef XRENDER_LINK -, mpXRenderCompositeTrapezoids( NULL ) -, mpXRenderAddTraps( NULL ) -#endif // XRENDER_LINK + : mpDisplay( GetGenericData()->GetSalDisplay()->GetDisplay() ) + , mpStandardFormatA8( NULL ) + , mnRenderVersion( 0 ) { InitRenderLib(); } // --------------------------------------------------------------------------- -XRenderPeer::~XRenderPeer() -{ - osl_unloadModule( mpRenderLib ); -} - -// --------------------------------------------------------------------------- - XRenderPeer& XRenderPeer::GetInstance() { static XRenderPeer aPeer; @@ -79,117 +67,11 @@ XRenderPeer& XRenderPeer::GetInstance() void XRenderPeer::InitRenderLib() { int nDummy; - if( !XQueryExtension( mpDisplay, "RENDER", &nDummy, &nDummy, &nDummy ) ) - return; - -#ifndef XRENDER_LINK - // we don't know if we are running on a system with xrender library - // we don't want to install system libraries ourselves - // => load them dynamically when they are there - const OUString aLibName( RTL_CONSTASCII_USTRINGPARAM( "libXrender.so.1" )); - mpRenderLib = osl_loadModule( aLibName.pData, SAL_LOADMODULE_DEFAULT ); - if( !mpRenderLib ) { -#ifdef DEBUG - fprintf( stderr, "Display can do XRender, but no %s installed.\n" - "Please install for improved display performance\n", OUStringToOString( aLibName.getStr(), - osl_getThreadTextEncoding() ).getStr() ); -#endif - return; - } - - oslGenericFunction pFunc; - pFunc = osl_getAsciiFunctionSymbol( mpRenderLib, "XRenderQueryExtension" ); - if( !pFunc ) return; - mpXRenderQueryExtension = (Bool(*)(Display*,int*,int*))pFunc; - - pFunc = osl_getAsciiFunctionSymbol( mpRenderLib, "XRenderQueryVersion" ); - if( !pFunc ) return; - mpXRenderQueryVersion = (void(*)(Display*,int*,int*))pFunc; - - pFunc = osl_getAsciiFunctionSymbol( mpRenderLib, "XRenderFindVisualFormat" ); - if( !pFunc ) return; - mpXRenderFindVisualFormat = (XRenderPictFormat*(*)(Display*,Visual*))pFunc; - - pFunc = osl_getAsciiFunctionSymbol( mpRenderLib, "XRenderFindStandardFormat" ); - if( !pFunc ) return; - mpXRenderFindStandardFormat = (XRenderPictFormat*(*)(Display*,int))pFunc; - - pFunc = osl_getAsciiFunctionSymbol( mpRenderLib, "XRenderFindFormat" ); - if( !pFunc ) return; - mpXRenderFindFormat = (XRenderPictFormat*(*)(Display*,unsigned long, - const XRenderPictFormat*,int))pFunc; - - pFunc = osl_getAsciiFunctionSymbol( mpRenderLib, "XRenderCreateGlyphSet" ); - if( !pFunc ) return; - mpXRenderCreateGlyphSet = (GlyphSet(*)(Display*,const XRenderPictFormat*))pFunc; - - pFunc = osl_getAsciiFunctionSymbol( mpRenderLib, "XRenderFreeGlyphSet" ); - if( !pFunc ) return; - mpXRenderFreeGlyphSet = (void(*)(Display*,GlyphSet))pFunc; - - pFunc = osl_getAsciiFunctionSymbol( mpRenderLib, "XRenderAddGlyphs" ); - if( !pFunc ) return; - mpXRenderAddGlyphs = (void(*)(Display*,GlyphSet,Glyph*,const XGlyphInfo*, - int,const char*,int))pFunc; - - pFunc = osl_getAsciiFunctionSymbol( mpRenderLib, "XRenderFreeGlyphs" ); - if( !pFunc ) return; - mpXRenderFreeGlyphs = (void(*)(Display*,GlyphSet,Glyph*,int))pFunc; - - pFunc = osl_getAsciiFunctionSymbol( mpRenderLib, "XRenderCompositeString32" ); - if( !pFunc ) return; - mpXRenderCompositeString32 = (void(*)(Display*,int,Picture,Picture, - const XRenderPictFormat*,GlyphSet,int,int,int,int,const unsigned*,int))pFunc; - - pFunc = osl_getAsciiFunctionSymbol( mpRenderLib, "XRenderCreatePicture" ); - if( !pFunc ) return; - mpXRenderCreatePicture = (Picture(*)(Display*,Drawable,const XRenderPictFormat*, - unsigned long,const XRenderPictureAttributes*))pFunc; - - pFunc = osl_getAsciiFunctionSymbol( mpRenderLib, "XRenderChangePicture" ); - if( !pFunc ) return; - mpXRenderChangePicture = (void(*)(Display*,Picture,unsigned long,const XRenderPictureAttributes*))pFunc; - - pFunc = osl_getAsciiFunctionSymbol( mpRenderLib, "XRenderSetPictureClipRegion" ); - if( !pFunc ) return; - mpXRenderSetPictureClipRegion = (void(*)(Display*,Picture,XLIB_Region))pFunc; - - pFunc = osl_getAsciiFunctionSymbol( mpRenderLib, "XRenderFreePicture" ); - if( !pFunc ) return; - mpXRenderFreePicture = (void(*)(Display*,Picture))pFunc; - - pFunc = osl_getAsciiFunctionSymbol( mpRenderLib, "XRenderComposite" ); - if( !pFunc ) return; - mpXRenderComposite = (void(*)(Display*,int,Picture,Picture,Picture, - int,int,int,int,int,int,unsigned,unsigned))pFunc; - - pFunc = osl_getAsciiFunctionSymbol( mpRenderLib, "XRenderFillRectangle" ); - if( !pFunc ) return; - mpXRenderFillRectangle = (void(*)(Display*,int,Picture,const XRenderColor*, - int,int,unsigned int,unsigned int))pFunc; - - pFunc = osl_getAsciiFunctionSymbol( mpRenderLib, "XRenderCompositeTrapezoids" ); - mpXRenderCompositeTrapezoids = (void(*)(Display*,int,Picture,Picture, - const XRenderPictFormat*,int,int,const XTrapezoid*,int))pFunc; - - pFunc = osl_getAsciiFunctionSymbol( mpRenderLib, "XRenderAddTraps" ); - mpXRenderAddTraps = (void(*)(Display*,Picture,int,int,const _XTrap*,int))pFunc; - -#endif // XRENDER_LINK - - // needed to initialize libXrender internals, we already know its there -#ifdef XRENDER_LINK + // needed to initialize libXrender internals XRenderQueryExtension( mpDisplay, &nDummy, &nDummy ); -#else - (*mpXRenderQueryExtension)( mpDisplay, &nDummy, &nDummy ); -#endif int nMajor, nMinor; -#ifdef XRENDER_LINK XRenderQueryVersion( mpDisplay, &nMajor, &nMinor ); -#else - (*mpXRenderQueryVersion)( mpDisplay, &nMajor, &nMinor ); -#endif mnRenderVersion = 16*nMajor + nMinor; // the 8bit alpha mask format must be there diff --git a/vcl/unx/generic/gdi/xrender_peer.hxx b/vcl/unx/generic/gdi/xrender_peer.hxx index f9417bb2be95..be45feebbf6e 100644 --- a/vcl/unx/generic/gdi/xrender_peer.hxx +++ b/vcl/unx/generic/gdi/xrender_peer.hxx @@ -47,13 +47,11 @@ public: protected: XRenderPeer(); - ~XRenderPeer(); void InitRenderLib(); Display* mpDisplay; XRenderPictFormat* mpStandardFormatA8; int mnRenderVersion; - oslModule mpRenderLib; public: XRenderPictFormat* GetStandardFormatA8() const; @@ -85,45 +83,8 @@ public: void CompositeTrapezoids( int nOp, Picture aSrc, Picture aDst, const XRenderPictFormat*, int nXSrc, int nYSrc, const XTrapezoid*, int nCount ) const; - bool AddTraps( Picture aDst, int nXOfs, int nYOfs, + void AddTraps( Picture aDst, int nXOfs, int nYOfs, const _XTrap*, int nCount ) const; - - bool AreTrapezoidsSupported() const -#ifdef XRENDER_LINK - { return true; } -#else - { return mpXRenderCompositeTrapezoids!=NULL; } - -private: - XRenderPictFormat* (*mpXRenderFindFormat)(Display*,unsigned long, - const XRenderPictFormat*,int); - XRenderPictFormat* (*mpXRenderFindVisualFormat)(Display*,Visual*); - XRenderPictFormat* (*mpXRenderFindStandardFormat)(Display*,int); - Bool (*mpXRenderQueryExtension)(Display*,int*,int*); - void (*mpXRenderQueryVersion)(Display*,int*,int*); - - Picture (*mpXRenderCreatePicture)(Display*,Drawable, const XRenderPictFormat*, - unsigned long,const XRenderPictureAttributes*); - void (*mpXRenderChangePicture)(Display*,Picture, - unsigned long,const XRenderPictureAttributes*); - void (*mpXRenderSetPictureClipRegion)(Display*,Picture,XLIB_Region); - void (*mpXRenderFreePicture)(Display*,Picture); - void (*mpXRenderComposite)(Display*,int,Picture,Picture,Picture, - int,int,int,int,int,int,unsigned,unsigned); - - GlyphSet (*mpXRenderCreateGlyphSet)(Display*, const XRenderPictFormat*); - void (*mpXRenderFreeGlyphSet)(Display*,GlyphSet); - void (*mpXRenderAddGlyphs)(Display*,GlyphSet,Glyph*, - const XGlyphInfo*,int,const char*,int); - void (*mpXRenderFreeGlyphs)(Display*,GlyphSet,Glyph*,int); - void (*mpXRenderCompositeString32)(Display*,int,Picture,Picture, - const XRenderPictFormat*,GlyphSet,int,int,int,int,const unsigned*,int); - void (*mpXRenderFillRectangle)(Display*,int,Picture, - const XRenderColor*,int,int,unsigned int,unsigned int); - void (*mpXRenderCompositeTrapezoids)(Display*,int,Picture,Picture, - const XRenderPictFormat*,int,int,const XTrapezoid*,int); - void (*mpXRenderAddTraps)(Display*,Picture,int,int,const _XTrap*,int); -#endif // XRENDER_LINK }; //===================================================================== @@ -158,63 +119,38 @@ inline XRenderPictFormat* XRenderPeer::GetStandardFormatA8() const inline XRenderPictFormat* XRenderPeer::FindStandardFormat(int nFormat) const { -#ifdef XRENDER_LINK return XRenderFindStandardFormat(mpDisplay, nFormat); -#else - return (*mpXRenderFindStandardFormat)(mpDisplay, nFormat); -#endif } inline XRenderPictFormat* XRenderPeer::FindVisualFormat( Visual* pVisual ) const { -#ifdef XRENDER_LINK return XRenderFindVisualFormat ( mpDisplay, pVisual ); -#else - return (*mpXRenderFindVisualFormat)( mpDisplay, pVisual ); -#endif } inline XRenderPictFormat* XRenderPeer::FindPictureFormat( unsigned long nFormatMask, const XRenderPictFormat& rFormatAttr ) const { -#ifdef XRENDER_LINK return XRenderFindFormat( mpDisplay, nFormatMask, &rFormatAttr, 0 ); -#else - return (*mpXRenderFindFormat)( mpDisplay, nFormatMask, &rFormatAttr, 0 ); -#endif } inline Picture XRenderPeer::CreatePicture( Drawable aDrawable, const XRenderPictFormat* pVisFormat, unsigned long nValueMask, const XRenderPictureAttributes* pRenderAttr ) const { -#ifdef XRENDER_LINK return XRenderCreatePicture( mpDisplay, aDrawable, pVisFormat, nValueMask, pRenderAttr ); -#else - return (*mpXRenderCreatePicture)( mpDisplay, aDrawable, pVisFormat, - nValueMask, pRenderAttr ); -#endif } inline void XRenderPeer::ChangePicture( Picture aPicture, unsigned long nValueMask, const XRenderPictureAttributes* pRenderAttr ) const { -#ifdef XRENDER_LINK XRenderChangePicture( mpDisplay, aPicture, nValueMask, pRenderAttr ); -#else - (*mpXRenderChangePicture)( mpDisplay, aPicture, nValueMask, pRenderAttr ); -#endif } inline void XRenderPeer::SetPictureClipRegion( Picture aPicture, XLIB_Region aXlibRegion ) const { -#ifdef XRENDER_LINK XRenderSetPictureClipRegion( mpDisplay, aPicture, aXlibRegion ); -#else - (*mpXRenderSetPictureClipRegion)( mpDisplay, aPicture, aXlibRegion ); -#endif } inline void XRenderPeer::CompositePicture( int nXRenderOp, @@ -222,52 +158,30 @@ inline void XRenderPeer::CompositePicture( int nXRenderOp, int nSrcX, int nSrcY, int nMaskX, int nMaskY, int nDstX, int nDstY, unsigned nWidth, unsigned nHeight ) const { -#ifdef XRENDER_LINK XRenderComposite( mpDisplay, nXRenderOp, aSrcPic, aMaskPic, aDstPic, nSrcX, nSrcY, nMaskX, nMaskY, nDstX, nDstY, nWidth, nHeight ); -#else - (*mpXRenderComposite)( mpDisplay, nXRenderOp, aSrcPic, aMaskPic, aDstPic, - nSrcX, nSrcY, nMaskX, nMaskY, nDstX, nDstY, nWidth, nHeight ); -#endif } inline void XRenderPeer::FreePicture( Picture aPicture ) const { -#ifdef XRENDER_LINK XRenderFreePicture( mpDisplay, aPicture ); -#else - (*mpXRenderFreePicture)( mpDisplay, aPicture ); -#endif } inline GlyphSet XRenderPeer::CreateGlyphSet() const { -#ifdef XRENDER_LINK return XRenderCreateGlyphSet( mpDisplay, mpStandardFormatA8 ); -#else - return (*mpXRenderCreateGlyphSet)( mpDisplay, mpStandardFormatA8 ); -#endif } inline void XRenderPeer::FreeGlyphSet( GlyphSet aGS ) const { -#ifdef XRENDER_LINK XRenderFreeGlyphSet( mpDisplay, aGS ); -#else - (*mpXRenderFreeGlyphSet)( mpDisplay, aGS ); -#endif } inline void XRenderPeer::AddGlyph( GlyphSet aGS, Glyph nGlyphId, const XGlyphInfo& rGI, const char* pBuffer, int nBufSize ) const { -#ifdef XRENDER_LINK XRenderAddGlyphs( mpDisplay, aGS, &nGlyphId, &rGI, 1, const_cast<char*>(pBuffer), nBufSize ); -#else - (*mpXRenderAddGlyphs)( mpDisplay, aGS, &nGlyphId, &rGI, 1, - const_cast<char*>(pBuffer), nBufSize ); -#endif } inline void XRenderPeer::FreeGlyph( GlyphSet aGS, Glyph nGlyphId ) const @@ -284,23 +198,14 @@ inline void XRenderPeer::CompositeString32( Picture aSrc, Picture aDst, GlyphSet aGlyphSet, int nDstX, int nDstY, const unsigned* pText, int nTextLen ) const { -#ifdef XRENDER_LINK XRenderCompositeString32( mpDisplay, PictOpOver, aSrc, aDst, NULL, aGlyphSet, 0, 0, nDstX, nDstY, pText, nTextLen ); -#else - (*mpXRenderCompositeString32)( mpDisplay, PictOpOver, aSrc, aDst, NULL, - aGlyphSet, 0, 0, nDstX, nDstY, pText, nTextLen ); -#endif } inline void XRenderPeer::FillRectangle( int a, Picture b, const XRenderColor* c, int d, int e, unsigned int f, unsigned int g) const { -#ifdef XRENDER_LINK XRenderFillRectangle( mpDisplay, a, b, c, d, e, f, g ); -#else - (*mpXRenderFillRectangle)( mpDisplay, a, b, c, d, e, f, g ); -#endif } @@ -308,26 +213,14 @@ inline void XRenderPeer::CompositeTrapezoids( int nOp, Picture aSrc, Picture aDst, const XRenderPictFormat* pXRPF, int nXSrc, int nYSrc, const XTrapezoid* pXT, int nCount ) const { -#ifdef XRENDER_LINK XRenderCompositeTrapezoids( mpDisplay, nOp, aSrc, aDst, pXRPF, nXSrc, nYSrc, pXT, nCount ); -#else - (*mpXRenderCompositeTrapezoids)( mpDisplay, nOp, aSrc, aDst, pXRPF, - nXSrc, nYSrc, pXT, nCount ); -#endif } -inline bool XRenderPeer::AddTraps( Picture aDst, int nXOfs, int nYOfs, +inline void XRenderPeer::AddTraps( Picture aDst, int nXOfs, int nYOfs, const _XTrap* pTraps, int nCount ) const { -#ifdef XRENDER_LINK XRenderAddTraps( mpDisplay, aDst, nXOfs, nYOfs, pTraps, nCount ); -#else - if( !mpXRenderAddTraps ) - return false; - (*mpXRenderAddTraps)( mpDisplay, aDst, nXOfs, nYOfs, pTraps, nCount ); -#endif - return true; } //===================================================================== |