NAME
Tk::RotCanvas - Canvas widget with arbitrary rotation support
SYNOPSIS
$canvas = $parent->RotCanvas(?options?);
my $obj = $canvas->create('polygon', @coords, %options);
$canvas->rotate($obj, $angle, ?x, y?);
DESCRIPTION
This module is a small wrapper around the Canvas
widget that adds a new rotate() method. This method allows the rotation of various canvas objects by arbitrary angles.
NEW METHODS
As mentioned previously, there is only one new method. All other canvas methods work as expected.
- $canvas->rotate(TagOrID, angle ?,x, y?)
-
This method rotates the object identified by TagOrID by an angle angle. The angle is specified in degrees. If a coordinate is specified, then the object is rotated about that point. Else, the object is rotated about its center of mass.
LIMITATIONS
As it stands, the module can only handle the following object types:
Lines
Rectangles
Polygons
Ovals
All other object types (bitmap, image, arc, text and window) can not be handled yet. A warning is issued if the user tries to rotate one of these object types. Hopefully, more types will be handled in the future.
MORE DETAILS YOU DON'T NEED TO KNOW
To be able to handle rectangles, the module intercepts any calls to createRectangle() and create() and changes all rectangles to polygons. The user should not be alarmed if type() returned polygon when a rectangle was expected.
Similarly, ovals are converted into polygons.
THANKS
Special thanks go to Larry Shatzer for developing the code to handle ovals.
AUTHOR
Ala Qumsieh qumsieh@cim.mcgill.ca
COPYRIGHTS
This module is distributed under the same terms as Perl itself.