113 lines
2.7 KiB
C
113 lines
2.7 KiB
C
|
/* LIBPIKA - The PIKA Library
|
||
|
* Copyright (C) 1995-1997 Peter Mattis and Spencer Kimball
|
||
|
*
|
||
|
* This library is free software: you can redistribute it and/or
|
||
|
* modify it under the terms of the GNU Lesser General Public
|
||
|
* License as published by the Free Software Foundation; either
|
||
|
* version 3 of the License, or (at your option) any later version.
|
||
|
*
|
||
|
* This library is distributed in the hope that it will be useful,
|
||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||
|
* Library General Public License for more details.
|
||
|
*
|
||
|
* You should have received a copy of the GNU Lesser General Public
|
||
|
* License along with this library. If not, see
|
||
|
* <https://www.gnu.org/licenses/>.
|
||
|
*/
|
||
|
|
||
|
#ifndef __PIKA_COLOR_TYPES_H__
|
||
|
#define __PIKA_COLOR_TYPES_H__
|
||
|
|
||
|
|
||
|
#include <libpikabase/pikabasetypes.h>
|
||
|
#include <libpikaconfig/pikaconfigtypes.h>
|
||
|
|
||
|
|
||
|
G_BEGIN_DECLS
|
||
|
|
||
|
/* For information look into the C source or the html documentation */
|
||
|
|
||
|
|
||
|
typedef struct _PikaColorManaged PikaColorManaged; /* dummy typedef */
|
||
|
typedef struct _PikaColorProfile PikaColorProfile;
|
||
|
typedef struct _PikaColorTransform PikaColorTransform;
|
||
|
|
||
|
|
||
|
/* usually we don't keep the structure definitions in the types file
|
||
|
* but PikaRGB appears in too many header files...
|
||
|
*/
|
||
|
|
||
|
typedef struct _PikaRGB PikaRGB;
|
||
|
typedef struct _PikaHSV PikaHSV;
|
||
|
typedef struct _PikaHSL PikaHSL;
|
||
|
typedef struct _PikaCMYK PikaCMYK;
|
||
|
|
||
|
/**
|
||
|
* PikaRGB:
|
||
|
* @r: the red component
|
||
|
* @g: the green component
|
||
|
* @b: the blue component
|
||
|
* @a: the alpha component
|
||
|
*
|
||
|
* Used to keep RGB and RGBA colors. All components are in a range of
|
||
|
* [0.0..1.0].
|
||
|
**/
|
||
|
struct _PikaRGB
|
||
|
{
|
||
|
gdouble r, g, b, a;
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
* PikaHSV:
|
||
|
* @h: the hue component
|
||
|
* @s: the saturation component
|
||
|
* @v: the value component
|
||
|
* @a: the alpha component
|
||
|
*
|
||
|
* Used to keep HSV and HSVA colors. All components are in a range of
|
||
|
* [0.0..1.0].
|
||
|
**/
|
||
|
struct _PikaHSV
|
||
|
{
|
||
|
gdouble h, s, v, a;
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
* PikaHSL:
|
||
|
* @h: the hue component
|
||
|
* @s: the saturation component
|
||
|
* @l: the lightness component
|
||
|
* @a: the alpha component
|
||
|
*
|
||
|
* Used to keep HSL and HSLA colors. All components are in a range of
|
||
|
* [0.0..1.0].
|
||
|
**/
|
||
|
struct _PikaHSL
|
||
|
{
|
||
|
gdouble h, s, l, a;
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
* PikaCMYK:
|
||
|
* @c: the cyan component
|
||
|
* @m: the magenta component
|
||
|
* @y: the yellow component
|
||
|
* @k: the black component
|
||
|
* @a: the alpha component
|
||
|
*
|
||
|
* Used to keep CMYK and CMYKA colors. All components are in a range
|
||
|
* of [0.0..1.0]. An alpha value is somewhat useless in the CMYK
|
||
|
* colorspace, but we keep one around anyway so color conversions
|
||
|
* going to CMYK and back can preserve alpha.
|
||
|
**/
|
||
|
struct _PikaCMYK
|
||
|
{
|
||
|
gdouble c, m, y, k, a;
|
||
|
};
|
||
|
|
||
|
|
||
|
G_END_DECLS
|
||
|
|
||
|
#endif /* __PIKA_COLOR_TYPES_H__ */
|