diff options
author | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2017-02-09 14:05:57 +0100 |
---|---|---|
committer | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2017-04-10 16:09:20 +0200 |
commit | f4c80a78ce0e5648334fc43e5c93a068ed3ec5be (patch) | |
tree | 109fac35d5025730fc3bbce7b135118b233878e5 /nx-X11/programs/Xserver/mi | |
parent | f743f9f743362c891f049a514cdcf3d39546194b (diff) | |
download | nx-libs-f4c80a78ce0e5648334fc43e5c93a068ed3ec5be.tar.gz nx-libs-f4c80a78ce0e5648334fc43e5c93a068ed3ec5be.tar.bz2 nx-libs-f4c80a78ce0e5648334fc43e5c93a068ed3ec5be.zip |
Xserver: Support building against libXfont2 (v2) API and old libXfont(1) API alike.
Fixes ArcticaProject/nx-libs#296.
Inspired by the following X.org commit. Other than X.org, we will continue
support for building nx-libs against libXfont1 for a while.
commit 05a793f5b3c40747d5a92a076def7f4fb673c7e7
Author: Keith Packard <keithp@keithp.com>
Date: Tue Sep 1 18:50:55 2015 -0700
dix: Switch to the libXfont2 API (v2)
This new libXfont API eliminates exposing internal X server symbols to
the font library, replacing those with a struct full of the entire API
needed to use that library.
v2: Use libXfont2 instead of libXfont_2
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Diffstat (limited to 'nx-X11/programs/Xserver/mi')
-rw-r--r-- | nx-X11/programs/Xserver/mi/Imakefile | 3 | ||||
-rw-r--r-- | nx-X11/programs/Xserver/mi/miglblt.c | 12 |
2 files changed, 14 insertions, 1 deletions
diff --git a/nx-X11/programs/Xserver/mi/Imakefile b/nx-X11/programs/Xserver/mi/Imakefile index def061051..de7015c73 100644 --- a/nx-X11/programs/Xserver/mi/Imakefile +++ b/nx-X11/programs/Xserver/mi/Imakefile @@ -179,6 +179,9 @@ NormalLibraryTarget(cbrt,cbrt.o) SpecialCObjectRule(miinitext,$(ICONFIGFILES),$(EXT_DEFINES)) SpecialCObjectRule(miscrinit,$(ICONFIGFILES),$(EXT_DEFINES)) +SpecialCObjectRule(miglblt,$(ICONFIGFILES),$(FONT_DEFINES)) +SpecialCObjectRule(mipolytext,$(ICONFIGFILES),$(FONT_DEFINES)) + #ifdef ItsyCompilerBug SpecialCObjectRule(mipolycon,$(_NOOP_),-O0) #endif diff --git a/nx-X11/programs/Xserver/mi/miglblt.c b/nx-X11/programs/Xserver/mi/miglblt.c index e317541a4..60c28fad4 100644 --- a/nx-X11/programs/Xserver/mi/miglblt.c +++ b/nx-X11/programs/Xserver/mi/miglblt.c @@ -55,6 +55,11 @@ SOFTWARE. #include <nx-X11/Xproto.h> #include "misc.h" #include <X11/fonts/fontstruct.h> +#ifdef HAS_XFONT2 +# include <X11/fonts/libxfont2.h> +#else +# include <X11/fonts/fontutil.h> +#endif /* HAS_XFONT2 */ #include "dixfontstr.h" #include "gcstruct.h" #include "windowstr.h" @@ -203,13 +208,18 @@ miImageGlyphBlt(pDrawable, pGC, x, y, nglyph, ppci, pglyphBase) CharInfoPtr *ppci; /* array of character info */ void *pglyphBase; /* start of array of glyphs */ { - ExtentInfoRec info; /* used by QueryGlyphExtents() */ + ExtentInfoRec info; /* used by xfont2_query_glyph_extents (libXfont2) + resp. QueryGlyphExtents() (libXfont1) */ XID gcvals[3]; int oldAlu, oldFS; unsigned long oldFG; xRectangle backrect; +#ifdef HAS_XFONT2 + xfont2_query_glyph_extents(pGC->font, ppci, (unsigned long) nglyph, &info); +#else QueryGlyphExtents(pGC->font, ppci, (unsigned long)nglyph, &info); +#endif /* HAS_XFONT2 */ if (info.overallWidth >= 0) { |