| Copyright | Will Thompson and Iñaki García Etxebarria |
|---|---|
| License | LGPL-2.1 |
| Maintainer | Iñaki García Etxebarria |
| Safe Haskell | None |
| Language | Haskell2010 |
GI.Gdk.Structs.Rectangle
Description
A GdkRectangle data type for representing rectangles.
GdkRectangle is identical to cairo_rectangle_t. Together with Cairo’s
cairo_region_t data type, these are the central types for representing
sets of pixels.
The intersection of two rectangles can be computed with
rectangleIntersect; to find the union of two rectangles use
rectangleUnion.
The cairo_region_t type provided by Cairo is usually used for managing
non-rectangular clipping of graphical operations.
The Graphene library has a number of other data types for regions and volumes in 2D and 3D.
Synopsis
- newtype Rectangle = Rectangle (ManagedPtr Rectangle)
- newZeroRectangle :: MonadIO m => m Rectangle
- rectangleContainsPoint :: (HasCallStack, MonadIO m) => Rectangle -> Int32 -> Int32 -> m Bool
- rectangleEqual :: (HasCallStack, MonadIO m) => Rectangle -> Rectangle -> m Bool
- rectangleIntersect :: (HasCallStack, MonadIO m) => Rectangle -> Rectangle -> m (Bool, Rectangle)
- rectangleUnion :: (HasCallStack, MonadIO m) => Rectangle -> Rectangle -> m Rectangle
- getRectangleHeight :: MonadIO m => Rectangle -> m Int32
- setRectangleHeight :: MonadIO m => Rectangle -> Int32 -> m ()
- getRectangleWidth :: MonadIO m => Rectangle -> m Int32
- setRectangleWidth :: MonadIO m => Rectangle -> Int32 -> m ()
- getRectangleX :: MonadIO m => Rectangle -> m Int32
- setRectangleX :: MonadIO m => Rectangle -> Int32 -> m ()
- getRectangleY :: MonadIO m => Rectangle -> m Int32
- setRectangleY :: MonadIO m => Rectangle -> Int32 -> m ()
Exported types
Memory-managed wrapper type.
Constructors
| Rectangle (ManagedPtr Rectangle) |
Instances
| Eq Rectangle Source # | |
| GBoxed Rectangle Source # | |
Defined in GI.Gdk.Structs.Rectangle | |
| ManagedPtrNewtype Rectangle Source # | |
Defined in GI.Gdk.Structs.Rectangle Methods | |
| TypedObject Rectangle Source # | |
Defined in GI.Gdk.Structs.Rectangle | |
| HasParentTypes Rectangle Source # | |
Defined in GI.Gdk.Structs.Rectangle | |
| tag ~ 'AttrSet => Constructible Rectangle tag Source # | |
Defined in GI.Gdk.Structs.Rectangle | |
| IsGValue (Maybe Rectangle) Source # | Convert |
Defined in GI.Gdk.Structs.Rectangle | |
| type ParentTypes Rectangle Source # | |
Defined in GI.Gdk.Structs.Rectangle | |
newZeroRectangle :: MonadIO m => m Rectangle Source #
Construct a Rectangle struct initialized to zero.
Methods
Click to display all available methods, including inherited ones
containsPoint
rectangleContainsPoint Source #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Rectangle |
|
| -> Int32 |
|
| -> Int32 |
|
| -> m Bool | Returns: |
Returns True if rect contains the point described by x and y.
equal
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Rectangle |
|
| -> Rectangle |
|
| -> m Bool | Returns: |
Checks if the two given rectangles are equal.
intersect
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Rectangle |
|
| -> Rectangle |
|
| -> m (Bool, Rectangle) | Returns: |
Calculates the intersection of two rectangles.
It is allowed for dest to be the same as either src1 or src2.
If the rectangles do not intersect, dest’s width and height is set
to 0 and its x and y values are undefined. If you are only interested
in whether the rectangles intersect, but not in the intersecting area
itself, pass Nothing for dest.
union
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Rectangle |
|
| -> Rectangle |
|
| -> m Rectangle |
Calculates the union of two rectangles.
The union of rectangles src1 and src2 is the smallest rectangle which
includes both src1 and src2 within it. It is allowed for dest to be
the same as either src1 or src2.
Note that this function does not ignore 'empty' rectangles (ie. with zero width or height).
Properties
height
the height of the rectangle
getRectangleHeight :: MonadIO m => Rectangle -> m Int32 Source #
Get the value of the “height” field.
When overloading is enabled, this is equivalent to
get rectangle #height
setRectangleHeight :: MonadIO m => Rectangle -> Int32 -> m () Source #
Set the value of the “height” field.
When overloading is enabled, this is equivalent to
setrectangle [ #height:=value ]
width
the width of the rectangle
getRectangleWidth :: MonadIO m => Rectangle -> m Int32 Source #
Get the value of the “width” field.
When overloading is enabled, this is equivalent to
get rectangle #width
setRectangleWidth :: MonadIO m => Rectangle -> Int32 -> m () Source #
Set the value of the “width” field.
When overloading is enabled, this is equivalent to
setrectangle [ #width:=value ]
x
the x coordinate of the top left corner
getRectangleX :: MonadIO m => Rectangle -> m Int32 Source #
Get the value of the “x” field.
When overloading is enabled, this is equivalent to
get rectangle #x
setRectangleX :: MonadIO m => Rectangle -> Int32 -> m () Source #
Set the value of the “x” field.
When overloading is enabled, this is equivalent to
setrectangle [ #x:=value ]
y
the y coordinate of the top left corner
getRectangleY :: MonadIO m => Rectangle -> m Int32 Source #
Get the value of the “y” field.
When overloading is enabled, this is equivalent to
get rectangle #y
setRectangleY :: MonadIO m => Rectangle -> Int32 -> m () Source #
Set the value of the “y” field.
When overloading is enabled, this is equivalent to
setrectangle [ #y:=value ]