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

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

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.

This module is empty when built with Gtk3 because Pixmap has been removed.

Synopsis

Documentation

newtype Region Source

Constructors

Region (ForeignPtr Region) 

Instances

regionNew :: IO Region Source

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 

Instances

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

Convert a polygon into a Region.

regionRectangle :: Rectangle -> IO Region Source

Convert a rectangle to a Region.

regionGetClipbox :: Region -> IO Rectangle Source

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 Bool Source

Test if a Region is empty.

regionEqual :: Region -> Region -> IO Bool Source

Compares two Regions for equality.

regionPointIn :: Region -> Point -> IO Bool Source

Checks if a point it is within a region.

data OverlapType Source

How a rectangle is contained in a Region.

regionRectIn :: Region -> Rectangle -> IO OverlapType Source

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.