Gtk2::Gdk::Region

NAME

Gtk2::Gdk::Region − wrapper for GdkRegion

HIERARCHY

Glib::Boxed
+−−−−Gtk2::Gdk::Region

METHODS

region = Gtk2::Gdk::Region−>new
rectangle = $region−>get_clipbox
boolean = $region−>empty
boolean = $region1−>equal ($region2)

$region2 (Gtk2::Gdk::Region)

$source1−>intersect ($source2)

$source2 (Gtk2::Gdk::Region)

$region−>offset ($dx, $dy)

$dx (integer)

$dy (integer)

boolean = $region−>point_in ($x, $y)

$x (integer)

$y (integer)

region = Gtk2::Gdk::Region−>polygon ($points_ref, $fill_rule)

$points_ref (scalar)

$fill_rule (Gtk2::Gdk::FillRule)

boolean = $region−>rect_equal ($rectangle)

$rectangle (Gtk2::Gdk::Rectangle)

Since: gtk+ 2.18

overlaptype = $region−>rect_in ($rect)

$rect (Gtk2::Gdk::Rectangle)

region = Gtk2::Gdk::Region−>rectangle ($rectangle)

$rectangle (Gtk2::Gdk::Rectangle)

list = $region−>get_rectangles
Returns a list of rectangles (Gtk2::Gdk::Rectangle’s), the area covered by the region.

$region−>shrink ($dx, $dy)

$dx (integer)

$dy (integer)

$region−>spans_intersect_foreach ($spans_ref, $sorted, $func, $data=undef)

$spans_ref (scalar) arrayref of triples [$x1,$y1,$width1, $x2,$y2,$width2, ...]

$sorted (boolean)

$func (scalar)

$data (scalar)

Call $function for horizontal lines which intersect $region.

$spans_ref is an arrayref of x,y,width horizontal lines. If $sorted is true then they’re assumed to be sorted by increasing y coordinate (allowing a single pass across the region rectangles). $function is called

&$function ($x, $y, $width, $data)

for each portion of a span which intersects $region. $function must not change $region.

$region−>spans_intersect_foreach ([ 0,0,50, 20,20,100, 0,10,50 ],
0, # spans not sorted by y
\&my_callback,
'hello'); # userdata
sub my_callback {
my ($x, $y, $width, $userdata) = @_;
print "$userdata: $x, $y, $width\n";
}

$source1−>subtract ($source2)

$source2 (Gtk2::Gdk::Region)

$source1−>union ($source2)

$source2 (Gtk2::Gdk::Region)

$region−>union_with_rect ($rect)

$rect (Gtk2::Gdk::Rectangle)

$source1−>xor ($source2)

$source2 (Gtk2::Gdk::Region)

ENUMS AND FLAGS

enum Gtk2::Gdk::FillRule

’even−odd−rule’ / ’ GDK_EVEN_ODD_RULE

’winding−rule’ / ’ GDK_WINDING_RULE

enum Gtk2::Gdk::OverlapType

’in’ / ’ GDK_OVERLAP_RECTANGLE_IN

’out’ / ’ GDK_OVERLAP_RECTANGLE_OUT

’part’ / ’ GDK_OVERLAP_RECTANGLE_PART

SEE ALSO

Gtk2, Glib::Boxed

COPYRIGHT

Copyright (C) 2003−2011 by the gtk2−perl team.

This software is licensed under the LGPL. See Gtk2 for a full notice.