gnome-canvas-util

gnome-canvas-util

Functions

Types and Values

Object Hierarchy

    GBoxed
    ╰── GnomeCanvasPoints

Includes

#include <libgnomecanvas/libgnomecanvas.h>

Description

Functions

gnome_canvas_points_new ()

GnomeCanvasPoints *
gnome_canvas_points_new (int num_points);

Creates a structure that should be used to pass an array of points to items.

Parameters

num_points

The number of points to allocate space for in the array.

 

Returns

A newly-created array of points. It should be filled in by the user.


gnome_canvas_points_ref ()

GnomeCanvasPoints *
gnome_canvas_points_ref (GnomeCanvasPoints *points);

Increases the reference count of the specified points structure.

Parameters

points

A canvas points structure.

 

Returns

The canvas points structure itself.


gnome_canvas_points_free ()

void
gnome_canvas_points_free (GnomeCanvasPoints *points);

Decreases the reference count of the specified points structure. If it reaches zero, then the structure is freed.

Parameters

points

A canvas points structure.

 

gnome_canvas_get_miter_points ()

int
gnome_canvas_get_miter_points (double x1,
                               double y1,
                               double x2,
                               double y2,
                               double x3,
                               double y3,
                               double width,
                               double *mx1,
                               double *my1,
                               double *mx2,
                               double *my2);

Given three points forming an angle, computes the coordinates of the inside and outside points of the mitered corner formed by a line of a given width at that angle.

Parameters

x1

X coordinate of the first point

 

y1

Y coordinate of the first point

 

x2

X coordinate of the second (angle) point

 

y2

Y coordinate of the second (angle) point

 

x3

X coordinate of the third point

 

y3

Y coordinate of the third point

 

width

Width of the line

 

mx1

The X coordinate of the first miter point is returned here.

 

my1

The Y coordinate of the first miter point is returned here.

 

mx2

The X coordinate of the second miter point is returned here.

 

my2

The Y coordinate of the second miter point is returned here.

 

Returns

FALSE if the angle is less than 11 degrees (this is the same threshold as X uses. If this occurs, the return points are not modified. Otherwise, returns TRUE.


gnome_canvas_get_butt_points ()

void
gnome_canvas_get_butt_points (double x1,
                              double y1,
                              double x2,
                              double y2,
                              double width,
                              int project,
                              double *bx1,
                              double *by1,
                              double *bx2,
                              double *by2);

Computes the butt points of a line segment.

Parameters

x1

X coordinate of first point in the line

 

y1

Y cooordinate of first point in the line

 

x2

X coordinate of second point (endpoint) of the line

 

y2

Y coordinate of second point (endpoint) of the line

 

width

Width of the line

 

project

Whether the butt points should project out by width/2 distance

 

bx1

X coordinate of first butt point is returned here

 

by1

Y coordinate of first butt point is returned here

 

bx2

X coordinate of second butt point is returned here

 

by2

Y coordinate of second butt point is returned here

 

gnome_canvas_polygon_to_point ()

double
gnome_canvas_polygon_to_point (double *poly,
                               int num_points,
                               double x,
                               double y);

Computes the distance between a point and a polygon.

Parameters

poly

Vertices of the polygon. X coordinates are in the even indices, and Y coordinates are in the odd indices

 

num_points

Number of points in the polygon

 

x

X coordinate of the point

 

y

Y coordinate of the point

 

Returns

The distance from the point to the polygon, or zero if the point is inside the polygon.


gnome_canvas_render_svp ()

void
gnome_canvas_render_svp (GnomeCanvasBuf *buf,
                         ArtSVP *svp,
                         guint32 rgba);

Render the svp over the buf.

Parameters

buf

the canvas buffer to render over

 

svp

the vector path to render

 

rgba

the rgba color to render

 

gnome_canvas_update_svp ()

void
gnome_canvas_update_svp (GnomeCanvas *canvas,
                         ArtSVP **p_svp,
                         ArtSVP *new_svp);

Sets the svp to the new value, requesting repaint on what's changed. This function takes responsibility for freeing new_svp.

Parameters

canvas

the canvas containing the svp that needs updating.

 

p_svp

a pointer to the existing svp

 

new_svp

the new svp

 

gnome_canvas_update_svp_clip ()

void
gnome_canvas_update_svp_clip (GnomeCanvas *canvas,
                              ArtSVP **p_svp,
                              ArtSVP *new_svp,
                              ArtSVP *clip_svp);

Sets the svp to the new value, clipping if necessary, and requesting repaint on what's changed. This function takes responsibility for freeing new_svp.

Parameters

canvas

the canvas containing the svp that needs updating.

 

p_svp

a pointer to the existing svp

 

new_svp

the new svp

 

clip_svp

a clip path, if non-null

 

gnome_canvas_item_reset_bounds ()

void
gnome_canvas_item_reset_bounds (GnomeCanvasItem *item);

Resets the bounding box of a canvas item to an empty rectangle.

Parameters

item

A canvas item

 

gnome_canvas_item_update_svp ()

void
gnome_canvas_item_update_svp (GnomeCanvasItem *item,
                              ArtSVP **p_svp,
                              ArtSVP *new_svp);

Sets the svp to the new value, requesting repaint on what's changed. This function takes responsibility for freeing new_svp. This routine also adds the svp's bbox to the item's.

Parameters

item

the canvas item containing the svp that needs updating.

 

p_svp

a pointer to the existing svp

 

new_svp

the new svp

 

gnome_canvas_item_update_svp_clip ()

void
gnome_canvas_item_update_svp_clip (GnomeCanvasItem *item,
                                   ArtSVP **p_svp,
                                   ArtSVP *new_svp,
                                   ArtSVP *clip_svp);

Sets the svp to the new value, clipping if necessary, and requesting repaint on what's changed. This function takes responsibility for freeing new_svp.

Parameters

item

the canvas item containing the svp that needs updating.

 

p_svp

a pointer to the existing svp

 

new_svp

the new svp

 

clip_svp

a clip path, if non-null

 

gnome_canvas_item_request_redraw_svp ()

void
gnome_canvas_item_request_redraw_svp (GnomeCanvasItem *item,
                                      const ArtSVP *svp);

Request redraw of the svp if in aa mode, or the entire item in in xlib mode.

Parameters

item

the item containing the svp

 

svp

the svp that needs to be redrawn

 

gnome_canvas_update_bbox ()

void
gnome_canvas_update_bbox (GnomeCanvasItem *item,
                          int x1,
                          int y1,
                          int x2,
                          int y2);

Sets the bbox to the new value, requesting full repaint.

Parameters

item

the canvas item needing update

 

x1

Left coordinate of the new bounding box

 

y1

Top coordinate of the new bounding box

 

x2

Right coordinate of the new bounding box

 

y2

Bottom coordinate of the new bounding box

 

gnome_canvas_buf_ensure_buf ()

void
gnome_canvas_buf_ensure_buf (GnomeCanvasBuf *buf);

Ensure that the buffer is in RGB format, suitable for compositing.

Parameters

buf

the buf that needs to be represened in RGB format

 

gnome_canvas_join_gdk_to_art ()

ArtPathStrokeJoinType
gnome_canvas_join_gdk_to_art (GdkJoinStyle gdk_join);

Convert from GDK line join specifier to libart.

Parameters

gdk_join

a join type, represented in GDK format

 

Returns

The line join specifier in libart format.


gnome_canvas_cap_gdk_to_art ()

ArtPathStrokeCapType
gnome_canvas_cap_gdk_to_art (GdkCapStyle gdk_cap);

Convert from GDK line cap specifier to libart.

Parameters

gdk_cap

a cap type, represented in GDK format

 

Returns

The line cap specifier in libart format.

Types and Values

struct GnomeCanvasPoints

struct GnomeCanvasPoints {
	double *coords;
	int num_points;
	int ref_count;
};

gnome_canvas_points_unref

#define             gnome_canvas_points_unref