GnomeCanvasLine -- 


#include <libgnomecanvas/libgnomecanvas.h>

struct      GnomeCanvasLine;



struct GnomeCanvasLine

struct GnomeCanvasLine {

	GnomeCanvasItem item;

	double *coords;		/* Array of coordinates for the line's points.  X coords are in the
				 * even indices, Y coords are in the odd indices.  If the line has
				 * arrowheads then the first and last points have been adjusted to
				 * refer to the necks of the arrowheads rather than their tips.  The
				 * actual endpoints are stored in the first_arrow and last_arrow
				 * arrays, if they exist.

	double *first_coords;	/* Array of points describing polygon for the first arrowhead */
	double *last_coords;	/* Array of points describing polygon for the last arrowhead */

	GdkGC *gc;		/* GC for drawing line */

	GdkBitmap *stipple;	/* Stipple pattern */

        ArtSVP *fill_svp;		/* The SVP for the outline shape */ /*AA*/
	ArtSVP *first_svp;		/* The SVP for the first arrow */ /*AA*/
	ArtSVP *last_svp;		/* The SVP for the last arrow */ /*AA*/

	double width;		/* Width of the line */

	double shape_a;		/* Distance from tip of arrowhead to center */
	double shape_b;		/* Distance from tip of arrowhead to trailing point, measured along shaft */
	double shape_c;		/* Distance of trailing points from outside edge of shaft */

	GdkCapStyle cap;	/* Cap style for line */
	GdkJoinStyle join;	/* Join style for line */
	GdkLineStyle line_style;/* Style for the line */

	gulong fill_pixel;	/* Color for line */

	guint32 fill_rgba;		/* RGBA color for outline */ /*AA*/

	int num_points;		/* Number of points in the line */
	guint fill_color;	/* Fill color, RGBA */

	int spline_steps;	/* Number of steps in each spline segment */

	guint width_pixels : 1;	/* Is the width specified in pixels or units? */
	guint first_arrow : 1;	/* Draw first arrowhead? */
	guint last_arrow : 1;	/* Draw last arrowhead? */
	guint smooth : 1;	/* Smooth line (with parabolic splines)? */