## gimppaths

gimppaths — Operations related to paths.

## Synopsis

    gchar**             gimp_path_list                      (gint32 image_ID,
                                                             gint *num_paths);
    gint                gimp_path_get_points                (gint32 image_ID,
                                                             const gchar *name,
                                                             gint *path_closed,
                                                             gint *num_path_point_details,
                                                             gdouble **points_pairs);
    gchar*              gimp_path_get_current               (gint32 image_ID);
    gboolean            gimp_path_set_current               (gint32 image_ID,
                                                             const gchar *name);
    gboolean            gimp_path_set_points                (gint32 image_ID,
                                                             const gchar *name,
                                                             gint ptype,
                                                             gint num_path_points,
                                                             const gdouble *points_pairs);
    gboolean            gimp_path_stroke_current            (gint32 image_ID);
    gint                gimp_path_get_point_at_dist         (gint32 image_ID,
                                                             gdouble distance,
                                                             gint *y_point,
                                                             gdouble *slope);
    gint                gimp_path_get_tattoo                (gint32 image_ID,
                                                             const gchar *name);
    gchar*              gimp_get_path_by_tattoo             (gint32 image_ID,
                                                             gint tattoo);
    gboolean            gimp_path_delete                    (gint32 image_ID,
                                                             const gchar *name);
    gboolean            gimp_path_get_locked                (gint32 image_ID,
                                                             const gchar *name);
    gboolean            gimp_path_set_locked                (gint32 image_ID,
                                                             const gchar *name,
                                                             gboolean locked);
    gboolean            gimp_path_set_tattoo                (gint32 image_ID,
                                                             const gchar *name,
                                                             gint tattovalue);
    gboolean            gimp_path_to_selection              (gint32 image_ID,
                                                             const gchar *name,
                                                             GimpChannelOps op,
                                                             gboolean antialias,
                                                             gboolean feather,
                                                             gdouble feather_radius_x,
                                                             gdouble feather_radius_y);
    gboolean            gimp_path_import                    (gint32 image_ID,
                                                             const gchar *filename,
                                                             gboolean merge,
                                                             gboolean scale);

## Description

Operations related to paths.

## Details

### gimp_path_list ()

    gchar**             gimp_path_list                      (gint32 image_ID,
                                                             gint *num_paths);

### Warning

`gimp_path_list` is deprecated and should not be used in newly-written code.

This procedure is deprecated! Use `gimp_image_get_vectors()` instead.

`image_ID` : | The image to list the paths from.
`num_paths` : | The number of paths returned.
Returns : | List of the paths belonging to this image.

### gimp_path_get_points ()

    gint                gimp_path_get_points                (gint32 image_ID,
                                                             const gchar *name,
                                                             gint *path_closed,
                                                             gint *num_path_point_details,
                                                             gdouble **points_pairs);

### Warning

`gimp_path_get_points` is deprecated and should not be used in newly-written code.

This procedure is deprecated! Use `gimp_vectors_stroke_get_points()` instead.

`image_ID` : | The image to list the paths from.
`name` : | The name of the path whose points should be listed.
`path_closed` : | Return if the path is closed. (0 = path open, 1 = path closed).
`num_path_point_details` : | The number of points returned. Each point is made up of (x, y, pnt_type) of floats.
`points_pairs` : | The points in the path represented as 3 floats. The first is the x pos, next is the y pos, last is the type of the pnt. The type field is dependant on the path type. For beziers (type 1 paths) the type can either be (1.0 = BEZIER_ANCHOR, 2.0 = BEZIER_CONTROL, 3.0 = BEZIER_MOVE). Note all points are returned in pixel resolution.
Returns : | The type of the path. Currently only one type (1 = Bezier) is supported.

### gimp_path_get_current ()

    gchar*              gimp_path_get_current               (gint32 image_ID);

### Warning

`gimp_path_get_current` is deprecated and should not be used in newly-written code.

This procedure is deprecated! Use `gimp_image_get_active_vectors()` instead.

`image_ID` : | The image to get the current path from.
Returns : | The name of the current path.

### gimp_path_set_current ()

    gboolean            gimp_path_set_current               (gint32 image_ID,
                                                             const gchar *name);

### Warning

`gimp_path_set_current` is deprecated and should not be used in newly-written code.

This procedure is deprecated! Use `gimp_image_set_active_vectors()` instead.

`image_ID` : | The image in which a path will become current.
`name` : | The name of the path to make current.
Returns : | TRUE on success.

### gimp_path_set_points ()

    gboolean            gimp_path_set_points                (gint32 image_ID,
                                                             const gchar *name,
                                                             gint ptype,
                                                             gint num_path_points,
                                                             const gdouble *points_pairs);

### Warning

`gimp_path_set_points` is deprecated and should not be used in newly-written code.

This procedure is deprecated! Use `vectors_stroke_new_from_points()` instead.

`image_ID` : | The image to set the paths in.
`name` : | The name of the path to create. If it exists then a unique name will be created - query the list of paths if you want to make sure that the name of the path you create is unique. This will be set as the current path.
`ptype` : | The type of the path. Currently only one type (1 = Bezier) is supported.

`num_path_points` :

The number of elements in the array, i.e. the number of points in the path * 3. Each point is made up of (x, y, type) of floats. Currently only the creation of bezier curves is allowed. The type parameter must be set to (1) to indicate a BEZIER type curve. Note that for BEZIER curves, points must be given in the following order: ACCACCAC... If the path is not closed the last control point is missed off. Points consist of three control points (control/anchor/control) so for a curve that is not closed there must be at least two points passed (2 x,y pairs). If (num_path_points/3) % 3 = 0 then the path is assumed to be closed and the points are ACCACCACCACC.

`points_pairs` : | The points in the path represented as 3 floats. The first is the x pos, next is the y pos, last is the type of the pnt. The type field is dependant on the path type. For beziers (type 1 paths) the type can either be (1.0 = BEZIER_ANCHOR, 2.0 = BEZIER_CONTROL, 3.0= BEZIER_MOVE). Note all points are returned in pixel resolution.
Returns : | TRUE on success.

### gimp_path_stroke_current ()

    gboolean            gimp_path_stroke_current            (gint32 image_ID);

### Warning

`gimp_path_stroke_current` is deprecated and should not be used in newly-written code.

This procedure is deprecated! Use `gimp_edit_stroke_vectors()` instead.

`image_ID` : | The image which contains the path to stroke.
Returns : | TRUE on success.

### gimp_path_get_point_at_dist ()

    gint                gimp_path_get_point_at_dist         (gint32 image_ID,
                                                             gdouble distance,
                                                             gint *y_point,
                                                             gdouble *slope);

### Warning

`gimp_path_get_point_at_dist` is deprecated and should not be used in newly-written code.

This procedure is deprecated! Use `gimp_vectors_stroke_get_point_at_dist()` instead.

`image_ID` : | The image the paths belongs to.
`distance` : | The distance along the path.
`y_point` : | The y position of the point.
`slope` : | The slope (dy / dx) at the specified point.
Returns : | The x position of the point.

### gimp_path_get_tattoo ()

    gint                gimp_path_get_tattoo                (gint32 image_ID,
                                                             const gchar *name);

### Warning

`gimp_path_get_tattoo` is deprecated and should not be used in newly-written code.

This procedure is deprecated! Use `gimp_vectors_get_tattoo()` instead.

`image_ID` : | The image.
`name` : | The name of the path whose tattoo should be obtained.
Returns : | The tattoo associated with the named path.

### gimp_get_path_by_tattoo ()

    gchar*              gimp_get_path_by_tattoo             (gint32 image_ID,
                                                             gint tattoo);

### Warning

`gimp_get_path_by_tattoo` is deprecated and should not be used in newly-written code.

This procedure is deprecated! Use `gimp_image_get_vectors_by_tattoo()` instead.

`image_ID` : | The image.
`tattoo` : | The tattoo of the required path.
Returns : | The name of the path with the specified tattoo.

### gimp_path_delete ()

    gboolean            gimp_path_delete                    (gint32 image_ID,
                                                             const gchar *name);

### Warning

`gimp_path_delete` is deprecated and should not be used in newly-written code.

This procedure is deprecated! Use `gimp_image_remove_vectors()` instead.

`image_ID` : | The image to delete the path from.
`name` : | The name of the path to delete.
Returns : | TRUE on success.

### gimp_path_get_locked ()

    gboolean            gimp_path_get_locked                (gint32 image_ID,
                                                             const gchar *name);

### Warning

`gimp_path_get_locked` is deprecated and should not be used in newly-written code.

This procedure is deprecated! Use `gimp_vectors_get_linked()` instead.

`image_ID` : | The image.
`name` : | The name of the path whose locked status should be obtained.
Returns : | TRUE if the path is locked, FALSE otherwise.

### gimp_path_set_locked ()

    gboolean            gimp_path_set_locked                (gint32 image_ID,
                                                             const gchar *name,
                                                             gboolean locked);

### Warning

`gimp_path_set_locked` is deprecated and should not be used in newly-written code.

This procedure is deprecated! Use `gimp_vectors_set_linked()` instead.

`image_ID` : | The image.
`name` : | the name of the path whose locked status should be set.
`locked` : | Whether the path is locked.
Returns : | TRUE on success.

### gimp_path_set_tattoo ()

    gboolean            gimp_path_set_tattoo                (gint32 image_ID,
                                                             const gchar *name,
                                                             gint tattovalue);

### Warning

`gimp_path_set_tattoo` is deprecated and should not be used in newly-written code.

This procedure is deprecated! Use `gimp_vectors_set_tattoo()` instead.

`image_ID` : | The image.
`name` : | the name of the path whose tattoo should be set.
`tattovalue` : | The tattoo associated with the name path. Only values returned from 'path_get_tattoo' should be used here.
Returns : | TRUE on success.

### gimp_path_to_selection ()

    gboolean            gimp_path_to_selection              (gint32 image_ID,
                                                             const gchar *name,
                                                             GimpChannelOps op,
                                                             gboolean antialias,
                                                             gboolean feather,
                                                             gdouble feather_radius_x,
                                                             gdouble feather_radius_y);

### Warning

`gimp_path_to_selection` is deprecated and should not be used in newly-written code.

This procedure is deprecated! Use `gimp_vectors_to_selection()` instead.

`image_ID` : | The image.
`name` : | The name of the path which should be made into selection.
`op` : | The desired operation with current selection.
`antialias` : | Antialias selection.
`feather` : | Feather selection.
`feather_radius_x` : | Feather radius x.
`feather_radius_y` : | Feather radius y.
Returns : | TRUE on success.

### gimp_path_import ()

    gboolean            gimp_path_import                    (gint32 image_ID,
                                                             const gchar *filename,
                                                             gboolean merge,
                                                             gboolean scale);

### Warning

`gimp_path_import` is deprecated and should not be used in newly-written code.

This procedure is deprecated! Use `vectors_import_from_file()` instead.

`image_ID` : | The image.
`filename` : | The name of the SVG file to import.
`merge` : | Merge paths into a single vectors object.
`scale` : | Scale the SVG to image dimensions.
Returns : | TRUE on success.