gtk-0.12.4: Binding to the Gtk+ graphical user interface library.

Portability | portable (depends on GHC)
Stability | provisional
Maintainer | gtk2hs-users@lists.sourceforge.net
Safe Haskell | None

Graphics.UI.Gtk.Selectors.HSV

Contents

- Detail
- Class Hierarchy
- Types
- Constructors
- Methods
- Attributes
- Signals

Description

A 'color wheel' widget

- Module available since Gtk+ version 2.14

Synopsis

- data HSV
- class WidgetClass o => HSVClass o
- castToHSV :: GObjectClass obj => obj -> HSV
- toHSV :: HSVClass o => o -> HSV
- hsvNew :: IO HSV
- hsvIsAdjusting :: HSVClass self => self -> IO Bool
- hsvToRgb :: (Double, Double, Double) -> (Double, Double, Double)
- rgbToHsv :: (Double, Double, Double) -> (Double, Double, Double)
- hsvColor :: HSVClass self => Attr self (Double, Double, Double)
- hsvMetrics :: HSVClass self => Attr self (Int, Int)
- hsvChanged :: HSVClass self => Signal self (IO ())
- hsvMove :: HSVClass self => Signal self (DirectionType -> IO ())

# Detail

`HSV` is the 'color wheel' part of a complete color selector widget. It allows to select a color by determining its `HSV` components in an intuitive way. Moving the selection around the outer ring changes the hue, and moving the selection point inside the inner triangle changes value and saturation.

# Class Hierarchy

     | GObject
     | +----Object
     | +----Widget
     | +----HSV

# Types

data HSV

Instances

Eq HSV |
Ord HSV |
GObjectClass HSV |
HSVClass HSV |
WidgetClass HSV |
ObjectClass HSV |

class WidgetClass o => HSVClass o

Instances

HSVClass HSV |

castToHSV :: GObjectClass obj => obj -> HSV

toHSV :: HSVClass o => o -> HSV

# Constructors

hsvNew :: IO HSV

Creates a new `HSV` color selector.

- Available since 2.14

# Methods

hsvIsAdjusting

Arguments

:: HSVClass self |
=> self |
-> IO Bool | returns `True` if clients can ignore changes to the color value, since they may be transitory, or `False` if they should consider the color value status to be final.

An `HSV` color selector can be said to be adjusting if multiple rapid changes are being made to its value, for example, when the user is adjusting the value with the mouse. This function queries whether the `HSV` color selector is being adjusted or not.

hsvToRgb

Arguments

:: (Double, Double, Double) | `(h, s, v)` `h` - value for the hue `s` value for the saturation `v` value for the value
-> (Double, Double, Double) | `(r, g, b)` `r` - Return value for the red component `g` - Return value for the green component `b` - Return value for the blue component

Converts a color from `HSV` space to RGB. Input values must be in the [0.0, 1.0] range; output values will be in the same range.

rgbToHsv

Arguments

:: (Double, Double, Double) | `(r, g, b)` `r` value for the red component `g` value for the green component `b` value for the blue component
-> (Double, Double, Double) | `(h, s, v)` `h` - Return value for the hue `s` - Return value for the saturation `v` - Return value for the value

Converts a color from RGB space to `HSV`. Input values must be in the [0.0, 1.0] range; output values will be in the same range.

# Attributes

hsvColor :: HSVClass self => Attr self (Double, Double, Double)

Color in an `HSV` color selector. Color component values must be in the [0.0, 1.0] range.

hsvMetrics :: HSVClass self => Attr self (Int, Int)

The size and ring width of an `HSV` color selector.

# Signals

hsvChanged :: HSVClass self => Signal self (IO ())

hsvMove :: HSVClass self => Signal self (DirectionType -> IO ())