|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T o
Length: 4879 (0x130f)
Types: TextFile
Names: »object.h«
└─⟦52210d11f⟧ Bits:30007239 EUUGD2: TeX 3 1992-12
└─⟦63303ae94⟧ »unix3.14/TeX3.14.tar.Z«
└─⟦c58930e5c⟧
└─⟦this⟧ »TeX3.14/TeXgraphics/transfig/fig2dev/object.h«
#define DEFAULT (-1)
typedef struct f_point {
int x, y;
struct f_point *next;
}
F_point;
typedef struct f_pos {
int x, y;
}
F_pos;
typedef struct f_arrow {
int type;
int style;
double thickness;
double wid;
double ht;
}
F_arrow;
typedef struct f_ellipse {
int type;
#define T_ELLIPSE_BY_RAD 1
#define T_ELLIPSE_BY_DIA 2
#define T_CIRCLE_BY_RAD 3
#define T_CIRCLE_BY_DIA 4
int style;
int thickness;
int color;
#define BLACK 0
int depth;
int direction;
double style_val;
double angle;
int pen;
int area_fill;
#define UNFILLED 0
#define WHITE_FILL 1
#define BLACK_FILL 21
struct f_pos center;
struct f_pos radiuses;
struct f_pos start;
struct f_pos end;
struct f_ellipse *next;
}
F_ellipse;
typedef struct f_arc {
int type;
#define T_3_POINTS_ARC 1
int style;
int thickness;
int color;
int depth;
int pen;
int area_fill;
double style_val;
int direction;
struct f_arrow *for_arrow;
struct f_arrow *back_arrow;
struct {double x, y;} center;
struct f_pos point[3];
struct f_arc *next;
}
F_arc;
typedef struct f_line {
int type;
#define T_POLYLINE 1
#define T_BOX 2
#define T_POLYGON 3
#define T_ARC_BOX 4
/* JNT */
int style;
int thickness;
int color;
int depth;
double style_val;
int pen;
int area_fill;
int radius; /* for T_ARC_BOX */
struct f_arrow *for_arrow;
struct f_arrow *back_arrow;
struct f_point *points;
struct f_line *next;
}
F_line;
typedef struct f_text {
int type;
#define T_LEFT_JUSTIFIED 0
#define T_CENTER_JUSTIFIED 1
#define T_RIGHT_JUSTIFIED 2
int font;
#define DEFAULT_FONT 0
#define ROMAN_FONT 1
#define BOLD_FONT 2
#define ITALIC_FONT 3
#define MODERN_FONT 4
#define TYPEWRITER_FONT 5
#define MAX_FONT 5
double size; /* point size */
int color;
int depth;
double angle; /* in radian */
int flags;
#define RIGID_TEXT 1
#define SPECIAL_TEXT 2
#define PSFONT_TEXT 4
double height; /* pixels */
double length; /* pixels */
int base_x;
int base_y;
int pen;
char *cstring;
struct f_text *next;
}
F_text;
#define MAX_PSFONT 35
#define MAXFONT(T) (psfont_text(T) ? MAX_PSFONT : MAX_FONT)
#define rigid_text(t) \
(t->flags == DEFAULT \
|| (t->flags & RIGID_TEXT))
#define special_text(t) \
((t->flags != DEFAULT \
&& (t->flags & SPECIAL_TEXT)))
#define psfont_text(t) \
(t->flags != DEFAULT \
&& (t->flags & PSFONT_TEXT))
typedef struct f_control {
double lx, ly, rx, ry;
struct f_control *next;
}
F_control;
#define int_spline(s) (s->type & 0x2)
#define normal_spline(s) (!(s->type & 0x2))
#define closed_spline(s) (s->type & 0x1)
#define open_spline(s) (!(s->type & 0x1))
typedef struct f_spline {
int type;
#define T_OPEN_NORMAL 0
#define T_CLOSED_NORMAL 1
#define T_OPEN_INTERPOLATED 2
#define T_CLOSED_INTERPOLATED 3
int style;
int thickness;
int color;
int depth;
double style_val;
int pen;
int area_fill;
struct f_arrow *for_arrow;
struct f_arrow *back_arrow;
/*
For T_OPEN_NORMAL and T_CLOSED_NORMAL points
are control points while they are knots for
T_OPEN_INTERPOLATED and T_CLOSED_INTERPOLTED
whose control points are stored in controls.
*/
struct f_point *points;
struct f_control *controls;
struct f_spline *next;
}
F_spline;
typedef struct f_compound {
struct f_pos nwcorner;
struct f_pos secorner;
struct f_line *lines;
struct f_ellipse *ellipses;
struct f_spline *splines;
struct f_text *texts;
struct f_arc *arcs;
struct f_compound *compounds;
struct f_compound *next;
}
F_compound;
#define ARROW_SIZE sizeof(struct f_arrow)
#define POINT_SIZE sizeof(struct f_point)
#define CONTROL_SIZE sizeof(struct f_control)
#define ELLOBJ_SIZE sizeof(struct f_ellipse)
#define ARCOBJ_SIZE sizeof(struct f_arc)
#define LINOBJ_SIZE sizeof(struct f_line)
#define TEXOBJ_SIZE sizeof(struct f_text)
#define SPLOBJ_SIZE sizeof(struct f_spline)
#define COMOBJ_SIZE sizeof(struct f_compound)
/********************** object codes **********************/
#define O_ELLIPSE 1
#define O_POLYLINE 2
#define O_SPLINE 3
#define O_TEXT 4
#define O_ARC 5
#define O_COMPOUND 6
#define O_END_COMPOUND (-O_COMPOUND)
#define O_ALL_OBJECT 99
/************ object styles (except for f_text) ************/
#define SOLID_LINE 0
#define DASH_LINE 1
#define DOTTED_LINE 2
#define CLOSED_PATH 0
#define OPEN_PATH 1