## GooCanvasPolyline GooCanvasPolyline — a polyline item (a series of lines with optional arrows). |

## Functions

GooCanvasItem * | goo_canvas_polyline_new ()
GooCanvasItem * | goo_canvas_polyline_new_line ()

## Properties

gdouble | arrow-length | Read / Write
gdouble | arrow-tip-length | Read / Write
gdouble | arrow-width | Read / Write
gboolean | close-path | Read / Write
gboolean | end-arrow | Read / Write
gdouble | height | Read / Write
GooCanvasPoints * | points | Read / Write
gboolean | start-arrow | Read / Write
gdouble | width | Read / Write
gdouble | x | Read / Write
gdouble | y | Read / Write

## Types and Values

struct | GooCanvasPolyline

## Object Hierarchy

        GObject
        ╰── GooCanvasItemSimple
            ╰── GooCanvasPolyline

## Implemented Interfaces

GooCanvasPolyline implements GooCanvasItem.

## Description

GooCanvasPolyline represents a polyline item, which is a series of one or more lines, with optional arrows at either end.

It is a subclass of GooCanvasItemSimple and so inherits all of the style properties such as "stroke-color", "fill-color" and "line-width".

It also implements the GooCanvasItem interface, so you can use the GooCanvasItem functions such as `goo_canvas_item_raise()` and `goo_canvas_item_rotate()`.

To create a GooCanvasPolyline use `goo_canvas_polyline_new()`, or `goo_canvas_polyline_new_line()` for a simple line between two points.

To get or set the properties of an existing GooCanvasPolyline, use `g_object_get()` and `g_object_set()`.

## Functions

### goo_canvas_polyline_new ()

    GooCanvasItem *
    goo_canvas_polyline_new (GooCanvasItem *parent,
                             gboolean close_path,
                             gint num_points,
                             ...);

Creates a new polyline item.

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
    GooCanvasItem *polyline = goo_canvas_polyline_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);

#### Parameters

parent | the parent item, 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. | [skip]
close_path | if the last point should be connected to the first. |
num_points | 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 item.

[transfer full]

### goo_canvas_polyline_new_line ()

    GooCanvasItem *
    goo_canvas_polyline_new_line (GooCanvasItem *parent,
                                  gdouble x1,
                                  gdouble y1,
                                  gdouble x2,
                                  gdouble y2,
                                  ...);

Creates a new polyline item with a single line.

Here's an example showing how to create a line from (100,100) to (300,300).

    1
    2
    3
    4
    5
    6
    GooCanvasItem *polyline = goo_canvas_polyline_new_line (mygroup,
                                                            100.0, 100.0,
                                                            300.0, 300.0,
                                                            "stroke-color", "red",
                                                            "line-width", 5.0,
                                                            NULL);

#### Parameters

parent | the parent item, or `NULL`. | [skip]
x1 | the x coordinate of the start of the line. |
y1 | the y coordinate of the start of the line. |
x2 | the x coordinate of the end of the line. |
y2 | the y coordinate of the end of the line. |
... | optional pairs of property names and values, and a terminating `NULL`. |

#### Returns

a new polyline item.

[transfer full]

## Types and Values

### struct GooCanvasPolyline

    struct GooCanvasPolyline;

The GooCanvasPolyline struct contains private data only.

## Property Details

### The `“arrow-length”` property

      “arrow-length”             gdouble

The length of the arrows, as a multiple of the line width.

Flags: Read / Write

Allowed values: >= 0

Default value: 5

### The `“arrow-tip-length”` property

      “arrow-tip-length”         gdouble

The length of the arrow tip, as a multiple of the line width.

Flags: Read / Write

Allowed values: >= 0

Default value: 4

### The `“arrow-width”` property

      “arrow-width”              gdouble

The width of the arrows, as a multiple of the line width.

Flags: Read / Write

Allowed values: >= 0

Default value: 4

### The `“close-path”` property

      “close-path”               gboolean

If the last point should be connected to the first.

Flags: Read / Write

Default value: FALSE

### The `“end-arrow”` property

      “end-arrow”                gboolean

If an arrow should be displayed at the end of the polyline.

Flags: Read / Write

Default value: FALSE

### The `“height”` property

      “height”                   gdouble

The height of the polyline.

Flags: Read / Write

Allowed values: >= 0

Default value: 0

### The `“points”` property

      “points”                   GooCanvasPoints *

The array of points.

Flags: Read / Write

### The `“start-arrow”` property

      “start-arrow”              gboolean

If an arrow should be displayed at the start of the polyline.

Flags: Read / Write

Default value: FALSE

### The `“width”` property

      “width”                    gdouble

The width of the polyline.

Flags: Read / Write

Allowed values: >= 0

Default value: 0

### The `“x”` property

      “x”                        gdouble

The x coordinate of the left-most point of the polyline.

Flags: Read / Write

Default value: 0

### The `“y”` property

      “y”                        gdouble

The y coordinate of the top-most point of the polyline.

Flags: Read / Write

Default value: 0