|
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: 4954 (0x135a) Types: TextFile Names: »object.h«
└─⟦52210d11f⟧ Bits:30007239 EUUGD2: TeX 3 1992-12 └─⟦c319c2751⟧ »unix3.0/TeX3.0.tar.Z« └─⟦036c765ac⟧ └─⟦this⟧ »TeX3.0/TeXgraphics/transfig/fig2dev/object.h«
#define DEFAULT (-1) typedef struct f_pattern { int w, h; int *p; } F_pattern; typedef struct f_pen { int x, y; int *p; } F_pen; 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; struct f_pen *pen; struct f_pattern *area_fill; #define UNFILLED (F_pattern *)0 #define BLACK_FILL (F_pattern *)1 #define DARK_GRAY_FILL (F_pattern *)2 #define MED_GRAY_FILL (F_pattern *)3 #define LIGHT_GRAY_FILL (F_pattern *)4 #define WHITE_FILL (F_pattern *)5 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; struct f_pen *pen; struct f_pattern *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 radius; /* for T_ARC_BOX */ struct f_pen *pen; struct f_pattern *area_fill; 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 int size; /* point size */ int color; int depth; double angle; /* in radian */ int style; #define PLAIN 1 #define ITALIC 2 #define BOLD 4 #define OUTLINE 8 #define SHADOW 16 int height; /* pixels */ int length; /* pixels */ int base_x; int base_y; struct f_pen *pen; char *cstring; struct f_text *next; } F_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; struct f_pen *pen; struct f_pattern *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