gtk-0.11.0: Binding to the Gtk+ graphical user interface library.Source codeContentsIndex
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 RegionSource
newtype Region Source
Constructors
Region (ForeignPtr Region)
regionNew :: IO RegionSource
Create an empty region.
data FillRule Source

Specify how to interpret a polygon.

  • The flag determines what happens if a polygon has overlapping areas.
Constructors
EvenOddRule
WindingRule
regionPolygon :: [Point] -> FillRule -> IO RegionSource
Convert a polygon into a Region.
regionCopy :: Region -> IO RegionSource
Copy a Region.
regionRectangle :: Rectangle -> IO RegionSource
Convert a rectangle to a Region.
regionGetClipbox :: Region -> IO RectangleSource
Smallest rectangle including the Region.
regionGetRectangles :: Region -> IO [Rectangle]Source

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 BoolSource
Test if a Region is empty.
regionEqual :: Region -> Region -> IO BoolSource
Compares two Regions for equality.
regionPointIn :: Region -> Point -> IO BoolSource
Checks if a point it is within a region.
data OverlapType Source
How a rectangle is contained in a Region.
Constructors
OverlapRectangleIn
OverlapRectangleOut
OverlapRectanglePart
regionRectIn :: Region -> Rectangle -> IO OverlapTypeSource
Check if a rectangle is within a region.
regionOffset :: Region -> Int -> Int -> IO ()Source
Move a region.
regionShrink :: Region -> Int -> Int -> IO ()Source

Move a region.

  • Positive values shrink the region, negative values expand it.
regionUnionWithRect :: Region -> Rectangle -> IO ()Source
Updates the region to include the rectangle.
regionIntersect :: Region -> Region -> IO ()Source

Intersects one region with another.

  • Changes reg1 to include the common areas of reg1 and reg2.
regionUnion :: Region -> Region -> IO ()Source

Unions one region with another.

  • Changes reg1 to include reg1 and reg2.
regionSubtract :: Region -> Region -> IO ()Source

Removes pars of a Region.

  • Reduces the region reg1 so that is does not include any areas of reg2.
regionXor :: Region -> Region -> IO ()Source

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 2.6.0