gnome-canvas-path-def

gnome-canvas-path-def

Functions

GnomeCanvasPathDef * gnome_canvas_path_def_new ()
GnomeCanvasPathDef * gnome_canvas_path_def_new_sized ()
GnomeCanvasPathDef * gnome_canvas_path_def_new_from_bpath ()
GnomeCanvasPathDef * gnome_canvas_path_def_new_from_static_bpath ()
GnomeCanvasPathDef * gnome_canvas_path_def_new_from_foreign_bpath ()
void gnome_canvas_path_def_ref ()
void gnome_canvas_path_def_finish ()
void gnome_canvas_path_def_ensure_space ()
void gnome_canvas_path_def_copy ()
GnomeCanvasPathDef * gnome_canvas_path_def_duplicate ()
GnomeCanvasPathDef * gnome_canvas_path_def_concat ()
GSList * gnome_canvas_path_def_split ()
GnomeCanvasPathDef * gnome_canvas_path_def_open_parts ()
GnomeCanvasPathDef * gnome_canvas_path_def_closed_parts ()
GnomeCanvasPathDef * gnome_canvas_path_def_close_all ()
void gnome_canvas_path_def_unref ()
void gnome_canvas_path_def_reset ()
void gnome_canvas_path_def_moveto ()
void gnome_canvas_path_def_lineto ()
void gnome_canvas_path_def_lineto_moving ()
void gnome_canvas_path_def_curveto ()
void gnome_canvas_path_def_closepath ()
void gnome_canvas_path_def_closepath_current ()
ArtBpath * gnome_canvas_path_def_bpath ()
gint gnome_canvas_path_def_length ()
gboolean gnome_canvas_path_def_is_empty ()
gboolean gnome_canvas_path_def_has_currentpoint ()
void gnome_canvas_path_def_currentpoint ()
ArtBpath * gnome_canvas_path_def_last_bpath ()
ArtBpath * gnome_canvas_path_def_first_bpath ()
gboolean gnome_canvas_path_def_any_open ()
gboolean gnome_canvas_path_def_all_open ()
gboolean gnome_canvas_path_def_any_closed ()
gboolean gnome_canvas_path_def_all_closed ()

Types and Values

Object Hierarchy

    GBoxed
    ╰── GnomeCanvasPathDef

Includes

#include <libgnomecanvas/libgnomecanvas.h>

Description

Functions

gnome_canvas_path_def_new ()

GnomeCanvasPathDef *
gnome_canvas_path_def_new (void);

This function creates a new empty gnome_canvas_path_def.

Returns

the new canvas path definition.


gnome_canvas_path_def_new_sized ()

GnomeCanvasPathDef *
gnome_canvas_path_def_new_sized (gint length);

This function creates a new gnome_canvas_path_def with length number of points allocated. It is useful, if you know the exact number of points in path, so you can avoid automatic point array reallocation.

Parameters

length

number of points to allocate for the path

 

Returns

the new canvas path definition


gnome_canvas_path_def_new_from_bpath ()

GnomeCanvasPathDef *
gnome_canvas_path_def_new_from_bpath (ArtBpath *bpath);

This function constructs a new gnome_canvas_path_def and uses the passed bpath as the contents. The passed bpath should not be static as the path definition is editable when constructed with this function. Also, passed bpath will be freed with art_free, if path is destroyed, so use it with caution. For constructing a gnome_canvas_path_def from (non-modifiable) bpath use gnome_canvas_path_def_new_from_static_bpath.

Parameters

bpath

libart bezier path

 

Returns

the new canvas path definition that is populated with the passed bezier path, if the bpath is bad NULL is returned.


gnome_canvas_path_def_new_from_static_bpath ()

GnomeCanvasPathDef *
gnome_canvas_path_def_new_from_static_bpath
                               (ArtBpath *bpath);

This function constructs a new gnome_canvas_path_def and references the passed bpath as its contents. The gnome_canvas_path_def returned from this function is to be considered static and non-editable (meaning you cannot change the path from what you passed in bpath ). The bpath will not be freed, if path will be destroyed, so use it with caution.

Parameters

bpath

libart bezier path

 

Returns

the new canvas path definition that references the passed bpath , or if the path is bad NULL is returned.


gnome_canvas_path_def_new_from_foreign_bpath ()

GnomeCanvasPathDef *
gnome_canvas_path_def_new_from_foreign_bpath
                               (ArtBpath *bpath);

This function constructs a new gnome_canvas_path_def and duplicates the contents of the passed bpath in the definition.

Parameters

bpath

libart bezier path

 

Returns

the newly created gnome_canvas_path_def or NULL if the path is invalid.


gnome_canvas_path_def_ref ()

void
gnome_canvas_path_def_ref (GnomeCanvasPathDef *path);

Increment the reference count of the GnomeCanvasPathDef.

Parameters

path

a GnomeCanvasPathDef

 

gnome_canvas_path_def_finish ()

void
gnome_canvas_path_def_finish (GnomeCanvasPathDef *path);

Trims dynamic point array to exact length of path.

Parameters

path

a GnomeCanvasPathDef

 

gnome_canvas_path_def_ensure_space ()

void
gnome_canvas_path_def_ensure_space (GnomeCanvasPathDef *path,
                                    gint space);

This function ensures that enough space for space points is allocated at the end of the path.

Parameters

path

a GnomeCanvasPathDef

 

space

number of points to guarantee are allocated at the end of the path.

 

gnome_canvas_path_def_copy ()

void
gnome_canvas_path_def_copy (GnomeCanvasPathDef *dst,
                            const GnomeCanvasPathDef *src);

This function copies the contents src to dest . The old dest path array is freed and dest is marked as non-static (editable), regardless of the status of src .

Parameters

dst

a GnomeCanvasPathDef where the contents of src will be stored.

 

src

a GnomeCanvasPathDef whose contents will be copied it src .

 

gnome_canvas_path_def_duplicate ()

GnomeCanvasPathDef *
gnome_canvas_path_def_duplicate (const GnomeCanvasPathDef *path);

This function duplicates the passed path . The new path is marked as non-static regardless of the state of original.

Parameters

path

a GnomeCanvasPathDef to duplicate

 

Returns

a GnomeCanvasPathDef which is a duplicate of path .


gnome_canvas_path_def_concat ()

GnomeCanvasPathDef *
gnome_canvas_path_def_concat (const GSList *list);

This function concatenates a list of GnomeCanvasPathDefs into one newly created GnomeCanvasPathDef.

Parameters

list

a GSList of GnomeCanvasPathDefs to concatenate into one new path.

 

Returns

a new GnomeCanvasPathDef


gnome_canvas_path_def_split ()

GSList *
gnome_canvas_path_def_split (const GnomeCanvasPathDef *path);

This function splits the passed path into a list of GnomeCanvasPathDefs which represent each segment of the origional path. The path is split when ever an ART_MOVETO or ART_MOVETO_OPEN is encountered. The closedness of resulting paths is set accordingly to closedness of corresponding segment.

Parameters

path

a GnomeCanvasPathDef

 

Returns

a list of GnomeCanvasPathDef(s).


gnome_canvas_path_def_open_parts ()

GnomeCanvasPathDef *
gnome_canvas_path_def_open_parts (const GnomeCanvasPathDef *path);

This function creates a new GnomeCanvasPathDef that contains all of the open segments on the passed path .

Parameters

path

a GnomeCanvasPathDef

 

Returns

a new GnomeCanvasPathDef that contains all of the open segemtns in path .


gnome_canvas_path_def_closed_parts ()

GnomeCanvasPathDef *
gnome_canvas_path_def_closed_parts (const GnomeCanvasPathDef *path);

This function returns a new GnomeCanvasPathDef that contains the all of close parts of passed path .

Parameters

path

a GnomeCanvasPathDef

 

Returns

a new GnomeCanvasPathDef that contains all of the closed parts of passed path .


gnome_canvas_path_def_close_all ()

GnomeCanvasPathDef *
gnome_canvas_path_def_close_all (const GnomeCanvasPathDef *path);

This function closes all of the open segments in the passed path and returns a new GnomeCanvasPathDef.

Parameters

path

a GnomeCanvasPathDef

 

Returns

a GnomeCanvasPathDef that contains the contents of path but has modified the path is fully closed


gnome_canvas_path_def_unref ()

void
gnome_canvas_path_def_unref (GnomeCanvasPathDef *path);

Decrease the reference count of the passed path . If the reference count is < 1 the path is deallocated.

Parameters

path

a GnomeCanvasPathDef

 

gnome_canvas_path_def_reset ()

void
gnome_canvas_path_def_reset (GnomeCanvasPathDef *path);

This function clears the contents of the passed path .

Parameters

path

a GnomeCanvasPathDef

 

gnome_canvas_path_def_moveto ()

void
gnome_canvas_path_def_moveto (GnomeCanvasPathDef *path,
                              gdouble x,
                              gdouble y);

This function adds starts new subpath on path , and sets its starting point to x and y . If current subpath is empty, it simply changes its starting coordinates to new values.

Parameters

path

a GnomeCanvasPathDef

 

x

x coordinate

 

y

y coordinate

 

gnome_canvas_path_def_lineto ()

void
gnome_canvas_path_def_lineto (GnomeCanvasPathDef *path,
                              gdouble x,
                              gdouble y);

This function add a line segment to the passed path with the specified x and y coordinates.

Parameters

path

a GnomeCanvasPathDef

 

x

x coordinate

 

y

y coordinate

 

gnome_canvas_path_def_lineto_moving ()

void
gnome_canvas_path_def_lineto_moving (GnomeCanvasPathDef *path,
                                     gdouble x,
                                     gdouble y);

This functions adds a new line segment with loose endpoint to the path, or if endpoint is already loose, changes its coordinates to x , y . You can change the coordinates of loose endpoint as many times as you want, the last ones set will be fixed, if you continue line. This is useful for handling drawing with mouse.

Parameters

path

a GnomeCanvasPathDef

 

x

x coordinate

 

y

y coordinate

 

gnome_canvas_path_def_curveto ()

void
gnome_canvas_path_def_curveto (GnomeCanvasPathDef *path,
                               gdouble x0,
                               gdouble y0,
                               gdouble x1,
                               gdouble y1,
                               gdouble x2,
                               gdouble y2);

This function adds a bezier curve segment to the path definition.

Parameters

path

a GnomeCanvasPathDef

 

x0

first control point x coordinate

 

y0

first control point y coordinate

 

x1

second control point x coordinate

 

y1

second control point y coordinate

 

x2

end of curve x coordinate

 

y2

end of curve y coordinate

 

gnome_canvas_path_def_closepath ()

void
gnome_canvas_path_def_closepath (GnomeCanvasPathDef *path);

This function closes the last subpath of path , adding a ART_LINETO to subpath starting point, if needed and changing starting pathcode to ART_MOVETO

Parameters

path

a GnomeCanvasPathDef

 

gnome_canvas_path_def_closepath_current ()

void
gnome_canvas_path_def_closepath_current
                               (GnomeCanvasPathDef *path);

This function closes the last subpath by setting the coordinates of the endpoint of the last segment (line or curve) to starting point.

Parameters

path

a GnomeCanvasPathDef

 

gnome_canvas_path_def_bpath ()

ArtBpath *
gnome_canvas_path_def_bpath (const GnomeCanvasPathDef *path);

This function returns a ArtBpath that consists of the path definition.

Parameters

path

a GnomeCanvasPathDef

 

Returns

ArtBpath


gnome_canvas_path_def_length ()

gint
gnome_canvas_path_def_length (const GnomeCanvasPathDef *path);

This function returns the length of the path definition. Not Euclidian length of the path but rather the number of points on the path.

Parameters

path

a GnomeCanvasPathDef

 

Returns

integer, number of points on the path.


gnome_canvas_path_def_is_empty ()

gboolean
gnome_canvas_path_def_is_empty (const GnomeCanvasPathDef *path);

This function is a boolean test to see if the path is empty, meaning containing no line segments.

Parameters

path

a GnomeCanvasPathDef

 

Returns

boolean, indicating if the path is empty.


gnome_canvas_path_def_has_currentpoint ()

gboolean
gnome_canvas_path_def_has_currentpoint
                               (const GnomeCanvasPathDef *path);

This function is a boolean test checking to see if the path has a current point defined. Current point will be set by line operators, and cleared by closing subpath.

Parameters

path

a GnomeCanvasPathdef

 

Returns

boolean, indicating if the path has a current point defined.


gnome_canvas_path_def_currentpoint ()

void
gnome_canvas_path_def_currentpoint (const GnomeCanvasPathDef *path,
                                    ArtPoint *p);

Stores the current point of the path definition in the passed ArtPoint p .

Parameters

path

a GnomeCanvasPathDef

 

p

a ArtPoint where to store the current point

 

gnome_canvas_path_def_last_bpath ()

ArtBpath *
gnome_canvas_path_def_last_bpath (const GnomeCanvasPathDef *path);

This function returns pointer to the last ArtBpath segment in the path definition.

Parameters

path

a GnomeCanvasPathDef

 

Returns

ArtBpath, being the last segment in the path definition or null if no line segments have been defined.


gnome_canvas_path_def_first_bpath ()

ArtBpath *
gnome_canvas_path_def_first_bpath (const GnomeCanvasPathDef *path);

This function returns the first ArtBpath point in the definition.

Parameters

path

a GnomeCanvasPathDef

 

Returns

ArtBpath being the first point in the path definition or null if no points are defined


gnome_canvas_path_def_any_open ()

gboolean
gnome_canvas_path_def_any_open (const GnomeCanvasPathDef *path);

This function returns a boolean value indicating if the path has any open segments.

Parameters

path

a GnomeCanvasPathDef

 

Returns

boolean, indicating if the path has any open segments.


gnome_canvas_path_def_all_open ()

gboolean
gnome_canvas_path_def_all_open (const GnomeCanvasPathDef *path);

This function returns a boolean value indicating if the path only contains open segments.

Parameters

path

a GnomeCanvasPathDef

 

Returns

boolean, indicating if the path has all open segments.


gnome_canvas_path_def_any_closed ()

gboolean
gnome_canvas_path_def_any_closed (const GnomeCanvasPathDef *path);

This function returns a boolean valid indicating if the path has any closed segements.

Parameters

path

a GnomeCanvasPathDef

 

Returns

boolean, indicating if the path has any closed segments.


gnome_canvas_path_def_all_closed ()

gboolean
gnome_canvas_path_def_all_closed (const GnomeCanvasPathDef *path);

This function returns a boolean value indicating if the path only contains closed segments.

Parameters

path

a GnomeCanvasPathDef

 

Returns

boolean, indicating if the path has all closed segments.

Types and Values

GnomeCanvasPathDef

typedef struct _GnomeCanvasPathDef GnomeCanvasPathDef;