aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/programs/Xserver/include
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2017-02-09 14:05:57 +0100
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2017-04-10 16:09:20 +0200
commitf4c80a78ce0e5648334fc43e5c93a068ed3ec5be (patch)
tree109fac35d5025730fc3bbce7b135118b233878e5 /nx-X11/programs/Xserver/include
parentf743f9f743362c891f049a514cdcf3d39546194b (diff)
downloadnx-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/include')
-rw-r--r--nx-X11/programs/Xserver/include/dixfont.h36
-rw-r--r--nx-X11/programs/Xserver/include/dixfontstr.h3
2 files changed, 31 insertions, 8 deletions
diff --git a/nx-X11/programs/Xserver/include/dixfont.h b/nx-X11/programs/Xserver/include/dixfont.h
index 004acefbf..21d917fe5 100644
--- a/nx-X11/programs/Xserver/include/dixfont.h
+++ b/nx-X11/programs/Xserver/include/dixfont.h
@@ -29,11 +29,21 @@ SOFTWARE.
#include "closure.h"
#include <X11/fonts/fontstruct.h>
+#ifdef HAS_XFONT2
+# include <X11/fonts/libxfont2.h>
+#else
+# include <X11/fonts/fontutil.h>
+#endif /* HAS XFONT2 */
+
#define NullDIXFontProp ((DIXFontPropPtr)0)
typedef struct _DIXFontProp *DIXFontPropPtr;
+#ifdef HAS_XFONT2
+xfont2_fpe_funcs_rec const **fpe_functions;
+#else
extern FPEFunctions *fpe_functions;
+#endif /* HAS_XFONT2 */
extern int FontToXError(int /*err*/);
@@ -124,14 +134,25 @@ extern void InitFonts(void);
extern void FreeFonts(void);
+#ifdef HAS_XFONT2
+extern void GetGlyphs(FontPtr /*font */ ,
+ unsigned long /*count */ ,
+ unsigned char * /*chars */ ,
+ FontEncoding /*fontEncoding */ ,
+ unsigned long * /*glyphcount */ ,
+ CharInfoPtr * /*glyphs */ );
+#else
extern FontPtr find_old_font(XID /*id*/);
-extern void GetGlyphs(FontPtr /*font*/,
- unsigned long /*count*/,
- unsigned char * /*chars*/,
- FontEncoding /*fontEncoding*/,
- unsigned long * /*glyphcount*/,
- CharInfoPtr * /*glyphs*/);
+#define GetGlyphs dixGetGlyphs
+extern void dixGetGlyphs(FontPtr /*font*/,
+ unsigned long /*count*/,
+ unsigned char * /*chars*/,
+ FontEncoding /*fontEncoding*/,
+ unsigned long * /*glyphcount*/,
+ CharInfoPtr * /*glyphs*/);
+
+extern void register_fpe_functions(void);
extern void QueryGlyphExtents(FontPtr /*pFont*/,
CharInfoPtr * /*charinfo*/,
@@ -142,6 +163,7 @@ extern Bool QueryTextExtents(FontPtr /*pFont*/,
unsigned long /*count*/,
unsigned char * /*chars*/,
ExtentInfoPtr /*info*/);
+#endif /* HAS_XFONT2 */
extern Bool ParseGlyphCachingMode(char * /*str*/);
@@ -149,6 +171,4 @@ extern void InitGlyphCaching(void);
extern void SetGlyphCachingMode(int /*newmode*/);
-extern void register_fpe_functions(void);
-
#endif /* DIXFONT_H */
diff --git a/nx-X11/programs/Xserver/include/dixfontstr.h b/nx-X11/programs/Xserver/include/dixfontstr.h
index a2cb3639c..3e76f9e6a 100644
--- a/nx-X11/programs/Xserver/include/dixfontstr.h
+++ b/nx-X11/programs/Xserver/include/dixfontstr.h
@@ -27,6 +27,9 @@ SOFTWARE.
#include "servermd.h"
#include "dixfont.h"
#include <X11/fonts/fontstruct.h>
+#ifdef HAS_XFONT2
+# include <X11/fonts/libxfont2.h>
+#endif /* HAS_XFONT2 */
#include "closure.h"
#include <nx-X11/Xproto.h> /* for xQueryFontReply */