1
/* types.h: general types.
3
Copyright (C) 1992 Free Software Foundation, Inc.
5
This program is free software; you can redistribute it and/or modify
6
it under the terms of the GNU General Public License as published by
7
the Free Software Foundation; either version 2, or (at your option)
10
This program is distributed in the hope that it will be useful,
11
but WITHOUT ANY WARRANTY; without even the implied warranty of
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
GNU General Public License for more details.
15
You should have received a copy of the GNU General Public License
16
along with this program; if not, write to the Free Software
17
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
23
typedef enum { false = 0, true = 1 } boolean;
25
/* The X11 library defines `FALSE' and `TRUE', and so we only want to
26
define them if necessary. */
32
/* The usual null-terminated string. */
35
/* A generic pointer in ANSI C. */
36
typedef void *address;
38
/* We use `real' for our floating-point variables. */
41
/* A character code. Perhaps someday we will allow for 16-bit
42
character codes, but for now we are restricted to 256 characters per
43
font (like TeX and PostScript). */
44
typedef unsigned char charcode_type;
47
/* Used in file formats. */
48
typedef unsigned char one_byte;
49
typedef signed char signed_byte;
50
typedef unsigned short two_bytes;
51
typedef short signed_2_bytes;
52
typedef unsigned int four_bytes;
53
typedef int signed_4_bytes;
54
typedef int byte_count_type;
56
/* These are intended to be used for output in file formats where a
57
``byte'' is defined to be eight bits, regardless of the hardware. */
58
#define ONE_BYTE_BIG (1 << 8)
59
#define TWO_BYTES_BIG (1 << 16)
60
#define THREE_BYTES_BIG (1 << 24)
63
/* Complex numbers. */
69
typedef enum { first_complex_part, second_complex_part} complex_part_type;
70
typedef enum { polar_rep, rectangular_rep} complex_rep_type;
73
/* Dimensions of a rectangle. */
76
unsigned height, width;
79
#define DIMENSIONS_HEIGHT(d) ((d).height)
80
#define DIMENSIONS_WIDTH(d) ((d).width)
83
/* Cartesian points. */
92
} real_coordinate_type;
97
double align_threshold;
98
double corner_always_threshold;
99
unsigned int corner_surround;
100
double corner_threshold;
101
double error_threshold;
102
unsigned int filter_alternative_surround;
103
double filter_epsilon;
104
unsigned int filter_iteration_count;
105
double filter_percent;
106
unsigned int filter_secondary_surround;
107
unsigned int filter_surround;
109
double line_reversion_threshold;
110
double line_threshold;
111
double reparameterize_improvement;
112
double reparameterize_threshold;
113
double subdivide_search;
114
unsigned int subdivide_surround;
115
double subdivide_threshold;
116
unsigned int tangent_surround;
123
double align_threshold;
124
double corner_always_threshold;
125
double corner_surround;
126
double corner_threshold;
127
double error_threshold;
128
double filter_alternative_surround;
129
double filter_epsilon;
130
double filter_iteration_count;
131
double filter_percent;
132
double filter_secondary_surround;
133
double filter_surround;
135
double line_reversion_threshold;
136
double line_threshold;
137
double reparameterize_improvement;
138
double reparameterize_threshold;
139
double subdivide_search;
140
double subdivide_surround;
141
double subdivide_threshold;
142
double tangent_surround;
147
#endif /* not TYPES_H */