Copyright | Will Thompson and Iñaki García Etxebarria |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | None |
Language | Haskell2010 |
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.
Instances
Eq Rectangle Source # | |
GBoxed Rectangle Source # | |
Defined in GI.Gdk.Structs.Rectangle | |
ManagedPtrNewtype Rectangle Source # | |
Defined in GI.Gdk.Structs.Rectangle | |
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 #
:: (HasCallStack, MonadIO m) | |
=> Rectangle |
|
-> Int32 |
|
-> Int32 |
|
-> m Bool | Returns: |
Returns True
if rect
contains the point described by x
and y
.
equal
:: (HasCallStack, MonadIO m) | |
=> Rectangle |
|
-> Rectangle |
|
-> m Bool | Returns: |
Checks if the two given rectangles are equal.
intersect
:: (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
:: (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
set
rectangle [ #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
set
rectangle [ #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
set
rectangle [ #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
set
rectangle [ #y:=
value ]