DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T o

⟦f98ac2251⟧ TextFile

    Length: 4879 (0x130f)
    Types: TextFile
    Names: »object.h«

Derivation

└─⟦52210d11f⟧ Bits:30007239 EUUGD2: TeX 3 1992-12
    └─⟦63303ae94⟧ »unix3.14/TeX3.14.tar.Z« 
        └─⟦c58930e5c⟧ 
            └─⟦this⟧ »TeX3.14/TeXgraphics/transfig/fig2dev/object.h« 

TextFile

#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