gi-gdk-3.0.16: Gdk bindings

Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte
License | LGPL-2.1
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com)
Safe Haskell | None
Language | Haskell2010

GI.Gdk.Structs.RGBA

Contents

- Exported types
- Methods
  - copy
  - equal
  - free
  - hash
  - parse
  - toString
- Properties
  - alpha
  - blue
  - green
  - red

Description

A `RGBA` is used to represent a (possibly translucent) color, in a way that is compatible with cairo’s notion of color.

Synopsis

- newtype RGBA = RGBA (ManagedPtr RGBA)
- newZeroRGBA :: MonadIO m => m RGBA
- noRGBA :: Maybe 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
- rGBAParse :: (HasCallStack, MonadIO m) => RGBA -> Text -> m Bool
- rGBAToString :: (HasCallStack, MonadIO m) => RGBA -> m Text
- getRGBAAlpha :: MonadIO m => RGBA -> m Double
- setRGBAAlpha :: MonadIO m => RGBA -> Double -> m ()
- getRGBABlue :: MonadIO m => RGBA -> m Double
- setRGBABlue :: MonadIO m => RGBA -> Double -> m ()
- getRGBAGreen :: MonadIO m => RGBA -> m Double
- setRGBAGreen :: MonadIO m => RGBA -> Double -> m ()
- getRGBARed :: MonadIO m => RGBA -> m Double
- setRGBARed :: MonadIO m => RGBA -> Double -> m ()

# Exported types

newtype RGBA Source #

Memory-managed wrapper type.

Constructors

RGBA (ManagedPtr RGBA) |

Instances

BoxedObject RGBA Source # |
Instance details Defined in GI.Gdk.Structs.RGBA Methods boxedType :: RGBA -> IO GType Source #
tag ~ AttrSet => Constructible RGBA tag Source # |
Instance details Defined in GI.Gdk.Structs.RGBA Methods new :: MonadIO m => (ManagedPtr RGBA -> RGBA) -> [AttrOp RGBA tag] -> m RGBA Source #

newZeroRGBA :: MonadIO m => m RGBA Source #

Construct a `RGBA` struct initialized to zero.

noRGBA :: Maybe RGBA Source #

A convenience alias for `Nothing` :: `Maybe` `RGBA`.

# Methods

## copy

rGBACopy Source #

Arguments

:: (HasCallStack, MonadIO m) |
=> RGBA | `rgba`: a `RGBA`
-> m RGBA | Returns: A newly allocated `RGBA`, with the same contents as `rgba`

Makes a copy of a `RGBA`.

The result must be freed through `rGBAFree`.

Since: 3.0

## equal

rGBAEqual Source #

Arguments

:: (HasCallStack, MonadIO m) |
=> RGBA | `p1`: a `RGBA` pointer
-> RGBA | `p2`: another `RGBA` pointer
-> m Bool | Returns: `True` if the two colors compare equal

Compares two RGBA colors.

Since: 3.0

## free

rGBAFree Source #

Arguments

:: (HasCallStack, MonadIO m) |
=> RGBA | `rgba`: a `RGBA`
-> m () |

Frees a `RGBA` created with `rGBACopy`

Since: 3.0

## hash

rGBAHash Source #

Arguments

:: (HasCallStack, MonadIO m) |
=> RGBA | `p`: a `RGBA` pointer
-> m Word32 | Returns: The hash value for `p`

A hash function suitable for using for a hash table that stores `GdkRGBAs`.

Since: 3.0

## parse

rGBAParse Source #

Arguments

:: (HasCallStack, MonadIO m) |
=> RGBA | `rgba`: the `RGBA` to fill in
-> Text | `spec`: the string specifying the color
-> m Bool | Returns: `True` if the parsing succeeded

Parses a textual representation of a color, filling in the `red`, `green`, `blue` and `alpha` fields of the `rgba` `RGBA`.

The string can be either one of:

- A standard name (Taken from the X11 rgb.txt file).
- A hexadecimal value in the form “rrggbb”, “rrrrggggbbbb”
- 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)”

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.

Since: 3.0

## toString

rGBAToString Source #

Arguments

:: (HasCallStack, MonadIO m) |
=> RGBA | `rgba`: a `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.

Since: 3.0

# Properties

## alpha

The opacity of the color from 0.0 for completely translucent to 1.0 for opaque

getRGBAAlpha :: MonadIO m => RGBA -> m Double Source #

Get the value of the “`alpha`” field. When overloading is enabled, this is equivalent to

    get rGBA #alpha

setRGBAAlpha :: MonadIO m => RGBA -> Double -> 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 Double Source #

Get the value of the “`blue`” field. When overloading is enabled, this is equivalent to

    get rGBA #blue

setRGBABlue :: MonadIO m => RGBA -> Double -> 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 Double Source #

Get the value of the “`green`” field. When overloading is enabled, this is equivalent to

    get rGBA #green

setRGBAGreen :: MonadIO m => RGBA -> Double -> 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 Double Source #

Get the value of the “`red`” field. When overloading is enabled, this is equivalent to

    get rGBA #red

setRGBARed :: MonadIO m => RGBA -> Double -> m () Source #

Set the value of the “`red`” field. When overloading is enabled, this is equivalent to

    set rGBA [ #red := value ]