/*
- * $XFree86: xc/lib/fontconfig/src/fcint.h,v 1.8 2002/05/21 17:06:22 keithp Exp $
+ * $XFree86: xc/lib/fontconfig/src/fcint.h,v 1.13 2002/06/03 08:31:15 keithp Exp $
*
* Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
*
#include <time.h>
#include <fontconfig/fontconfig.h>
#include <fontconfig/fcprivate.h>
+#include <fontconfig/fcfreetype.h>
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
typedef struct _FcPatternElt {
const char *object;
- FcValueList *values;
+ FcValueList *values;
} FcPatternElt;
struct _FcPattern {
int num;
int size;
- FcPatternElt *elts;
+ int ref;
+ FcPatternElt *elts;
};
typedef enum _FcOp {
} FcExpr;
typedef enum _FcQual {
- FcQualAny, FcQualAll
+ FcQualAny, FcQualAll, FcQualFirst, FcQualNotFirst
} FcQual;
typedef struct _FcTest {
FcEdit *edit;
} FcSubst;
-typedef struct _FcCharLeaf FcCharLeaf;
-typedef struct _FcCharBranch FcCharBranch;
-typedef union _FcCharNode FcCharNode;
-
-struct _FcCharLeaf {
+typedef struct _FcCharLeaf {
FcChar32 map[256/32];
-};
-
-union _FcCharNode {
- FcCharBranch *branch;
- FcCharLeaf *leaf;
-};
-
-struct _FcCharBranch {
- FcCharNode nodes[256];
- FcChar8 next[256];
-};
+} FcCharLeaf;
struct _FcCharSet {
- int levels;
int ref; /* reference count */
- FcBool constant; /* shared constant */
- FcCharNode node;
+ FcBool constant; /* in hash table constant */
+ int num; /* size of leaves and numbers arrays */
+ FcCharLeaf **leaves;
+ FcChar16 *numbers;
};
struct _FcStrSet {
FcValueListDestroy (FcValueList *l);
FcPatternElt *
-FcPatternFind (FcPattern *p, const char *object, FcBool insert);
+FcPatternFindElt (const FcPattern *p, const char *object);
+
+FcPatternElt *
+FcPatternInsertElt (FcPattern *p, const char *object);
/* fcrender.c */