ruby-****@sourc*****
ruby-****@sourc*****
2003年 10月 6日 (月) 17:48:07 JST
------------------------- REMOTE_ADDR = 61.204.181.66 REMOTE_HOST = URL = http://ruby-gnome2.sourceforge.jp/?Gdk%3A%3ARegion ------------------------- = class Gdk::Region Gdk::Region is an opaque data type holding a set of arbitrary pixels, and is usually used for clipping graphical operations (see Gdk::GC#set_clip_region()). == Object Hierarchy * Object * GLib::Boxed * Gdk::Region == Class Methods --- Gdk::Region.new Creates a new empty Gdk::Region. * Returns : a new empty Gdk::Region. --- Gdk::Region.new(rectangle) Creates a new region containing the area rectangle. * rectangle: a Gdk::Rectangle * Returns: a new Gdk::Region --- Gdk::Region.new(points, fill_rule) Creates a new Gdk::Region using the polygon defined by a number of points. * points: [[x1, y1], [x2, y2], ... ]: an array of points. * fill_rule: specifies which pixels are included in the region when the polygon overlaps itself. (((<GdkFillRule|Gdk::Region#GdkFillRule>))) * Returns: a new Gdk::Region based on the given polygon. == Instance Methods --- clipbox Returns the smallest rectangle which includes the entire Gdk::Region. * Returns: the smallest rectangle(Gdk::Rectangle) which includes all of region. --- rectangles Obtains the area covered by the region as a list of rectangles. * Returns: an array of rectangles(Gdk::Rectangle) --- empty? Returns true if the Gdk::Region is empty. * Returns: true if region is empty. --- ==(other) Returns true if the two regions are the same value. * other: a Gdk::Region. * Returns: true if self and other are equal. --- point_in?(x, y) Returns true if a point is in a region. * x: the x coordinate of a point. * y: the y coordinate of a point. * Returns: true if the point is in region. --- rect_in(rectangle) Tests whether a rectangle is within a region. * rect: a Gdk::Rectangle. * Returns: Gdk::Region::OVERLAP_RECTANGLE_IN, Gdk::Region::OVERLAP_RECTANGLE_OUT, or Gdk::Region::OVERLAP_RECTANGLE_PART, depending on whether the rectangle is inside, outside, or partly inside the Gdk::Region, respectively. --- offset(dx, dy) Moves a region the specified distance. * dx: the distance to move the region horizontally. * dy: the distance to move the region vertically. * Returns: self --- shrink(dx, dy) Resizes a region by the specified amount. Positive values shrink the region. Negative values expand it. * dx: the number of pixels to shrink the region horizontally. * dy: the number of pixels to shrink the region vertically. * Returns: self --- union(other) Sets the area of this region to the union of the areas of self and other. The resulting area is the set of pixels contained in either region or rect. * other: a Gdk::Region or a Gdk::Rectangle * Returns: self --- intersect(other) Sets the area of this region to the intersection of the areas of self and other. The resulting area is the set of pixels contained in both self and other. * other: a Gdk::Region * Returns: self --- subtract(other) Subtracts the area of other from the area of this region. The resulting area is the set of pixels contained in self but not in other. * other: a Gdk::Region * Returns: self --- xor(other) Sets the area of this region to the exclusive-OR of the areas of self and other. The resulting area is the set of pixels contained in one or the other of the two sources but not in both. * other: a Gdk::Region * Returns: self --- spans_intersect_each(spans, sorted){|span| ...} Calls a block on each span in the intersection of region and spans. * spans: an array of spans(Gdk::Span) * sorted: true if spans is sorted wrt. the y coordinate * {|span| ...}: a block to call on each span in the intersection * span: a Gdk::Span * Returns: self == Constants === GdkFillRule The method for determining which pixels are included in a region, when creating a Gdk::Region from a polygon. The fill rule is only relevant for polygons which overlap themselves. --- EVEN_ODD_RULE areas which are overlapped an odd number of times are included in the region, while areas overlapped an even number of times are not. --- WINDING_RULE overlapping areas are always included. === GdkOverlapType Specifies the possible values returned by Gdk::Region#rect_in. --- OVERLAP_RECTANGLE_IN if the rectangle is inside the GdkRegion. --- OVERLAP_RECTANGLE_OUT if the rectangle is outside the GdkRegion. --- OVERLAP_RECTANGLE_PART the rectangle is partly inside the GdkRegion. == See Also Gdk::Rectangle, Gdk::Span -((<Masao>))