XftCompat.h revision c76ae52d
1c76ae52dSmrg/* 2c76ae52dSmrg * $Id: XftCompat.h,v 1.1.1.1 2008/07/30 02:49:11 mrg Exp $ 3c76ae52dSmrg * 4c76ae52dSmrg * Copyright © 2001 Keith Packard 5c76ae52dSmrg * 6c76ae52dSmrg * Permission to use, copy, modify, distribute, and sell this software and its 7c76ae52dSmrg * documentation for any purpose is hereby granted without fee, provided that 8c76ae52dSmrg * the above copyright notice appear in all copies and that both that 9c76ae52dSmrg * copyright notice and this permission notice appear in supporting 10c76ae52dSmrg * documentation, and that the name of Keith Packard not be used in 11c76ae52dSmrg * advertising or publicity pertaining to distribution of the software without 12c76ae52dSmrg * specific, written prior permission. Keith Packard makes no 13c76ae52dSmrg * representations about the suitability of this software for any purpose. It 14c76ae52dSmrg * is provided "as is" without express or implied warranty. 15c76ae52dSmrg * 16c76ae52dSmrg * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 17c76ae52dSmrg * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO 18c76ae52dSmrg * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR 19c76ae52dSmrg * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 20c76ae52dSmrg * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 21c76ae52dSmrg * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 22c76ae52dSmrg * PERFORMANCE OF THIS SOFTWARE. 23c76ae52dSmrg */ 24c76ae52dSmrg 25c76ae52dSmrg#ifndef _XFTCOMPAT_H_ 26c76ae52dSmrg#define _XFTCOMPAT_H_ 27c76ae52dSmrg#include <X11/Xfuncproto.h> 28c76ae52dSmrg 29c76ae52dSmrg/* 30c76ae52dSmrg * Compatibility definitions -- map Fc names to Xft names 31c76ae52dSmrg */ 32c76ae52dSmrg 33c76ae52dSmrgtypedef FcChar8 XftChar8; 34c76ae52dSmrgtypedef FcChar16 XftChar16; 35c76ae52dSmrgtypedef FcChar32 XftChar32; 36c76ae52dSmrg 37c76ae52dSmrg#define XFT_FAMILY FC_FAMILY 38c76ae52dSmrg#define XFT_STYLE FC_STYLE 39c76ae52dSmrg#define XFT_SLANT FC_SLANT 40c76ae52dSmrg#define XFT_WEIGHT FC_WEIGHT 41c76ae52dSmrg#define XFT_SIZE FC_SIZE 42c76ae52dSmrg#define XFT_PIXEL_SIZE FC_PIXEL_SIZE 43c76ae52dSmrg#define XFT_SPACING FC_SPACING 44c76ae52dSmrg#define XFT_FOUNDRY FC_FOUNDRY 45c76ae52dSmrg#define XFT_ANTIALIAS FC_ANTIALIAS 46c76ae52dSmrg#define XFT_FILE FC_FILE 47c76ae52dSmrg#define XFT_INDEX FC_INDEX 48c76ae52dSmrg#define XFT_RASTERIZER FC_RASTERIZER 49c76ae52dSmrg#define XFT_OUTLINE FC_OUTLINE 50c76ae52dSmrg#define XFT_SCALABLE FC_SCALABLE 51c76ae52dSmrg#define XFT_RGBA FC_RGBA 52c76ae52dSmrg 53c76ae52dSmrg/* defaults from resources */ 54c76ae52dSmrg#define XFT_SCALE FC_SCALE 55c76ae52dSmrg#define XFT_MINSPACE FC_MINSPACE 56c76ae52dSmrg#define XFT_DPI FC_DPI 57c76ae52dSmrg 58c76ae52dSmrg/* specific to FreeType rasterizer */ 59c76ae52dSmrg#define XFT_CHAR_WIDTH FC_CHAR_WIDTH 60c76ae52dSmrg#define XFT_CHAR_HEIGHT FC_CHAR_HEIGHT 61c76ae52dSmrg#define XFT_MATRIX FC_MATRIX 62c76ae52dSmrg 63c76ae52dSmrg#define XFT_WEIGHT_LIGHT FC_WEIGHT_LIGHT 64c76ae52dSmrg#define XFT_WEIGHT_MEDIUM FC_WEIGHT_MEDIUM 65c76ae52dSmrg#define XFT_WEIGHT_DEMIBOLD FC_WEIGHT_DEMIBOLD 66c76ae52dSmrg#define XFT_WEIGHT_BOLD FC_WEIGHT_BOLD 67c76ae52dSmrg#define XFT_WEIGHT_BLACK FC_WEIGHT_BLACK 68c76ae52dSmrg 69c76ae52dSmrg#define XFT_SLANT_ROMAN FC_SLANT_ROMAN 70c76ae52dSmrg#define XFT_SLANT_ITALIC FC_SLANT_ITALIC 71c76ae52dSmrg#define XFT_SLANT_OBLIQUE FC_SLANT_OBLIQUE 72c76ae52dSmrg 73c76ae52dSmrg#define XFT_PROPORTIONAL FC_PROPORTIONAL 74c76ae52dSmrg#define XFT_MONO FC_MONO 75c76ae52dSmrg#define XFT_CHARCELL FC_CHARCELL 76c76ae52dSmrg 77c76ae52dSmrg#define XFT_RGBA_UNKNOWN FC_RGBA_UNKNOWN 78c76ae52dSmrg#define XFT_RGBA_RGB FC_RGBA_RGB 79c76ae52dSmrg#define XFT_RGBA_BGR FC_RGBA_BGR 80c76ae52dSmrg#define XFT_RGBA_VRGB FC_RGBA_VRGB 81c76ae52dSmrg#define XFT_RGBA_VBGR FC_RGBA_VBGR 82c76ae52dSmrg#define XFT_RGBA_NONE FC_RGBA_NONE 83c76ae52dSmrg 84c76ae52dSmrg/* 85c76ae52dSmrg * Old constants 86c76ae52dSmrg */ 87c76ae52dSmrg#define XFT_ENCODING "encoding" 88c76ae52dSmrg 89c76ae52dSmrgtypedef FcType XftType; 90c76ae52dSmrg 91c76ae52dSmrgtypedef FcMatrix XftMatrix; 92c76ae52dSmrg 93c76ae52dSmrg#define XftMatrixInit(m) FcMatrixInit(m) 94c76ae52dSmrg 95c76ae52dSmrgtypedef FcResult XftResult; 96c76ae52dSmrg 97c76ae52dSmrg#define XftResultMatch FcResultMatch 98c76ae52dSmrg#define XftResultNoMatch FcResultNoMatch 99c76ae52dSmrg#define XftResultTypeMismatch FcResultTypeMismatch 100c76ae52dSmrg#define XftResultNoId FcResultNoId 101c76ae52dSmrg 102c76ae52dSmrgtypedef FcValue XftValue; 103c76ae52dSmrgtypedef FcPattern XftPattern; 104c76ae52dSmrgtypedef FcFontSet XftFontSet; 105c76ae52dSmrgtypedef FcObjectSet XftObjectSet; 106c76ae52dSmrg 107c76ae52dSmrg#define XftGlyphExists XftCharExists 108c76ae52dSmrg 109c76ae52dSmrg#define XftObjectSetCreate FcObjectSetCreate 110c76ae52dSmrg#define XftObjectSetAdd FcObjectSetAdd 111c76ae52dSmrg#define XftObjectSetDestroy FcObjectSetDestroy 112c76ae52dSmrg#define XftObjectSetVaBuild FcObjectSetVaBuild 113c76ae52dSmrg#define XftObjectSetBuild FcObjectSetBuild 114c76ae52dSmrg 115c76ae52dSmrg#define XftFontSetMatch FcFontSetMatch 116c76ae52dSmrg#define XftFontSetDestroy FcFontSetDestroy 117c76ae52dSmrg 118c76ae52dSmrg#define XftMatrixEqual FcMatrixEqual 119c76ae52dSmrg#define XftMatrixMultiply FcMatrixMultiply 120c76ae52dSmrg#define XftMatrixRotate FcMatrixRotate 121c76ae52dSmrg#define XftMatrixScale FcMatrixScale 122c76ae52dSmrg#define XftMatrixShear FcMatrixShear 123c76ae52dSmrg 124c76ae52dSmrg#define XftPatternCreate FcPatternCreate 125c76ae52dSmrg#define XftPatternDuplicate FcPatternDuplicate 126c76ae52dSmrg#define XftValueDestroy FcValueDestroy 127c76ae52dSmrg#define XftValueListDestroy FcValueListDestroy 128c76ae52dSmrg#define XftPatternDestroy FcPatternDestroy 129c76ae52dSmrg#define XftPatternFind FcPatternFind 130c76ae52dSmrg#define XftPatternAdd FcPatternAdd 131c76ae52dSmrg#define XftPatternGet FcPatternGet 132c76ae52dSmrg#define XftPatternDel FcPatternDel 133c76ae52dSmrg#define XftPatternAddInteger FcPatternAddInteger 134c76ae52dSmrg#define XftPatternAddDouble FcPatternAddDouble 135c76ae52dSmrg#define XftPatternAddString(p,e,s) FcPatternAddString(p,e,(FcChar8 *)(s)) 136c76ae52dSmrg#define XftPatternAddMatrix FcPatternAddMatrix 137c76ae52dSmrg#define XftPatternAddBool FcPatternAddBool 138c76ae52dSmrg#define XftPatternGetInteger FcPatternGetInteger 139c76ae52dSmrg#define XftPatternGetDouble FcPatternGetDouble 140c76ae52dSmrg#define XftPatternGetString(p,e,i,n) FcPatternGetString(p,e,i,(FcChar8 **) (n)) 141c76ae52dSmrg#define XftPatternGetMatrix FcPatternGetMatrix 142c76ae52dSmrg#define XftPatternGetBool FcPatternGetBool 143c76ae52dSmrg#define XftPatternVaBuild FcPatternVaBuild 144c76ae52dSmrg#define XftPatternBuild FcPatternBuild 145c76ae52dSmrg 146c76ae52dSmrg#define XftUtf8ToUcs4 FcUtf8ToUcs4 147c76ae52dSmrg#define XftUtf8Len FcUtf8Len 148c76ae52dSmrg 149c76ae52dSmrg#define XftTypeVoid FcTypeVoid 150c76ae52dSmrg#define XftTypeInteger FcTypeInteger 151c76ae52dSmrg#define XftTypeDouble FcTypeDouble 152c76ae52dSmrg#define XftTypeString FcTypeString 153c76ae52dSmrg#define XftTypeBool FcTypeBool 154c76ae52dSmrg#define XftTypeMatrix FcTypeMatrix 155c76ae52dSmrg 156c76ae52dSmrg#define XftConfigSubstitute(p) FcConfigSubstitute (0, p, FcMatchPattern) 157c76ae52dSmrg 158c76ae52dSmrg_XFUNCPROTOBEGIN 159c76ae52dSmrg 160c76ae52dSmrgFcBool 161c76ae52dSmrgXftNameUnparse (XftPattern *pat, char *dest, int len); 162c76ae52dSmrg 163c76ae52dSmrg_XFUNCPROTOEND 164c76ae52dSmrg 165c76ae52dSmrg#endif /* _XFTCOMPAT_H_ */ 166