pod::Prima::Region(3) | User Contributed Perl Documentation | pod::Prima::Region(3) |
NAME¶
Prima::Region - generic shapes for clipping and hit testing
SYNOPSIS¶
$empty = Prima::Region->new; $rect = Prima::Region->new( rect => [ 10, 10, 20, 20 ]); $rect = Prima::Region->new( box => [ 10, 10, 10, 10 ]); # same $poly = Prima::Region->new( polygon => [ 0, 0, 100, 0, 100, 100 ]); $bits = Prima::Region->new( image => $image ); $drawable-> region( $rect ); my $rgn = $drawable->region; $rgn->image->save('region.png') if $rgn;
DESCRIPTION¶
The Prima::Region class is a descendant of the Prima::Component class. A Prima::Region object is a representation of a generic shape that can be applied to a drawable and checked whether points are within its boundaries.
API¶
- new %OPTIONS
- Creates a new region object. If called without any options then the resulting region will be empty The following options can be used:
- rect => [ X1, Y1, X2, Y2 ]
- Creates a rectangular region with inclusive-inclusive coordinates.
- box => [ X, Y, WIDTH, HEIGHT ]
- Same as "rect" but using the box semantics.
- polygon => \@POINTS, fillMode = 0
- Creates a polygon shape with vertices given in @POINTS, and using the optional fillMode ( see "fillMode" in Drawable ).
- image => IMAGE
- Creates a region from a 1-bit image. If the image contains no pixels that are set to 1, the resulting region is created as an empty region.
- bitmap with_offset => 0, type => dbt::Bitmap
- Paints the region on a newly created bitmap and returns it. By default, the region offset is not included.
- box
- Returns the (X,Y,WIDTH,HEIGHT) bounding box that encloses the smallest possible rectangle, or (0,0,0,0) if the region is empty.
- combine REGION, OPERATION = rgnop::Copy
- Applies one of the following set operations to the region:
- rgnop::Copy
- Makes a copy of the REGION
- rgnop::Intersect
- The resulting region is an intersection of the two regions.
- rgnop::Union
- The resulting region is a union of the two regions.
- rgnop::Xor
- Performs XOR operation on the two regions.
- rgnop::Diff
- The resulting region is a difference between the two regions.
- dup
- Creates a duplicate region object
- get_boxes
- Returns a "Prima::array" object filled with 4-integer tuples, where each is a box defined as a (x,y,width,height) tuple.
- get_handle
- Returns the system handle for the region
- equals REGION
- Returns true if the regions are equal, false otherwise.
- image with_offset => 0, type => dbt::Bitmap
- Paints the region on a newly created image and returns it. By default, the region offset is not included.
- is_empty
- Returns true if the region is empty, false otherwise.
- offset DX, DY
- Shifts the region vertically and/or horizontally
- point_inside X, Y
- Returns true if the (X,Y) point is inside the region
- rect_inside X1,Y1,X2,Y2
- Checks whether a rectangle given by the inclusive-inclusive coordinates is
inside, outside, or partially covered by the region. The return value can
be one of these flags:
rgn::Inside rgn::Outside rgn::Partially
where the "rgn::Outside" constant has the value of 0.
AUTHOR¶
Dmitry Karasik, <dmitry@karasik.eu.org>.
SEE ALSO¶
Prima, Prima::Drawable, Prima::Drawable::Path
2024-08-20 | perl v5.40.0 |