gi-gdk-4.0.4: Gdk bindings
CopyrightWill Thompson and Iñaki García Etxebarria
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellSafe-Inferred
LanguageHaskell2010

GI.Gdk.Structs.RGBA

Description

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

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 #

(/=) :: RGBA -> RGBA -> Bool #

GBoxed RGBA Source # 
Instance details

Defined in GI.Gdk.Structs.RGBA

ManagedPtrNewtype RGBA Source # 
Instance details

Defined in GI.Gdk.Structs.RGBA

TypedObject RGBA Source # 
Instance details

Defined in GI.Gdk.Structs.RGBA

Methods

glibType :: IO GType #

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 #

IsGValue (Maybe RGBA) Source #

Convert RGBA to and from GValue. See toGValue and fromGValue.

Instance details

Defined in GI.Gdk.Structs.RGBA

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, isClear, isOpaque, parse, toString.

Getters

None.

Setters

None.

copy

rGBACopy Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> RGBA

rgba: a GdkRGBA

-> m RGBA

Returns: A newly allocated GdkRGBA, with the same contents as rgba

Makes a copy of a GdkRGBA.

The result must be freed through rGBAFree.

equal

rGBAEqual Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> RGBA

p1: a GdkRGBA

-> RGBA

p2: another GdkRGBA

-> m Bool

Returns: True if the two colors compare equal

Compares two GdkRGBA colors.

free

rGBAFree Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> RGBA

rgba: a GdkRGBA

-> m () 

Frees a GdkRGBA.

hash

rGBAHash Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> RGBA

p: a GdkRGBA

-> m Word32

Returns: The hash value for p

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

isClear

rGBAIsClear Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> RGBA

rgba: a GdkRGBA

-> m Bool

Returns: True if the rgba is clear

Checks if an rgba value is transparent.

That is, drawing with the value would not produce any change.

isOpaque

rGBAIsOpaque Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> RGBA

rgba: a GdkRGBA

-> m Bool

Returns: True if the rgba is opaque

Checks if an rgba value is opaque.

That is, drawing with the value will not retain any results from previous contents.

parse

rGBAParse Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> RGBA

rgba: the GdkRGBA 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.

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 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)”

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

rGBAToString Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> RGBA

rgba: a GdkRGBA

-> 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 ]