cd-color

cd-color — Color object data functionality

Functions

Types and Values

Object Hierarchy

    GBoxed
    ├── CdColorLab
    ├── CdColorRGB
    ├── CdColorSwatch
    ├── CdColorXYZ
    ╰── CdColorYxy

Description

Functions to manipulate color values.

Functions

cd_color_swatch_get_name ()

const gchar *
cd_color_swatch_get_name (const CdColorSwatch *swatch);

Returns

Since 0.1.32


cd_color_swatch_get_value ()

const CdColorLab *
cd_color_swatch_get_value (const CdColorSwatch *swatch);

Returns

Since 0.1.32


cd_color_xyz_new ()

CdColorXYZ *
cd_color_xyz_new (void);

Allocates a color value.

Returns

A newly allocated CdColorXYZ object

Since 0.1.0


cd_color_lab_new ()

CdColorLab *
cd_color_lab_new (void);

Allocates a color value.

Returns

A newly allocated CdColorLab object

Since 0.1.32


cd_color_rgb_new ()

CdColorRGB *
cd_color_rgb_new (void);

Allocates a color value.

Returns

A newly allocated CdColorRGB object

Since 0.1.0


cd_color_yxy_new ()

CdColorYxy *
cd_color_yxy_new (void);

Allocates a color value.

Returns

A newly allocated CdColorYxy object

Since 0.1.0


cd_color_swatch_new ()

CdColorSwatch *
cd_color_swatch_new (void);

Allocates a color value.

Returns

A newly allocated CdColorYxy object

Since 0.1.32


cd_color_xyz_free ()

void
cd_color_xyz_free (CdColorXYZ *src);

Deallocates a color value.

Parameters

src

the color object

 

Since 0.1.0


cd_color_rgb_free ()

void
cd_color_rgb_free (CdColorRGB *src);

Deallocates a color value.

Parameters

src

the color object

 

Since 0.1.0


cd_color_lab_free ()

void
cd_color_lab_free (CdColorLab *src);

Deallocates a color value.

Parameters

src

the color object

 

Since 0.1.32


cd_color_yxy_free ()

void
cd_color_yxy_free (CdColorYxy *src);

Deallocates a color value.

Parameters

src

the color object

 

Since 0.1.0


cd_color_swatch_free ()

void
cd_color_swatch_free (CdColorSwatch *src);

Deallocates a color swatch.

Parameters

src

the color object

 

Since 0.1.32


cd_color_xyz_dup ()

CdColorXYZ *
cd_color_xyz_dup (const CdColorXYZ *src);

Returns

Since 0.1.27


cd_color_lab_dup ()

CdColorLab *
cd_color_lab_dup (const CdColorLab *src);

Returns

Since 0.1.32


cd_color_rgb_dup ()

CdColorRGB *
cd_color_rgb_dup (const CdColorRGB *src);

Returns

Since 0.1.27


cd_color_yxy_dup ()

CdColorYxy *
cd_color_yxy_dup (const CdColorYxy *src);

Returns

Since 0.1.27


cd_color_swatch_dup ()

CdColorSwatch *
cd_color_swatch_dup (const CdColorSwatch *src);

Returns

Since 0.1.32


cd_color_xyz_set ()

void
cd_color_xyz_set (CdColorXYZ *dest,
                  gdouble X,
                  gdouble Y,
                  gdouble Z);

Initialises a color value.

Parameters

dest

the destination color

 

X

component value

 

Y

component value

 

Z

component value

 

Since 0.1.27


cd_color_rgb_set ()

void
cd_color_rgb_set (CdColorRGB *dest,
                  gdouble R,
                  gdouble G,
                  gdouble B);

Initialises a color value.

Parameters

dest

the destination color

 

R

component value

 

G

component value

 

B

component value

 

Since 0.1.27


cd_color_lab_set ()

void
cd_color_lab_set (CdColorLab *dest,
                  gdouble L,
                  gdouble a,
                  gdouble b);

Initialises a color value.

Parameters

dest

the destination color

 

L

component value

 

a

component value

 

b

component value

 

Since 0.1.32


cd_color_yxy_set ()

void
cd_color_yxy_set (CdColorYxy *dest,
                  gdouble Y,
                  gdouble x,
                  gdouble y);

Initialises a color value.

Parameters

dest

the destination color

 

Y

component value

 

x

component value

 

y

component value

 

Since 0.1.27


cd_color_swatch_set_name ()

void
cd_color_swatch_set_name (CdColorSwatch *dest,
                          const gchar *name);

Initialises a swatch name.

Parameters

dest

the destination swatch

 

name

component name

 

Since 0.1.32


cd_color_swatch_set_value ()

void
cd_color_swatch_set_value (CdColorSwatch *dest,
                           const CdColorLab *value);

Initialises a swatch value.

Parameters

dest

the destination swatch

 

value

component value

 

Since 0.1.32


cd_color_xyz_copy ()

void
cd_color_xyz_copy (const CdColorXYZ *src,
                   CdColorXYZ *dest);

Deep copies a color value.

Parameters

src

the source color

 

dest

the destination color

 

Since 0.1.27


cd_color_yxy_copy ()

void
cd_color_yxy_copy (const CdColorYxy *src,
                   CdColorYxy *dest);

Deep copies a color value.

Parameters

src

the source color

 

dest

the destination color

 

Since 0.1.27


cd_color_lab_copy ()

void
cd_color_lab_copy (const CdColorLab *src,
                   CdColorLab *dest);

Deep copies a color value.

Parameters

src

the source color

 

dest

the destination color

 

Since 0.1.32


cd_color_xyz_clear ()

void
cd_color_xyz_clear (CdColorXYZ *dest);

Initialises a color value.

Parameters

dest

the destination color

 

Since 0.1.27


cd_color_rgb_copy ()

void
cd_color_rgb_copy (const CdColorRGB *src,
                   CdColorRGB *dest);

Deep copies a color value.

Parameters

src

the source color

 

dest

the destination color

 

Since 0.1.27


cd_color_rgb8_to_rgb ()

void
cd_color_rgb8_to_rgb (const CdColorRGB8 *src,
                      CdColorRGB *dest);

Convert from one color format to another.

Parameters

src

the source color

 

dest

the destination color

 

Since 0.1.27


cd_color_rgb_to_rgb8 ()

void
cd_color_rgb_to_rgb8 (const CdColorRGB *src,
                      CdColorRGB8 *dest);

Convert from one color format to another.

Parameters

src

the source color

 

dest

the destination color

 

Since 0.1.27


cd_color_yxy_to_xyz ()

void
cd_color_yxy_to_xyz (const CdColorYxy *src,
                     CdColorXYZ *dest);

Convert from one color format to another.

Parameters

src

the source color

 

dest

the destination color

 

Since 0.1.27


cd_color_xyz_to_yxy ()

void
cd_color_xyz_to_yxy (const CdColorXYZ *src,
                     CdColorYxy *dest);

Convert from one color format to another.

Parameters

src

the source color

 

dest

the destination color

 

Since 0.1.27


cd_color_get_blackbody_rgb ()

void
cd_color_get_blackbody_rgb (guint temp,
                            CdColorRGB *result);

Get the blackbody color for a specific temperature.

Parameters

temp

the temperature in Kelvin

 

result

the destination color

 

Since 0.1.26


cd_color_rgb_interpolate ()

void
cd_color_rgb_interpolate (const CdColorRGB *p1,
                          const CdColorRGB *p2,
                          gdouble index,
                          CdColorRGB *result);

Since 0.1.26


cd_color_rgb_array_new ()

GPtrArray *
cd_color_rgb_array_new (void);

Creates a new RGB array.

Returns

New array.

[element-type CdColorRGB][transfer full]

Since 0.1.31


cd_color_rgb_array_is_monotonic ()

gboolean
cd_color_rgb_array_is_monotonic (const GPtrArray *array);

Checks the array for monotonicity.

Parameters

array

Input array.

[element-type CdColorRGB]

Returns

TRUE if the array is monotonic

Since 0.1.31


cd_color_rgb_array_interpolate ()

GPtrArray *
cd_color_rgb_array_interpolate (const GPtrArray *array,
                                guint new_length);

Interpolate the RGB array to a different size. This uses the Akima interpolation algorithm unless the array would become non-monotonic, in which case it falls back to linear interpolation.

Parameters

array

Input array.

[element-type CdColorRGB]

new_length

the target length of the return array

 

Returns

An array of size new_length or NULL.

[element-type CdColorRGB][transfer full]

Since 0.1.31

Types and Values

CdColorRGB8

typedef struct {
	guint8	 R;
	guint8	 G;
	guint8	 B;
} CdColorRGB8;