NAME
Wx::Polygon - Draw and manipulate polygons for wxPerl
ABSTRACT
This module provides functions for manipulating polygons in wxPerl.
Description
new( POLYGON =
\(Wx::Point,...) | ELLIPSE => \(x_offset,y_offset,width,heigth) ) --> Wx::Polygon>
Instantiates a new Wx::Polygon with an array of Wx::Points for a given POLYGON
or an ellipse with given parameters.
add_point(x,y,recalc=1) --> void
Adds a point to the polygon. If scale and rotation have been used, rescales and rerotates the polygon after adding the point. If recalc
is set to 0
, this will not be done, which is better when a lot of points need added.
recalc() --> void
Rescales and rerotates the polygon. This method should be used when a lot of points need to be added. Recalculation can than be done after adding the points.
set_color(r,g,b) --> void
Sets the fill color to wxSOLID with the given r
, g
and b
values.
mid() --> (midx:integer,midy:integer)
Calculates the middle of the polygon (not point 'z') and returns a list with x and y position.
in(x,y) --> boolean
Calculates if (x,y) falls within the edges of the polygon. Returns true if so. Uses algorithm of Randolph Franklin, http://astronomy.swin.edu.au/~pbourke/geometry/insidepoly.
draw( dc:Wx::DC ) --> void
Draws the polygon at given offsets and with given colour(s) to the current DC.
copy() --> Wx::Polygon
Returns a copy of the object.
scale(scale-factor) --> void
Scales the polygon with scale-factor
.
rotate(degrees) --> void
Rotates the polygon by degrees
degrees (0-360).
offset(x,y) --> void
Sets the offset for drawing. This can be used to transpose the polygon.
AUTHOR
Hans Oesterholt-Dijkema <oesterhol@cpan.org>
COPYRIGHT & LICENSE
(c)2004 Hans Oesterholt-Dijkema. This module can be redistributed under artistic license.