GooCanvasPath

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

Functions

Properties

gchar * data Write
gdouble height Read / Write
gdouble width Read / Write
gdouble x Read / Write
gdouble y Read / Write

Types and Values

struct GooCanvasPath

Object Hierarchy

    GObject
    ╰── GooCanvasItemSimple
        ╰── GooCanvasPath

Implemented Interfaces

GooCanvasPath implements GooCanvasItem.

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

Functions

goo_canvas_path_new ()

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

Creates a new path item.

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

1
2
3
4
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):

1
2
3
4
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:

1
2
3
4
5
6
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);

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]

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.

[transfer full]

Types and Values

struct GooCanvasPath

struct GooCanvasPath;

The GooCanvasPath struct contains private data only.

Property Details

The “data” property

  “data”                     gchar *

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

Flags: Write

Default value: NULL


The “height” property

  “height”                   gdouble

The height of the path.

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “width” property

  “width”                    gdouble

The width of the path.

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “x” property

  “x”                        gdouble

The x coordinate of the path.

Flags: Read / Write

Default value: 0


The “y” property

  “y”                        gdouble

The y coordinate of the path.

Flags: Read / Write

Default value: 0