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