## GooCanvasPath GooCanvasPath — a path item (a series of lines and curves). |

## Synopsis

                        GooCanvasPath;
    GooCanvasItem*      goo_canvas_path_new                 (GooCanvasItem *parent,
                                                             const gchar *path_data,
                                                             ...);

## Object Hierarchy

      GObject
       +----GooCanvasItemSimple
             +----GooCanvasPath

## Implemented Interfaces

GooCanvasPath implements GooCanvasItem.

## Properties

      "data"                     gchararray            : Write

## Description

GooCanvasPath represents a path item, which is a series of one or more lines, bezier curves, or elliptical arcs.

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()`.

GooCanvasPath uses the same path specification strings as the Scalable Vector Graphics (SVG) path element. For details see the SVG specification.

To create a GooCanvasPath use `goo_canvas_path_new()`.

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

## Details

### GooCanvasPath

    typedef struct _GooCanvasPath GooCanvasPath;

The GooCanvasPath struct contains private data only.

### goo_canvas_path_new ()

    GooCanvasItem*      goo_canvas_path_new                 (GooCanvasItem *parent,
                                                             const gchar *path_data,
                                                             ...);

Creates a new path item.

`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.
`path_data` : | the sequence of path commands, specified as a string using the same syntax as in the Scalable Vector Graphics (SVG) path element.
`...` : | optional pairs of property names and values, and a terminating `NULL`.
Returns : | a new path item.

Here's an example showing how to create a red line from (20,20) to (40,40):

     GooCanvasItem *path = goo_canvas_path_new (mygroup,
                                                "M 20 20 L 40 40",
                                                "stroke-color", "red",
                                                NULL);

This example creates a cubic bezier curve from (20,100) to (100,100) with the control points at (20,50) and (100,50):

     GooCanvasItem *path = goo_canvas_path_new (mygroup,
                                                "M20,100 C20,50 100,50 100,100",
                                                "stroke-color", "blue",
                                                NULL);

This example uses an elliptical arc to create a filled circle with one quarter missing:

     GooCanvasItem *path = goo_canvas_path_new (mygroup,
                                                "M200,500 h-150 a150,150 0 1,0 150,-150 z",
                                                "fill-color", "red",
                                                "stroke-color", "blue",
                                                "line-width", 5.0,
                                                NULL);

## Property Details

### The `"data"` property

      "data"                     gchararray            : Write

The sequence of path commands, specified as a string using the same syntax as in the Scalable Vector Graphics (SVG) path element.

Default value: NULL