Scroll to navigation

pod::Prima::Region(3) User Contributed Perl Documentation pod::Prima::Region(3)

NAME

Prima::Region - generic shape 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

Prima::Region is a descendant of Prima::Component. It serves a representation of a generic shape, that can be applied to a drawable, and checked whether points are within its boundaries.

API

Creates new region object. Without options, the region is empty. Following options can be used:
Create rectangular region with inclusive-inclusive coordinates.
box => [ X, Y, WIDTH, HEIGHT ]
Same as "rect" but using other semantics.
Creates a polygon shape with vertices given in @POINTS, and using an optional fillMode ( see "fillMode" in Drawable ).
Creates a region that mirrors 1-bits in the image. If no pixels are set to 1, the region will be effectively empty.
Paints the region on a newly created bitmap and returns it. By default, region offset is not included.
Returns (X,Y,WIDTH,HEIGHT) bounding box, that encloses smallest possible rectangle, or (0,0,0,0) if the region is empty.
Applies one of the following set operation to the region:
Makes a copy of the REGION
The resulting region is an intersection of the two regions.
The resulting region is a union of the two regions.
Performs XOR operation on the two regions.
The resulting region is a difference of the two regions.
Creates a duplicate region object
Returns a "Prima::array" object filled with 4-integer tuples, where each is a box defined as (x,y,width,height).
Returns a system handle for the region
Returns true if the regions are equal, false otherwise.
Paints the region on a newly created image and returns it. By default, region offset is not included.
Returns true if the region is empty, false otherwise.
Shifts the region vertically and/or horizontally
Returns true if the (X,Y) point is inside the region
Checks whether a rectangle given by inclusive-inclusive coordinates is inside, outside, or partially covered by the region. Return values are:

   rgn::Inside
   rgn::Outside
   rgn::Partially
    

where "rgn::Outside" has value of 0.

AUTHOR

Dmitry Karasik, <dmitry@karasik.eu.org>.

SEE ALSO

Prima, Prima::Drawable, Prima::Drawable::Path

2023-09-05 perl v5.26.1