gi-gdk-3.0.28: Gdk bindings

Copyright | Will Thompson and Iñaki García Etxebarria
License | LGPL-2.1
Maintainer | Iñaki García Etxebarria
Safe Haskell | Safe-Inferred
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
- 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

Instances details

Eq RGBA Source # |
Instance details Defined in GI.Gdk.Structs.RGBA Methods (==) :: RGBA -> RGBA -> Bool Source # (/=) :: RGBA -> RGBA -> Bool Source #
GBoxed RGBA Source # |
Instance details Defined in GI.Gdk.Structs.RGBA
ManagedPtrNewtype RGBA Source # |
Instance details Defined in GI.Gdk.Structs.RGBA Methods toManagedPtr :: RGBA -> ManagedPtr RGBA Source #
TypedObject RGBA Source # |
Instance details Defined in GI.Gdk.Structs.RGBA Methods glibType :: IO GType Source #
HasParentTypes RGBA Source # |
Instance details Defined in GI.Gdk.Structs.RGBA
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 #
IsGValue (Maybe RGBA) Source # | Convert `RGBA` to and from `GValue`. See `toGValue` and `fromGValue`.
Instance details Defined in GI.Gdk.Structs.RGBA Methods gvalueGType_ :: IO GType Source # gvalueSet_ :: Ptr GValue -> Maybe RGBA -> IO () Source # gvalueGet_ :: Ptr GValue -> IO (Maybe RGBA) Source #
type ParentTypes RGBA Source # |
Instance details Defined in GI.Gdk.Structs.RGBA type ParentTypes RGBA = '[] :: [Type]

newZeroRGBA :: MonadIO m => m RGBA Source #

Construct a `RGBA` struct initialized to zero.

# Methods

### Click to display all available methods, including inherited ones

Expand

#### Methods

copy, equal, free, hash, parse, toString.

#### Getters

None.

#### Setters

None.

## 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 “#rgb”, “#rrggbb”, “#rrrgggbbb” or ”#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 ]