Gtk2HsContentsIndex
Graphics.UI.Gtk.Gdk.Region
Portabilityportable (depends on GHC)
Stabilityprovisional
Maintainergtk2hs-users@lists.sourceforge.net
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
makeNewRegion :: Ptr Region -> IO Region
newtype Region = Region (ForeignPtr Region)
regionNew :: IO Region
data FillRule
= EvenOddRule
| WindingRule
regionPolygon :: [Point] -> FillRule -> IO Region
regionCopy :: Region -> IO Region
regionRectangle :: Rectangle -> IO Region
regionGetClipbox :: Region -> IO Rectangle
regionGetRectangles :: Region -> IO [Rectangle]
regionEmpty :: Region -> IO Bool
regionEqual :: Region -> Region -> IO Bool
regionPointIn :: Region -> Point -> IO Bool
data OverlapType
= OverlapRectangleIn
| OverlapRectangleOut
| OverlapRectanglePart
regionRectIn :: Region -> Rectangle -> IO OverlapType
regionOffset :: Region -> Int -> Int -> IO ()
regionShrink :: Region -> Int -> Int -> IO ()
regionUnionWithRect :: Region -> Rectangle -> IO ()
regionIntersect :: Region -> Region -> IO ()
regionUnion :: Region -> Region -> IO ()
regionSubtract :: Region -> Region -> IO ()
regionXor :: Region -> Region -> IO ()
Documentation
makeNewRegion :: Ptr Region -> IO Region
newtype Region
Constructors
Region (ForeignPtr Region)
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
show/hide Instances
regionPolygon :: [Point] -> FillRule -> IO Region
Convert a polygon into a Region.
regionCopy :: Region -> IO Region
Copy 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.
Constructors
OverlapRectangleIn
OverlapRectangleOut
OverlapRectanglePart
show/hide 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.
Produced by Haddock version 0.7