+/* outline definition, adapted from t1lib.h */
+
+/* A fractional point */
+typedef struct {
+ long x;
+ long y;
+} SWF_PATHPOINT;
+
+/* A straight outline segment, stroked or not stroked */
+typedef struct pathsegment {
+ char type; /* type of segment (line or move) */
+ unsigned char flag; /* type1 rasterizer internal stuff */
+ short references; /* type1 rasterizer internal stuff */
+ unsigned char size; /* size of the structure */
+ unsigned char context; /* index to device context */
+ struct pathsegment *link; /* pointer to next structure in linked list */
+ struct pathsegment *last; /* pointer to last structure in list */
+ SWF_PATHPOINT dest; /* relative ending location of path segment */
+} SWF_PATHSEGMENT;
+
+/* A third order bezier segment */
+typedef struct bezierpathsegment {
+ char type; /* type of segment (bezier) */
+ unsigned char flag; /* type1 rasterizer internal stuff */
+ short references; /* type1 rasterizer internal stuff */
+ unsigned char size; /* as with any 'segment' type */
+ unsigned char context; /* as with any 'segment' type */
+ SWF_PATHSEGMENT *link; /* as with any 'segment' type */
+ SWF_PATHSEGMENT *last; /* as with any 'segment' type */
+ SWF_PATHPOINT dest; /* ending point (D) */
+ SWF_PATHPOINT B; /* control point B */
+ SWF_PATHPOINT C; /* control point C */
+} SWF_BEZIERSEGMENT;
+
+typedef SWF_PATHSEGMENT SWF_OUTLINE;
+
+#define SWF_PATHTYPE_LINE 0x10
+#define SWF_PATHTYPE_BEZIER 0x12
+#define SWF_PATHTYPE_MOVE 0x15
+
+