## MateCanvasShape MateCanvasShape — Base class for canvas item shapes |

## Synopsis

    #include <libmatecanvas/libmatecanvas.h>

    struct              MateCanvasShape;
    void                mate_canvas_shape_set_path_def     (MateCanvasShape *shape,
                                                             MateCanvasPathDef *def);
    MateCanvasPathDef * mate_canvas_shape_get_path_def    (MateCanvasShape *shape);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GtkObject
                   +----MateCanvasItem
                         +----MateCanvasShape
                               +----MateCanvasBpath
                               +----MateCanvasRE
                               +----MateCanvasPolygon

## Properties

      "cap-style"                GdkCapStyle           : Read / Write
      "dash"                     gpointer              : Read / Write
      "fill-color"               gchar*                : Write
      "fill-color-gdk"           GdkColor*             : Read / Write
      "fill-color-rgba"          guint                 : Read / Write
      "fill-stipple"             GdkDrawable*          : Read / Write
      "join-style"               GdkJoinStyle          : Read / Write
      "miterlimit"               gdouble               : Read / Write
      "outline-color"            gchar*                : Write
      "outline-color-gdk"        GdkColor*             : Read / Write
      "outline-color-rgba"       guint                 : Read / Write
      "outline-stipple"          GdkDrawable*          : Read / Write
      "width-pixels"             guint                 : Read / Write
      "width-units"              gdouble               : Read / Write
      "wind"                     guint                 : Read / Write

## Description

Provides a base class for canvas item shapes, including: MateCanvasBpath, MateCanvasEllipse, MateCanvasRect, and MateCanvasPolygon.

## Details

### struct MateCanvasShape

    struct MateCanvasShape;

This structure should not be accessed directly. Use the object's properties and functions for querying or changing its parameters.

### mate_canvas_shape_set_path_def ()

    void                mate_canvas_shape_set_path_def     (MateCanvasShape *shape,
                                                             MateCanvasPathDef *def);

This function sets the the MateCanvasPathDef used by the MateCanvasShape. Notice, that it does not request updates, as it is meant to be used from item implementations, from inside update queue.

`shape` : | a MateCanvasShape
`def` : | a MateCanvasPathDef

### mate_canvas_shape_get_path_def ()

    MateCanvasPathDef * mate_canvas_shape_get_path_def    (MateCanvasShape *shape);

This function returns the MateCanvasPathDef that the shape currently uses. It adds a reference to the MateCanvasPathDef and returns it, if there is not a MateCanvasPathDef set for the shape it returns NULL.

`shape` : | a MateCanvasShape
Returns : | a MateCanvasPathDef or NULL if none is set for the shape.

## Property Details

### The `"cap-style"` property

      "cap-style"                GdkCapStyle           : Read / Write

Cap (end point) style for the bpath.

Default value: GDK_CAP_BUTT

### The `"dash"` property

      "dash"                     gpointer              : Read / Write

Dashing pattern.

### The `"fill-color"` property

      "fill-color"               gchar*                : Write

X color specification for fill color, or NULL pointer for no color (transparent).

Default value: NULL

### The `"fill-color-gdk"` property

      "fill-color-gdk"           GdkColor*             : Read / Write

Allocated GdkColor for fill.

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

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

Fill color with an alpha component (in the format 0xRRGGBBAA).

Default value: 0

### The `"fill-stipple"` property

      "fill-stipple"             GdkDrawable*          : Read / Write

Stipple pattern for fill.

### The `"join-style"` property

      "join-style"               GdkJoinStyle          : Read / Write

Vertex join style for the bpath.

Default value: GDK_JOIN_MITER

### The `"miterlimit"` property

      "miterlimit"               gdouble               : Read / Write

Minimum angle between segments, where miter join rule is applied.

Allowed values: >= 0

Default value: 0

### The `"outline-color"` property

      "outline-color"            gchar*                : Write

X color specification for outline color, or NULL pointer for no color (transparent).

Default value: NULL

### The `"outline-color-gdk"` property

      "outline-color-gdk"        GdkColor*             : Read / Write

Allocated GdkColor for outline.

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

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

Outline color with an alpha component (in the format 0xRRGGBBAA).

Default value: 0

### The `"outline-stipple"` property

      "outline-stipple"          GdkDrawable*          : Read / Write

Stipple pattern for outline.

### The `"width-pixels"` property

      "width-pixels"             guint                 : Read / Write

Width of the outline in pixels. The outline will not be scaled when the canvas zoom factor is changed.

Default value: 0

### The `"width-units"` property

      "width-units"              gdouble               : Read / Write

Width of the outline in canvas units. The outline will be scaled when the canvas zoom factor is changed.

Allowed values: >= 0

Default value: 0

### The `"wind"` property

      "wind"                     guint                 : Read / Write

Winding rule for the bpath (ArtWindRule).

Default value: 0