gtk-0.12.4: Binding to the Gtk+ graphical user interface library.

Portabilityportable (depends on GHC)
Stabilityprovisional
Maintainergtk2hs-users@lists.sourceforge.net
Safe HaskellNone

Graphics.UI.Gtk.Gdk.Region

Description

A set of rectangles describing areas to be redrawn.

  • Regions consist of a set of non-overlapping rectangles. They are used to specify the area of a window which needs updating.

Synopsis

Documentation

newtype Region

Constructors

Region (ForeignPtr Region) 

Instances

regionNew :: IO Region

Create an empty region.

data FillRule

Specify how to interpret a polygon.

  • The flag determines what happens if a polygon has overlapping areas.

Constructors

EvenOddRule 
WindingRule 

Instances

regionPolygon :: [Point] -> FillRule -> IO Region

Convert a polygon into a Region.

regionRectangle :: Rectangle -> IO Region

Convert a rectangle to a Region.

regionGetClipbox :: Region -> IO Rectangle

Smallest rectangle including the Region.

regionGetRectangles :: Region -> IO [Rectangle]

Turn the Region into its rectangles.

A Region is a set of horizontal bands. Each band consists of one or more rectangles of the same height. No rectangles in a band touch.

regionEmpty :: Region -> IO Bool

Test if a Region is empty.

regionEqual :: Region -> Region -> IO Bool

Compares two Regions for equality.

regionPointIn :: Region -> Point -> IO Bool

Checks if a point it is within a region.

data OverlapType

How a rectangle is contained in a Region.

Instances

regionRectIn :: Region -> Rectangle -> IO OverlapType

Check if a rectangle is within a region.

regionOffset :: Region -> Int -> Int -> IO ()

Move a region.

regionShrink :: Region -> Int -> Int -> IO ()

Move a region.

  • Positive values shrink the region, negative values expand it.

regionUnionWithRect :: Region -> Rectangle -> IO ()

Updates the region to include the rectangle.

regionIntersect :: Region -> Region -> IO ()

Intersects one region with another.

  • Changes reg1 to include the common areas of reg1 and reg2.

regionUnion :: Region -> Region -> IO ()

Unions one region with another.

  • Changes reg1 to include reg1 and reg2.

regionSubtract :: Region -> Region -> IO ()

Removes pars of a Region.

  • Reduces the region reg1 so that is does not include any areas of reg2.

regionXor :: Region -> Region -> IO ()

XORs two Regions.

  • The exclusive or of two regions contains all areas which were not overlapping. In other words, it is the union of the regions minus their intersections.