GooCanvas Reference Manual | ||||
---|---|---|---|---|
Top | Description | Object Hierarchy | Implemented Interfaces | Properties |
GooCanvasPolylineModelGooCanvasPolylineModel — a model for polyline items (a series of lines with optional arrows). |
Synopsis
GooCanvasPolylineModel; GooCanvasItemModel* goo_canvas_polyline_model_new (GooCanvasItemModel *parent
,gboolean close_path
,gint num_points
,...
); GooCanvasItemModel* goo_canvas_polyline_model_new_line (GooCanvasItemModel *parent
,gdouble x1
,gdouble y1
,gdouble x2
,gdouble y2
,...
);
Properties
"arrow-length" gdouble : Read / Write "arrow-tip-length" gdouble : Read / Write "arrow-width" gdouble : Read / Write "close-path" gboolean : Read / Write "end-arrow" gboolean : Read / Write "height" gdouble : Read / Write "points" GooCanvasPoints* : Read / Write "start-arrow" gboolean : Read / Write "width" gdouble : Read / Write "x" gdouble : Read / Write "y" gdouble : Read / Write
Description
GooCanvasPolylineModel represents a model for polyline items, which are a series of one or more lines, with optional arrows at either end.
It is a subclass of GooCanvasItemModelSimple and so inherits all of the style properties such as "stroke-color", "fill-color" and "line-width".
It also implements the GooCanvasItemModel interface, so you can use the
GooCanvasItemModel functions such as goo_canvas_item_model_raise()
and
goo_canvas_item_model_rotate()
.
To create a GooCanvasPolylineModel use goo_canvas_polyline_model_new()
, or
goo_canvas_polyline_model_new_line()
for a simple line between two points.
To get or set the properties of an existing GooCanvasPolylineModel, use
g_object_get()
and g_object_set()
.
To respond to events such as mouse clicks on the polyline you must connect
to the signal handlers of the corresponding GooCanvasPolyline objects.
(See goo_canvas_get_item()
and "item-created".)
Details
GooCanvasPolylineModel
typedef struct _GooCanvasPolylineModel GooCanvasPolylineModel;
The GooCanvasPolylineModel struct contains private data only.
goo_canvas_polyline_model_new ()
GooCanvasItemModel* goo_canvas_polyline_model_new (GooCanvasItemModel *parent
,gboolean close_path
,gint num_points
,...
);
Creates a new polyline model.
|
the parent model, or NULL . If a parent is specified, it will
assume ownership of the item, and the item will automatically be freed when
it is removed from the parent. Otherwise call g_object_unref() to free it.
|
|
if the last point should be connected to the first. |
|
the number of points in the polyline. |
|
the pairs of coordinates for each point in the line, followed by
optional pairs of property names and values, and a terminating NULL .
|
Returns : |
a new polyline model. |
Here's an example showing how to create a filled triangle with vertices at (100,100), (300,100), and (200,300).
1 2 3 4 5 6 7 8 |
GooCanvasItemModel *polyline = goo_canvas_polyline_model_new (mygroup, TRUE, 3, 100.0, 100.0, 300.0, 100.0, 200.0, 300.0, "stroke-color", "red", "line-width", 5.0, "fill-color", "blue", NULL); |
goo_canvas_polyline_model_new_line ()
GooCanvasItemModel* goo_canvas_polyline_model_new_line (GooCanvasItemModel *parent
,gdouble x1
,gdouble y1
,gdouble x2
,gdouble y2
,...
);
Creates a new polyline model with a single line.
|
the parent model, or NULL .
|
|
the x coordinate of the start of the line. |
|
the y coordinate of the start of the line. |
|
the x coordinate of the end of the line. |
|
the y coordinate of the end of the line. |
|
optional pairs of property names and values, and a terminating NULL .
|
Returns : |
a new polyline model. |
Here's an example showing how to create a line from (100,100) to (300,300).
1 2 3 4 5 6 |
GooCanvasItemModel *polyline = goo_canvas_polyline_model_new_line (mygroup, 100.0, 100.0, 300.0, 300.0, "stroke-color", "red", "line-width", 5.0, NULL); |
Property Details
The "arrow-length"
property
"arrow-length" gdouble : Read / Write
The length of the arrows, as a multiple of the line width.
Allowed values: >= 0
Default value: 5
The "arrow-tip-length"
property
"arrow-tip-length" gdouble : Read / Write
The length of the arrow tip, as a multiple of the line width.
Allowed values: >= 0
Default value: 4
The "arrow-width"
property
"arrow-width" gdouble : Read / Write
The width of the arrows, as a multiple of the line width.
Allowed values: >= 0
Default value: 4
The "close-path"
property
"close-path" gboolean : Read / Write
If the last point should be connected to the first.
Default value: FALSE
The "end-arrow"
property
"end-arrow" gboolean : Read / Write
If an arrow should be displayed at the end of the polyline.
Default value: FALSE
The "height"
property
"height" gdouble : Read / Write
The height of the polyline.
Allowed values: >= 0
Default value: 0
The "start-arrow"
property
"start-arrow" gboolean : Read / Write
If an arrow should be displayed at the start of the polyline.
Default value: FALSE
The "width"
property
"width" gdouble : Read / Write
The width of the polyline.
Allowed values: >= 0
Default value: 0
The "x"
property
"x" gdouble : Read / Write
The x coordinate of the left-most point of the polyline.
Default value: 0