Scroll to navigation

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

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.

2019-09-16 perl v5.28.1