summaryrefslogtreecommitdiff
path: root/test/harness-priv.h
blob: 60d51358f3956f3c6dc576964e9859fc6ea6147e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#ifndef rufl_test_harness_priv_h_
#define rufl_test_harness_priv_h_

#include <stdbool.h>
#include <stddef.h>
#include <inttypes.h>

#include "harness.h"

typedef struct {
	unsigned int refcnt;
	size_t name; /* Index of name in names array */
#define FONT_ENCODING_SYMBOL ((size_t) -1) /* Symbol, not language, font */
	size_t encoding; /* Index of encoding in encodings array */
	int xsize; /* XSize of this font */
	int ysize; /* YSize if this font */
	int xres; /* XResolution of this font */
	int yres; /* YResolution of this font */
} rufl_test_harness_sized_font;

typedef struct {
	int fm_version;
	bool fm_ucs;
	bool fm_broken_fec;

	const char **font_names;
	size_t n_font_names;

	const char **encodings;
	size_t n_encodings;

	/* n_font_names * (n_encodings + 1) entries */
	char **encoding_filenames;

	/* At most 256 active font handles */
	rufl_test_harness_sized_font fonts[256];
	int current_font;

	char *buffer;
	int buffer_flags;
} rufl_test_harness_t;

extern rufl_test_harness_t *h;

#endif