Gtk2::Gdk::Region(3) User Contributed Perl Documentation Gtk2::Gdk::Region(3)

Gtk2::Gdk::Region - wrapper for GdkRegion

Glib::Boxed
+----Gtk2::Gdk::Region

region = Gtk2::Gdk::Region->new

boolean = $region->empty

$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

$rect (Gtk2::Gdk::Rectangle)

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

$rectangle (Gtk2::Gdk::Rectangle)

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)

  • 'even-odd-rule' / 'GDK_EVEN_ODD_RULE'
  • 'winding-rule' / 'GDK_WINDING_RULE'

  • 'in' / 'GDK_OVERLAP_RECTANGLE_IN'
  • 'out' / 'GDK_OVERLAP_RECTANGLE_OUT'
  • 'part' / 'GDK_OVERLAP_RECTANGLE_PART'

Gtk2, Glib::Boxed

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

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

2022-05-29 perl v5.36.0