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 GdkRGBA
is used to represent a color, in a way that is compatible
with cairo’s notion of color.
GdkRGBA
is a convenient way to pass colors around. It’s based on
cairo’s way to deal with colors and mirrors its behavior. All values
are in the range from 0.0 to 1.0 inclusive. So the color
(0.0, 0.0, 0.0, 0.0) represents transparent black and
(1.0, 1.0, 1.0, 1.0) is opaque white. Other values will
be clamped to this range when drawing.
Synopsis
- newtype RGBA = RGBA (ManagedPtr RGBA)
- newZeroRGBA :: MonadIO m => m RGBA
- rGBACopy :: (HasCallStack, MonadIO m) => RGBA -> m RGBA
- rGBAEqual :: (HasCallStack, MonadIO m) => RGBA -> RGBA -> m Bool
- rGBAFree :: (HasCallStack, MonadIO m) => RGBA -> m ()
- rGBAHash :: (HasCallStack, MonadIO m) => RGBA -> m Word32
- rGBAIsClear :: (HasCallStack, MonadIO m) => RGBA -> m Bool
- rGBAIsOpaque :: (HasCallStack, MonadIO m) => RGBA -> m Bool
- rGBAParse :: (HasCallStack, MonadIO m) => RGBA -> Text -> m Bool
- rGBAToString :: (HasCallStack, MonadIO m) => RGBA -> m Text
- getRGBAAlpha :: MonadIO m => RGBA -> m Float
- setRGBAAlpha :: MonadIO m => RGBA -> Float -> m ()
- getRGBABlue :: MonadIO m => RGBA -> m Float
- setRGBABlue :: MonadIO m => RGBA -> Float -> m ()
- getRGBAGreen :: MonadIO m => RGBA -> m Float
- setRGBAGreen :: MonadIO m => RGBA -> Float -> m ()
- getRGBARed :: MonadIO m => RGBA -> m Float
- setRGBARed :: MonadIO m => RGBA -> Float -> m ()
Exported types
Memory-managed wrapper type.
Instances
Eq RGBA Source # | |
GBoxed RGBA Source # | |
Defined in GI.Gdk.Structs.RGBA | |
ManagedPtrNewtype RGBA Source # | |
Defined in GI.Gdk.Structs.RGBA toManagedPtr :: RGBA -> ManagedPtr RGBA # | |
TypedObject RGBA Source # | |
Defined in GI.Gdk.Structs.RGBA | |
HasParentTypes RGBA Source # | |
Defined in GI.Gdk.Structs.RGBA | |
tag ~ 'AttrSet => Constructible RGBA tag Source # | |
Defined in GI.Gdk.Structs.RGBA | |
IsGValue (Maybe RGBA) Source # | Convert |
Defined in GI.Gdk.Structs.RGBA | |
type ParentTypes RGBA Source # | |
Defined in GI.Gdk.Structs.RGBA |
Methods
Click to display all available methods, including inherited ones
copy
:: (HasCallStack, MonadIO m) | |
=> RGBA |
|
-> m RGBA | Returns: A newly allocated |
Makes a copy of a GdkRGBA
.
The result must be freed through rGBAFree
.
equal
:: (HasCallStack, MonadIO m) | |
=> RGBA |
|
-> RGBA |
|
-> m Bool | Returns: |
Compares two GdkRGBA
colors.
free
hash
:: (HasCallStack, MonadIO m) | |
=> RGBA |
|
-> m Word32 | Returns: The hash value for |
A hash function suitable for using for a hash
table that stores GdkRGBA
s.
isClear
:: (HasCallStack, MonadIO m) | |
=> RGBA |
|
-> m Bool | Returns: |
Checks if an rgba
value is transparent.
That is, drawing with the value would not produce any change.
isOpaque
:: (HasCallStack, MonadIO m) | |
=> RGBA |
|
-> m Bool | Returns: |
Checks if an rgba
value is opaque.
That is, drawing with the value will not retain any results from previous contents.
parse
:: (HasCallStack, MonadIO m) | |
=> RGBA |
|
-> Text |
|
-> m Bool | Returns: |
Parses a textual representation of a color.
The string can be either one of:
- A standard name (Taken from the CSS specification).
- A hexadecimal value in the form “#rgb”, “#rrggbb”, “#rrrgggbbb” or ”#rrrrggggbbbb”
- A hexadecimal value in the form “#rgba”, “#rrggbbaa”, or ”#rrrrggggbbbbaaaa”
- A RGB color in the form “rgb(r,g,b)” (In this case the color will have full opacity)
- A RGBA color in the form “rgba(r,g,b,a)”
- A HSL color in the form "hsl(hue, saturation, lightness)"
- A HSLA color in the form "hsla(hue, saturation, lightness, alpha)"
Where “r”, “g”, “b” and “a” are respectively the red, green, blue and alpha color values. In the last two cases, “r”, “g”, and “b” are either integers in the range 0 to 255 or percentage values in the range 0% to 100%, and a is a floating point value in the range 0 to 1.
toString
:: (HasCallStack, MonadIO m) | |
=> RGBA |
|
-> m Text | Returns: A newly allocated text string |
Returns a textual specification of rgba
in the form
rgb(r,g,b)
or rgba(r,g,b,a)
, where “r”, “g”, “b” and
“a” represent the red, green, blue and alpha values
respectively. “r”, “g”, and “b” are represented as integers
in the range 0 to 255, and “a” is represented as a floating
point value in the range 0 to 1.
These string forms are string forms that are supported by
the CSS3 colors module, and can be parsed by rGBAParse
.
Note that this string representation may lose some precision, since “r”, “g” and “b” are represented as 8-bit integers. If this is a concern, you should use a different representation.
Properties
alpha
The opacity of the color from 0.0 for completely translucent to 1.0 for opaque
getRGBAAlpha :: MonadIO m => RGBA -> m Float Source #
Get the value of the “alpha
” field.
When overloading is enabled, this is equivalent to
get
rGBA #alpha
setRGBAAlpha :: MonadIO m => RGBA -> Float -> m () Source #
Set the value of the “alpha
” field.
When overloading is enabled, this is equivalent to
set
rGBA [ #alpha:=
value ]
blue
The intensity of the blue channel from 0.0 to 1.0 inclusive
getRGBABlue :: MonadIO m => RGBA -> m Float Source #
Get the value of the “blue
” field.
When overloading is enabled, this is equivalent to
get
rGBA #blue
setRGBABlue :: MonadIO m => RGBA -> Float -> m () Source #
Set the value of the “blue
” field.
When overloading is enabled, this is equivalent to
set
rGBA [ #blue:=
value ]
green
The intensity of the green channel from 0.0 to 1.0 inclusive
getRGBAGreen :: MonadIO m => RGBA -> m Float Source #
Get the value of the “green
” field.
When overloading is enabled, this is equivalent to
get
rGBA #green
setRGBAGreen :: MonadIO m => RGBA -> Float -> m () Source #
Set the value of the “green
” field.
When overloading is enabled, this is equivalent to
set
rGBA [ #green:=
value ]
red
The intensity of the red channel from 0.0 to 1.0 inclusive
getRGBARed :: MonadIO m => RGBA -> m Float Source #
Get the value of the “red
” field.
When overloading is enabled, this is equivalent to
get
rGBA #red
setRGBARed :: MonadIO m => RGBA -> Float -> m () Source #
Set the value of the “red
” field.
When overloading is enabled, this is equivalent to
set
rGBA [ #red:=
value ]