## GooCanvasGrid GooCanvasGrid — a grid item. |

## Synopsis

                        GooCanvasGrid;
    GooCanvasItem*      goo_canvas_grid_new                 (GooCanvasItem *parent,
                                                             gdouble x,
                                                             gdouble y,
                                                             gdouble width,
                                                             gdouble height,
                                                             gdouble x_step,
                                                             gdouble y_step,
                                                             gdouble x_offset,
                                                             gdouble y_offset,
                                                             ...);

## Object Hierarchy

      GObject
       +----GooCanvasItemSimple
             +----GooCanvasGrid

## Implemented Interfaces

GooCanvasGrid implements GooCanvasItem.

## Properties

      "border-color"             gchararray            : Write
      "border-color-rgba"        guint                 : Read / Write
      "border-pattern"           GooCairoPattern       : Read / Write
      "border-pixbuf"            GdkPixbuf             : Write
      "border-width"             gdouble               : Read / Write
      "height"                   gdouble               : Read / Write
      "horz-grid-line-color"     gchararray            : Write
      "horz-grid-line-color-rgba" guint                 : Read / Write
      "horz-grid-line-pattern"   GooCairoPattern       : Read / Write
      "horz-grid-line-pixbuf"    GdkPixbuf             : Write
      "horz-grid-line-width"     gdouble               : Read / Write
      "show-horz-grid-lines"     gboolean              : Read / Write
      "show-vert-grid-lines"     gboolean              : Read / Write
      "vert-grid-line-color"     gchararray            : Write
      "vert-grid-line-color-rgba" guint                 : Read / Write
      "vert-grid-line-pattern"   GooCairoPattern       : Read / Write
      "vert-grid-line-pixbuf"    GdkPixbuf             : Write
      "vert-grid-line-width"     gdouble               : Read / Write
      "vert-grid-lines-on-top"   gboolean              : Read / Write
      "width"                    gdouble               : Read / Write
      "x"                        gdouble               : Read / Write
      "x-offset"                 gdouble               : Read / Write
      "x-step"                   gdouble               : Read / Write
      "y"                        gdouble               : Read / Write
      "y-offset"                 gdouble               : Read / Write
      "y-step"                   gdouble               : Read / Write

## Description

GooCanvasGrid represents a grid item. A grid consists of a number of equally-spaced horizontal and vertical grid lines, plus an optional border.

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

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

The grid's position and size is specified with the "x", "y", "width" and "height" properties.

The "x-step" and "y-step" properties specify the distance between grid lines. The "x-offset" and "y-offset" properties specify the distance before the first grid lines.

The horizontal or vertical grid lines can be hidden using the "show-horz-grid-lines" and "show-vert-grid-lines" properties.

The width of the border can be set using the "border-width" property. The border is drawn outside the area specified with the "x", "y", "width" and "height" properties.

Other properties allow the colors and widths of the grid lines to be set. The grid line color and width properties override the standard "stroke-color" and "line-width" properties, enabling different styles for horizontal and vertical grid lines.

## Details

### GooCanvasGrid

    typedef struct _GooCanvasGrid GooCanvasGrid;

The GooCanvasGrid struct contains private data only.

### goo_canvas_grid_new ()

    GooCanvasItem*      goo_canvas_grid_new                 (GooCanvasItem *parent,
                                                             gdouble x,
                                                             gdouble y,
                                                             gdouble width,
                                                             gdouble height,
                                                             gdouble x_step,
                                                             gdouble y_step,
                                                             gdouble x_offset,
                                                             gdouble y_offset,
                                                             ...);

Creates a new grid 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.
`x` : | the x coordinate of the left of the grid.
`y` : | the y coordinate of the top of the grid.
`width` : | the width of the grid.
`height` : | the height of the grid.
`x_step` : | the distance between the vertical grid lines.
`y_step` : | the distance between the horizontal grid lines.
`x_offset` : | the distance before the first vertical grid line.
`y_offset` : | the distance before the first horizontal grid line.
`...` : | optional pairs of property names and values, and a terminating `NULL`.
Returns : | a new grid item.

Here's an example showing how to create a grid:

     GooCanvasItem *grid = goo_canvas_grid_new (mygroup, 100.0, 100.0, 400.0, 200.0,
                                                20.0, 20.0, 10.0, 10.0,
                                                "horz-grid-line-width", 4.0,
                                                "horz-grid-line-color", "yellow",
                                                "vert-grid-line-width", 2.0,
                                                "vert-grid-line-color", "red",
                                                "border-width", 3.0,
                                                "border-color", "white",
                                                "fill-color", "blue",
                                                NULL);

## Property Details

### The `"border-color"` property

      "border-color"             gchararray            : Write

The color to use for the border.

Default value: NULL

### The `"border-color-rgba"` property

      "border-color-rgba"        guint                 : Read / Write

The color to use for the border, specified as a 32-bit integer value.

Default value: 0

### The `"border-pattern"` property

      "border-pattern"           GooCairoPattern       : Read / Write

The cairo pattern to paint the border with.

### The `"border-pixbuf"` property

      "border-pixbuf"            GdkPixbuf             : Write

The pixbuf to use to draw the border.

### The `"border-width"` property

      "border-width"             gdouble               : Read / Write

The width of the border around the grid.

Default value: -1

### The `"height"` property

      "height"                   gdouble               : Read / Write

The height of the grid.

Allowed values: >= 0

Default value: 0

### The `"horz-grid-line-color"` property

      "horz-grid-line-color"     gchararray            : Write

The color to use for the horizontal grid lines.

Default value: NULL

### The `"horz-grid-line-color-rgba"` property

      "horz-grid-line-color-rgba" guint                 : Read / Write

The color to use for the horizontal grid lines, specified as a 32-bit integer value.

Default value: 0

### The `"horz-grid-line-pattern"` property

      "horz-grid-line-pattern"   GooCairoPattern       : Read / Write

The cairo pattern to paint the horizontal grid lines with.

### The `"horz-grid-line-pixbuf"` property

      "horz-grid-line-pixbuf"    GdkPixbuf             : Write

The pixbuf to use to draw the horizontal grid lines.

### The `"horz-grid-line-width"` property

      "horz-grid-line-width"     gdouble               : Read / Write

The width of the horizontal grid lines.

Default value: -1

### The `"show-horz-grid-lines"` property

      "show-horz-grid-lines"     gboolean              : Read / Write

If the horizontal grid lines are shown.

Default value: TRUE

### The `"show-vert-grid-lines"` property

      "show-vert-grid-lines"     gboolean              : Read / Write

If the vertical grid lines are shown.

Default value: TRUE

### The `"vert-grid-line-color"` property

      "vert-grid-line-color"     gchararray            : Write

The color to use for the vertical grid lines.

Default value: NULL

### The `"vert-grid-line-color-rgba"` property

      "vert-grid-line-color-rgba" guint                 : Read / Write

The color to use for the vertical grid lines, specified as a 32-bit integer value.

Default value: 0

### The `"vert-grid-line-pattern"` property

      "vert-grid-line-pattern"   GooCairoPattern       : Read / Write

The cairo pattern to paint the vertical grid lines with.

### The `"vert-grid-line-pixbuf"` property

      "vert-grid-line-pixbuf"    GdkPixbuf             : Write

The pixbuf to use to draw the vertical grid lines.

### The `"vert-grid-line-width"` property

      "vert-grid-line-width"     gdouble               : Read / Write

The width of the vertical grid lines.

Default value: -1

### The `"vert-grid-lines-on-top"` property

      "vert-grid-lines-on-top"   gboolean              : Read / Write

If the vertical grid lines are painted above the horizontal grid lines.

Default value: FALSE

### The `"width"` property

      "width"                    gdouble               : Read / Write

The width of the grid.

Allowed values: >= 0

Default value: 0

### The `"x"` property

      "x"                        gdouble               : Read / Write

The x coordinate of the grid.

Default value: 0

### The `"x-offset"` property

      "x-offset"                 gdouble               : Read / Write

The distance before the first vertical grid line.

Allowed values: >= 0

Default value: 0

### The `"x-step"` property

      "x-step"                   gdouble               : Read / Write

The distance between the vertical grid lines.

Allowed values: >= 0

Default value: 10

### The `"y"` property

      "y"                        gdouble               : Read / Write

The y coordinate of the grid.

Default value: 0

### The `"y-offset"` property

      "y-offset"                 gdouble               : Read / Write

The distance before the first horizontal grid line.

Allowed values: >= 0

Default value: 0

### The `"y-step"` property

      "y-step"                   gdouble               : Read / Write

The distance between the horizontal grid lines.

Allowed values: >= 0

Default value: 10