Next: GnomeCanvasWidget, Previous: GnomeCanvasText, Up: Top
Canvas utility functions
Some useful canvas utility functions.
The <gnome-canvas-points> structure manages an array of points (X and Y
coordinates) and is used by <gnome-canvas-line> and
<gnome-canvas-polygon> canvas items.
To create a <gnome-canvas-points> structure call
gnome-canvas-points-new and when finished using it call
gnome-canvas-points-free.
Of note is that the <gnome-canvas-points> structure is actually managed
by a reference count, so it won't be freed until this count reaches 0. To
increment its reference count call gnome-canvas-points-ref and to
decrement it call gnome-canvas-points-unref.
double) (y1 double) (x2 double) (y2 double) (x3 double) (y3 double) (width double) (ret int) (mx1 double) (my1 double) (mx2 double) (my2 double)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.
- 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.
- ret
- 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.
double) (y1 double) (x2 double) (y2 double) (width double) (project int) (bx1 double) (by1 double) (bx2 double) (by2 double)Computes the butt points of a line segment.
- 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
int) (x double) (y double) (ret double) (poly double)Computes the distance between a point and a polygon.
- 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
- ret
- The distance from the point to the polygon, or zero if the point is inside the polygon.
<gnome-canvas-item>)Resets the bounding box of a canvas item to an empty rectangle.
- item
- A canvas item
<gnome-canvas-item>) (x1 int) (y1 int) (x2 int) (y2 int)Sets the bbox to the new value, requesting full repaint.
- 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