Apply extremely trivial free() patch to WindowList.
[fvwm.git] / libs / Fft.h
blobb1dbb7a0b83dafeff0074ab7c4ea9f7287f9a6e5
1 /* -*-c-*- */
3 #ifndef FFT_H
4 #define FFT_H
6 /*
7 * Note: This "warper" is far from being complete! if you need something
8 * in Xft or Xft + fontconfig (Fc for short) (aka Xft2) not already defined
9 * you must add the corresponding Fft* functions/types (2 or 3 times).
13 /* ---------------------------- included header files ---------------------- */
15 /* no compat to avoid problems in the future */
16 #define _XFT_NO_COMPAT_ 1
18 #ifdef HAVE_XFT
19 #define Picture XRenderPicture
20 #include <X11/Xft/Xft.h>
21 #undef Picture
22 #endif
24 #include "FRender.h"
26 /* ---------------------------- global definitions ------------------------- */
28 #ifdef HAVE_XFT
30 #define FftSupport 1
32 #ifdef HAVE_XFT_UTF8
33 #define FftUtf8Support 1
34 #else
35 #define FftUtf8Support 0
36 #endif
38 #ifdef HAVE_XFT2
39 #define FftSupportUseXft2 1
40 #else
41 #define FftSupportUseXft2 0
42 #endif
44 #else
46 #define FftSupport 0
47 #define FftUtf8Support 0
48 #define FftSupportUseXft2 0
50 #endif
52 /* ---------------------------- global macros ------------------------------ */
54 /* ---------------------------- type definitions --------------------------- */
56 #if FftSupport
58 /* Fc (fontconfig) stuff */
59 #if FftSupportUseXft2
61 typedef FcChar8 FftChar8;
62 typedef FcChar16 FftChar16;
63 typedef FcChar32 FftChar32;
64 typedef FcBool FftBool;
65 typedef FcType FftType;
66 typedef FcMatrix FftMatrix;
67 typedef FcValue FftValue;
68 typedef FcPattern FftPattern;
69 typedef FcFontSet FftFontSet;
70 typedef FcObjectSet FftObjectSet;
71 #if 1
72 /* FftResult must be FcResult for gcc 3.4 not to warn of incompatible
73 * pointer type
75 typedef FcResult FftResult;
77 #define FftResultMatch FcResultMatch
78 #define FftResultNoMatch FcResultNoMatch
79 #define FftResultTypeMismatch FcResultTypeMismatch
80 #define FftFftResultNoId FcResultNoId
82 #else
83 typedef enum _FftResult
85 FftResultMatch = FcResultMatch,
86 FftResultNoMatch = FcResultNoMatch,
87 FftResultTypeMismatch = FcResultTypeMismatch,
88 FftFftResultNoId = FcResultNoId
89 } FftResult;
90 #endif
91 /* XftValue and are different in Xft+Fc and Xft 1 */
92 typedef struct _Xft1Value
94 FftType type;
95 union {
96 char *s;
97 int i;
98 Bool b;
99 double d;
100 FftMatrix *m;
101 } u;
102 } Xft1Value;
103 typedef Xft1Value Fft1Value;
104 /* no value list in Xft+Fc */
105 typedef struct _XftValueList
107 struct _XftValueList *next;
108 Fft1Value value;
109 } XftValueList;
110 typedef XftValueList FftValueList;
111 /* no XftPatternElt in Xft+Fc */
112 typedef struct
114 const char *object;
115 FftValueList *values;
116 } XftPatternElt;
117 typedef XftPatternElt FftPatternElt;
118 /* XftPattern and FcPattern are different */
119 typedef struct _Xft1Pattern
121 int num;
122 int size;
123 FftPatternElt *elts;
124 } Fft1Pattern;
126 #else /* !FftSupportUseXft2 */
128 typedef XftChar8 FftChar8;
129 typedef XftChar16 FftChar16;
130 typedef XftChar32 FftChar32;
131 typedef XftType FftType;
132 typedef XftMatrix FftMatrix;
133 typedef XftPatternElt FftPatternElt;
134 typedef XftFontSet FftFontSet;
135 typedef XftObjectSet FftObjectSet;
136 typedef XftValue FftValue;
137 typedef XftPattern FftPattern;
138 typedef XftValue Fft1Value;
139 typedef XftPattern Fft1Pattern;
141 typedef enum _FftResult
143 FftResultMatch = XftResultMatch,
144 FftResultNoMatch = XftResultNoMatch,
145 FftResultTypeMismatch = XftResultTypeMismatch,
146 FftFftResultNoId = XftResultNoId
147 } FftResult;
149 #endif /* FftSupportUseXft2 */
151 /* Xft stuff (common) */
152 typedef XftDraw FftDraw;
153 typedef XftFont FftFont;
154 typedef XftColor FftColor;
156 #if FftSupportUseXft2
157 /* XftFont are != in Xft+Fc and Xft */
158 typedef struct _Fft1Font
160 int ascent;
161 int descent;
162 int height;
163 int max_advance_width;
164 Bool core;
165 Fft1Pattern *pattern;
166 union {
167 struct {
168 XFontStruct *font;
169 } core;
170 struct {
171 void *font;
172 } ft;
173 } u;
174 } Fft1Font;
175 #else
176 typedef XftFont Fft1Font;
177 #endif
179 #else
181 typedef unsigned char FftChar8;
182 typedef unsigned short FftChar16;
183 typedef unsigned int FftChar32;
184 typedef int FftType;
185 typedef struct
187 double xx, xy, yx, yy;
188 } FftMatrix;
189 typedef enum _FftResult {
190 FftResultMatch = 0,
191 FftResultNoMatch = 1,
192 FftResultTypeMismatch = 2,
193 FftFftResultNoId = 3
194 } FftResult;
195 typedef struct
197 FftType type;
198 union
200 char *s;
201 int i;
202 Bool b;
203 double d;
204 } u;
205 } XftValue;
206 typedef XftValue FftValue;
207 typedef struct _XftValueList
209 struct _XftValueList *next;
210 FftValue value;
211 } XftValueList;
212 typedef XftValueList FftValueList;
213 typedef struct
215 const char *object;
216 FftValueList *values;
217 } XftPatternElt;
218 typedef XftPatternElt FftPatternElt;
219 typedef struct
221 int num;
222 int size;
223 FftPatternElt *elts;
224 } XftPattern;
225 typedef XftPattern FftPattern;
226 typedef void FftFontSet;
227 typedef void FftFontVoid;
228 typedef void FftDraw;
229 typedef struct
231 int ascent;
232 int descent;
233 int height;
234 int max_advance_width;
235 Bool core;
236 FftPattern *pattern;
237 union
239 struct
241 XFontStruct *font;
242 } core;
243 struct
245 void *font;
246 } ft;
247 } u;
248 } XftFont;
249 typedef XftFont FftFont;
250 typedef struct
252 unsigned long pixel;
253 FRenderColor color;
254 } XftColor;
255 typedef XftColor FftColor;
256 typedef void FftObjectSet;
257 /* XftValue are different in Xft+Fc and Xft 1 */
258 typedef struct _Xft1Value
260 FftType type;
261 union
263 char *s;
264 int i;
265 Bool b;
266 double d;
267 FftMatrix *m;
268 } u;
269 } Xft1Value;
270 typedef Xft1Value Fft1Value;
271 /* XftPattern and XftFont are different in Xft+Fc and Xft 1 */
272 typedef struct _Xft1Pattern
274 int num;
275 int size;
276 FftPatternElt *elts;
277 } Fft1Pattern;
279 typedef struct _Fft1Font
281 int ascent;
282 int descent;
283 int height;
284 int max_advance_width;
285 Bool core;
286 Fft1Pattern *pattern;
287 union
289 struct
291 XFontStruct *font;
292 } core;
293 struct
295 void *font;
296 } ft;
297 } u;
298 } Fft1Font;
299 #endif
303 * Fvwm Xft font structure
306 typedef struct
308 FftFont *fftfont;
309 FftFont *fftfont_rotated_90;
310 FftFont *fftfont_rotated_180;
311 FftFont *fftfont_rotated_270;
312 char *encoding;
313 char *str_encoding;
314 } FftFontType;
316 /* ---------------------------- exported variables (globals) --------------- */
318 /* ---------------------------- interface functions ------------------------ */
320 void FftPDumyFunc(void);
322 /* ---------------------------- global definitions ------------------------- */
324 #if FftSupport
326 /* Fc stuff */
327 #if FftSupportUseXft2
328 #define FFT_FAMILY FC_FAMILY
329 #define FFT_STYLE FC_STYLE
330 #define FFT_SLANT FC_SLANT
331 #define FFT_WEIGHT FC_WEIGHT
332 #define FFT_SIZE FC_SIZE
333 #define FFT_PIXEL_SIZE FC_PIXEL_SIZE
334 #define FFT_SPACING FC_SPACING
335 #define FFT_FOUNDRY FC_FOUNDRY
336 #define FFT_CORE FC_CORE
337 #define FFT_ANTIALIAS FC_ANTIALIAS
338 #define FFT_XLFD FC_XLFD
339 #define FFT_FILE FC_FILE
340 #define FFT_INDEX FC_INDEX
341 #define FFT_RASTERIZER FC_RASTERIZER
342 #define FFT_OUTLINE FC_OUTLINE
343 #define FFT_SCALABLE FC_SCALABLE
344 #define FFT_RGBA FC_RGBA
345 #define FFT_SCALE FC_SCALE
346 #define FFT_RENDER FC_RENDER
347 #define FFT_CHAR_WIDTH FC_CHAR_WIDTH
348 #define FFT_CHAR_HEIGHT FC_CHAR_HEIGHT
349 #define FFT_MATRIX FC_MATRIX
350 #define FFT_WEIGHT_LIGHT FC_WEIGHT_LIGHT
351 #define FFT_WEIGHT_MEDIUM FC_WEIGHT_MEDIUM
352 #define FFT_WEIGHT_DEMIBOLD FC_WEIGHT_DEMIBOLD
353 #define FFT_WEIGHT_BOLD FC_WEIGHT_BOLD
354 #define FFT_WEIGHT_BLACK FC_WEIGHT_BLACK
355 #define FFT_SLANT_ROMAN FC_SLANT_ROMAN
356 #define FFT_SLANT_ITALIC FC_SLANT_ITALIC
357 #define FFT_SLANT_OBLIQUE FC_SLANT_OBLIQUE
358 #define FFT_PROPORTIONAL FC_PROPORTIONAL
359 #define FFT_MONO FC_MONO
360 #define FFT_CHARCELL FC_CHARCELL
361 #define FFT_RGBA_NONE FC_RGBA_NONE
362 #define FFT_RGBA_RGB FC_RGBA_RGB
363 #define FFT_RGBA_BGR FC_RGBA_BGR
365 /* new in Fc */
366 #define FFT_HINTING FC_HINTING
367 #define FFT_VERTICAL_LAYOUT FC_VERTICAL_LAYOUT
368 #define FFT_AUTOHINT FC_AUTOHINT
369 #define FFT_GLOBAL_ADVANCE FC_GLOBAL_ADVANCE
370 #define FFT_SOURCE FC_SOURCE
371 #define FFT_CHARSET FC_CHARSET
372 #define FFT_LANG FC_LANG
373 #define FFT_DIR_CACHE_FILE FC_DIR_CACHE_FILE
374 #define FFT_USER_CACHE_FILE FC_USER_CACHE_FILE
375 /* skip all the FC_LANG_* OS/2 CodePageRange bits */
377 /* not in Fc */
378 #define FFT_ENCODING "encoding"
380 #else /* !FftSupportUseXft2 */
382 #define FFT_FAMILY XFT_FAMILY
383 #define FFT_STYLE XFT_STYLE
384 #define FFT_SLANT XFT_SLANT
385 #define FFT_WEIGHT XFT_WEIGHT
386 #define FFT_SIZE XFT_SIZE
387 #define FFT_PIXEL_SIZE XFT_PIXEL_SIZE
388 #define FFT_ENCODING XFT_ENCODING
389 #define FFT_SPACING XFT_SPACING
390 #define FFT_FOUNDRY XFT_FOUNDRY
391 #define FFT_CORE XFT_CORE
392 #define FFT_ANTIALIAS XFT_ANTIALIAS
393 #define FFT_XLFD XFT_XLFD
394 #define FFT_FILE XFT_FILE
395 #define FFT_INDEX XFT_INDEX
396 #define FFT_RASTERIZER XFT_RASTERIZER
397 #define FFT_OUTLINE XFT_OUTLINE
398 #define FFT_SCALABLE XFT_SCALABLE
399 #define FFT_RGBA XFT_RGBA
400 #define FFT_SCALE XFT_SCALE
401 #define FFT_RENDER XFT_RENDER
402 #define FFT_CHAR_WIDTH XFT_CHAR_WIDTH
403 #define FFT_CHAR_HEIGHT XFT_CHAR_HEIGHT
404 #define FFT_MATRIX XFT_MATRIX
405 #define FFT_WEIGHT_LIGHT XFT_WEIGHT_LIGHT
406 #define FFT_WEIGHT_MEDIUM XFT_WEIGHT_MEDIUM
407 #define FFT_WEIGHT_DEMIBOLD XFT_WEIGHT_DEMIBOLD
408 #define FFT_WEIGHT_BOLD XFT_WEIGHT_BOLD
409 #define FFT_WEIGHT_BLACK XFT_WEIGHT_BLACK
410 #define FFT_SLANT_ROMAN XFT_SLANT_ROMAN
411 #define FFT_SLANT_ITALIC XFT_SLANT_ITALIC
412 #define FFT_SLANT_OBLIQUE XFT_SLANT_OBLIQUE
413 #define FFT_PROPORTIONAL XFT_PROPORTIONAL
414 #define FFT_MONO XFT_MONO
415 #define FFT_CHARCELL XFT_CHARCELL
416 #define FFT_RGBA_NONE XFT_RGBA_NONE
417 #define FFT_RGBA_RGB XFT_RGBA_RGB
418 #define FFT_RGBA_BGR XFT_RGBA_BGR
419 #define FFT_RGBA_VRGB XFT_RGBA_VRGB
420 #define FFT_RGBA_VBGR XFT_RGBA_VBGR
422 /* new in Fc */
423 #define FFT_HINTING ""
424 #define FFT_VERTICAL_LAYOUT ""
425 #define FFT_AUTOHINT ""
426 #define FFT_GLOBAL_ADVANCE ""
427 #define FFT_SOURCE ""
428 #define FFT_CHARSET ""
429 #define FFT_LANG ""
430 #define FFT_DIR_CACHE_FILE ""
431 #define FFT_USER_CACHE_FILE ""
432 /* skip all the FC_LANG_* OS/2 CodePageRange bits */
434 /* not in Fc */
435 #define FFT_ENCODING XFT_ENCODING
437 #endif /* !FftSupportUseXft2 */
439 /* Fc stuff */
440 #if FftSupportUseXft2
441 #define FftConfigSubstitute(a) FcConfigSubstitute(a)
442 #define FftValuePrint(a) FcValuePrint(a)
443 #define FftPatternPrint(a) FcPatternPrint(a)
444 #define FftFontSetPrint(a) FcFontSetPrint(a)
445 #define FftGlyphExists(a,b,c) FcGlyphExists(a,b,c)
446 #define FftObjectSetCreate() FcObjectSetCreate()
447 #define FftObjectSetAdd(a,b) FcObjectSetAdd(a,b)
448 #define FftObjectSetDestroy(a) FcObjectSetDestroy(a)
449 #define FftObjectSetVaBuild(a,b) FcObjectSetVaBuild(a,b)
450 #define FftListFontsPatternObjects(a,b,c,d) FcListFontsPatternObjects(a,b,c,d)
451 #define FftFontSetMatch(a,b,c,d) FcFontSetMatch(a,b,c,d)
452 #define FftPatternCreate() FcPatternCreate()
453 #define FftPatternDuplicate(a) FcPatternDuplicate(a)
454 #define FftValueDestroy(a) FcValueDestroy(a)
455 #define FftValueListDestroy(a) FcValueListDestroy(a)
456 #define FftPatternDestroy(a) FcPatternDestroy(a)
457 #define FftPatternFind(a,b,c) FcPatternFind(a,b,c)
458 #define FftPatternAdd(a,b,c,d) FcPatternAdd(a,b,c,d)
459 #define FftPatternGet(a,b,c,d) FcPatternGet(a,b,c,d)
460 #define FftPatternDel(a,b) FcPatternDel(a,b)
461 #define FftPatternAddInteger(a,b,c) FcPatternAddInteger(a,b,c)
462 #define FftPatternAddDouble(a,b,c) FcPatternAddDouble(a,b,c)
463 #define FftPatternAddString(a,b,c) FcPatternAddString(a,b,c)
464 #define FftPatternAddBool(a,b,c) FcPatternAddBool(a,b,c)
465 #define FftPatternAddMatrix(a,b,c) FcPatternAddMatrix(a,b,c)
466 #define FftPatternGetInteger(a,b,c,d) FcPatternGetInteger(a,b,c,d)
467 #define FftPatternGetDouble(a,b,c,d) FcPatternGetDouble(a,b,c,d)
468 #define FftPatternGetString(a,b,c,d) FcPatternGetString(a,b,c,d)
469 #define FftPatternGetBool(a,b,c,d) FcPatternGetBool(a,b,c,d)
470 #define FftPatternGetMatrix(a,b,c,d) FcPatternGetMatrix(a,b,c,d)
471 #define FftPatternVaBuild(a,b) FcPatternVaBuild(a,b)
472 #else /* !FftSupportUseXft2 */
473 #define FftConfigSubstitute(a) XftConfigSubstitute(a)
474 #define FftValuePrint(a) XftValuePrint(a)
475 #define FftPatternPrint(a) XftPatternPrint(a)
476 #define FftFontSetPrint(a) XftFontSetPrint(a)
477 #define FftGlyphExists(a,b,c) XftGlyphExists(a,b,c)
478 #define FftObjectSetCreate() XftObjectSetCreate()
479 #define FftObjectSetAdd(a,b) XftObjectSetAdd(a,b)
480 #define FftObjectSetDestroy(a) XftObjectSetDestroy(a)
481 #define FftObjectSetVaBuild(a,b) XftObjectSetVaBuild(a,b)
482 #define FftListFontsPatternObjects(a,b,c,d) XftListFontsPatternObjects(a,b,c,d)
483 #define FftFontSetMatch(a,b,c,d) XftFontSetMatch(a,b,c,d)
484 #define FftPatternCreate() XftPatternCreate()
485 #define FftPatternDuplicate(a) XftPatternDuplicate(a)
486 #define FftValueDestroy(a) XftValueDestroy(a)
487 #define FftValueListDestroy(a) XftValueListDestroy(a)
488 #define FftPatternDestroy(a) XftPatternDestroy(a)
489 #define FftPatternFind(a,b,c) XftPatternFind(a,b,c)
490 #define FftPatternAdd(a,b,c,d) XftPatternAdd(a,b,c,d)
491 #define FftPatternGet(a,b,c,d) XftPatternGet(a,b,c,d)
492 #define FftPatternDel(a,b) XftPatternDel(a,b)
493 #define FftPatternAddInteger(a,b,c) XftPatternAddInteger(a,b,c)
494 #define FftPatternAddDouble(a,b,c) XftPatternAddDouble(a,b,c)
495 #define FftPatternAddString(a,b,c) XftPatternAddString(a,b,c)
496 #define FftPatternAddBool(a,b,c) XftPatternAddBool(a,b,c)
497 #define FftPatternAddMatrix(a,b,c) XftPatternAddMatrix(a,b,c)
498 #define FftPatternGetInteger(a,b,c,d) XftPatternGetInteger(a,b,c,d)
499 #define FftPatternGetDouble(a,b,c,d) XftPatternGetDouble(a,b,c,d)
500 #define FftPatternGetString(a,b,c,d) XftPatternGetString(a,b,c,d)
501 #define FftPatternGetBool(a,b,c,d) XftPatternGetBool(a,b,c,d)
502 #define FftPatternGetMatrix(a,b,c,d) XftPatternGetMatrix(a,b,c,d)
503 #define FftPatternVaBuild(a,b) XftPatternVaBuild(a,b)
504 #endif /* !XftSupportUseXft2 */
506 /* Xft stuff */
507 #define FftColorAllocName(a,b,c,d,e) XftColorAllocName(a,b,c,d,e)
508 #define FftColorAllocValue(a,b,c,d,e) XftColorAllocValue(a,b,c,d,e)
509 #define FftColorFree(a,b,c,d) XftColorFree(a,b,c,d)
510 #define FftDefaultHasRender(a) XftDefaultHasRender(a)
511 #define FftDefaultSet(a,b) XftDefaultSet(a,b)
512 #define FftDefaultSubstitute(a,b,c) XftDefaultSubstitute(a,b,c)
513 #define FftDrawCreate(a,b,c,d) XftDrawCreate(a,b,c,d)
514 #define FftDrawCreateBitmap(a,b) XftDrawCreateBitmap(a,b)
515 #define FftDrawChange(a,b) XftDrawChange(a,b)
516 #define FftDrawDestroy(a) XftDrawDestroy(a)
517 #define FftDrawString8(a,b,c,d,e,f,g) XftDrawString8(a,b,c,d,e,f,g)
518 #define FftDrawString16(a,b,c,d,e,f,g) XftDrawString16(a,b,c,d,e,f,g)
519 #define FftDrawString32(a,b,c,d,e,f,g) XftDrawString32(a,b,c,d,e,f,g)
520 #define FftPDrawString8 XftDrawString8
521 #define FftPDrawString16 XftDrawString16
522 #define FftPDrawString32 XftDrawString32
523 #define FftDrawRect(a,b,c,d,e,f) XftDrawRect(a,b,c,d,e,f)
524 #define FftDrawSetClip(a,b) XftDrawSetClip(a,b)
525 #define FftTextExtents8(a,b,c,d,e) XftTextExtents8(a,b,c,d,e)
526 #define FftTextExtents16(a,b,c,d,e) XftTextExtents16(a,b,c,d,e)
527 #define FftTextExtents32(a,b,c,d,e) XftTextExtents32(a,b,c,d,e)
528 #define FftFontMatch(a,b,c,d) XftFontMatch(a,b,c,d)
529 #define FftFontOpenPattern(a,b) XftFontOpenPattern(a,b)
530 #define FftFontOpenName(a,b,c) XftFontOpenName(a,b,c)
531 #define FftFontOpenXlfd(a,b,c) XftFontOpenXlfd(a,b,c)
532 #define FftFontClose(a,b) XftFontClose(a,b)
533 #define FftFontSetCreate() XftFontSetCreate()
534 #define FftFontSetAdd(a,b) XftFontSetAdd(a,b)
535 #define FftInit(a) XftInit(a)
536 #define FftListFontSets(a,b,c,d) XftListFontSets(a,b,c,d)
537 #define FftNameParse(a) XftNameParse(a)
538 #define FftXlfdParse(a,b,c) XftXlfdParse(a,b,c)
539 #define FftCoreOpen(a,b) XftCoreOpen(a,b)
541 /* utf8 functions */
542 #if FftUtf8Support
543 #define FftDrawStringUtf8(a,b,c,d,e,f,g) XftDrawStringUtf8(a,b,c,d,e,f,g)
544 #define FftPDrawStringUtf8 XftDrawStringUtf8
545 #define FftTextExtentsUtf8(a,b,c,d,e) XftTextExtentsUtf8(a,b,c,d,e)
546 #else
547 #define FftDrawStringUtf8(a,b,c,d,e,f,g)
548 #define FftPDrawStringUtf8 FftPDumyFunc
549 #define FftTextExtentsUtf8(a,b,c,d,e)
550 #endif
552 #else /* !FftSupport */
554 #define FFT_FAMILY ""
555 #define FFT_STYLE ""
556 #define FFT_SLANT ""
557 #define FFT_WEIGHT ""
558 #define FFT_SIZE ""
559 #define FFT_PIXEL_SIZE ""
560 #define FFT_SPACING ""
561 #define FFT_FOUNDRY ""
562 #define FFT_CORE ""
563 #define FFT_ANTIALIAS ""
564 #define FFT_XLFD ""
565 #define FFT_FILE ""
566 #define FFT_INDEX ""
567 #define FFT_RASTERIZER ""
568 #define FFT_OUTLINE ""
569 #define FFT_SCALABLE ""
570 #define FFT_RGBA ""
571 #define FFT_SCALE ""
572 #define FFT_RENDER ""
573 #define FFT_CHAR_WIDTH ""
574 #define FFT_CHAR_HEIGHT ""
575 #define FFT_MATRIX ""
576 #define FFT_WEIGHT_LIGHT 0
577 #define FFT_WEIGHT_MEDIUM 0
578 #define FFT_WEIGHT_DEMIBOLD 0
579 #define FFT_WEIGHT_BOLD 0
580 #define FFT_WEIGHT_BLACK 0
581 #define FFT_SLANT_ROMAN 0
582 #define FFT_SLANT_ITALIC 0
583 #define FFT_SLANT_OBLIQUE 0
584 #define FFT_PROPORTIONAL 0
585 #define FFT_MONO 0
586 #define FFT_CHARCELL 0
587 #define FFT_RGBA_NONE 0
588 #define FFT_RGBA_RGB 0
589 #define FFT_RGBA_BGR 0
590 #define FFT_RGBA_VRGB 0
591 #define FFT_RGBA_VBGR 0
592 /* new in Fc */
593 #define FFT_HINTING ""
594 #define FFT_VERTICAL_LAYOUT ""
595 #define FFT_AUTOHINT ""
596 #define FFT_GLOBAL_ADVANCE ""
597 #define FFT_SOURCE ""
598 #define FFT_CHARSET ""
599 #define FFT_LANG ""
600 #define FFT_DIR_CACHE_FILE ""
601 #define FFT_USER_CACHE_FILE ""
602 /* skip all the FC_LANG_* OS/2 CodePageRange bits */
603 /* not in Fc */
604 #define FFT_ENCODING ""
606 /* Fc stuff */
607 #define FftConfigSubstitute(a) False
608 #define FftValuePrint(a)
609 #define FftPatternPrint(a)
610 #define FftFontSetPrint(a)
611 #define FftGlyphExists(a,b,c) False
612 #define FftObjectSetCreate() NULL
613 #define FftObjectSetAdd(a,b) False
614 #define FftObjectSetDestroy(a)
615 #define FftObjectSetVaBuild(a,b) NULL
616 #define FftListFontsPatternObjects(a,b,c,d) NULL
617 #define FftFontSetMatch(a,b,c,d) NULL
618 #define FftNameParse(a) NULL
619 #define FftPatternCreate() NULL
620 #define FftPatternDuplicate(a) NULL
621 #define FftValueDestroy(a)
622 #define FftValueListDestroy(a)
623 #define FftPatternDestroy(a)
624 #define FftPatternFind(a,b,c) NULL
625 #define FftPatternAdd(a,b,c,d) False
626 #define FftPatternGet(a,b,c,d)
627 #define FftPatternDel(a,b) False
628 #define FftPatternAddInteger(a,b,c) False
629 #define FftPatternAddDouble(a,b,c) False
630 #define FftPatternAddString(a,b,c) False
631 #define FftPatternAddBool(a,b,c) False
632 #define FftPatternAddMatrix(a,b,c) False
633 #define FftPatternGetInteger(a,b,c,d) 0
634 #define FftPatternGetDouble(a,b,c,d) 0
635 #define FftPatternGetString(a,b,c,d) 0
636 #define FftPatternGetBool(a,b,c,d) 0
637 #define FftPatternGetMatrix(a,b,c,d) 0
638 #define FftPatternVaBuild(a,b) NULL
640 /* Xft stuff */
641 #define FftColorAllocName(a,b,c,d,e) False
642 #define FftColorAllocValue(a,b,c,d,e) False
643 #define FftColorFree(a,b,c,d)
644 #define FftDefaultHasRender(a) False
645 #define FftDefaultSet(a,b) False
646 #define FftDefaultSubstitute(a,b,c)
647 #define FftDrawCreate(a,b,c,d) NULL
648 #define FftDrawCreateBitmap(a,b) NULL
649 #define FftDrawChange(a,b)
650 #define FftDrawDestroy(a)
651 #define FftDrawString8(a,b,c,d,e,f,g)
652 #define FftDrawString16(a,b,c,d,e,f,g)
653 #define FftDrawString32(a,b,c,d,e,f,g)
654 #define FftPDrawString8 FftPDumyFunc
655 #define FftPDrawString16 FftPDumyFunc
656 #define FftPDrawString32 FftPDumyFunc
657 #define FftDrawRect(a,b,c,d,e,f)
658 #define FftDrawSetClip(a,b) False
659 #define FftTextExtents8(a,b,c,d,e)
660 #define FftTextExtents16(a,b,c,d,e)
661 #define FftTextExtents32(a,b,c,d,e)
662 #define FftFontMatch(a,b,c,d) NULL
663 #define FftFontOpenPattern(a,b) NULL
664 #define FftFontOpenName(a,b,c) NULL
665 #define FftFontOpenXlfd(a,b,c) NULL
666 #define FftFontClose(a,b)
667 #define FftFontSetCreate() NULL
668 #define FftFontSetDestroy(a)
669 #define FftFontSetAdd(a,b) False
670 #define FftInit(a) False
671 #define FftListFontSets(a,b,c,d) NULL
672 #define FftNameParse(a) NULL
673 #define FftXlfdParse(a,b,c) NULL
674 #define FftCoreOpen(a,b) NULL
676 /* utf8 functions */
677 #define FftDrawStringUtf8(a,b,c,d,e,f,g)
678 #define FftPDrawStringUtf8 FftPDumyFunc
679 #define FftTextExtentsUtf8(a,b,c,d,e)
681 #endif
683 #endif /* FFT_H */