cd-icc

cd-icc — An object to read and write a binary ICC profile

Synopsis

#define             CD_ICC_ERROR
#define             CD_ICC_TYPE_ERROR
enum                CdIccError;
void                (*_cd_icc_reserved1)                (void);
void                (*_cd_icc_reserved2)                (void);
void                (*_cd_icc_reserved3)                (void);
void                (*_cd_icc_reserved4)                (void);
void                (*_cd_icc_reserved5)                (void);
void                (*_cd_icc_reserved6)                (void);
void                (*_cd_icc_reserved7)                (void);
void                (*_cd_icc_reserved8)                (void);
enum                CdIccLoadFlags;
enum                CdIccSaveFlags;
GQuark              cd_icc_error_quark                  (void);
CdIcc *             cd_icc_new                          (void);
gboolean            cd_icc_load_data                    (CdIcc *icc,
                                                         const guint8 *data,
                                                         gsize data_len,
                                                         CdIccLoadFlags flags,
                                                         GError **error);
gboolean            cd_icc_load_file                    (CdIcc *icc,
                                                         GFile *file,
                                                         CdIccLoadFlags flags,
                                                         GCancellable *cancellable,
                                                         GError **error);
gboolean            cd_icc_load_fd                      (CdIcc *icc,
                                                         gint fd,
                                                         CdIccLoadFlags flags,
                                                         GError **error);
gboolean            cd_icc_load_handle                  (CdIcc *icc,
                                                         gpointer handle,
                                                         CdIccLoadFlags flags,
                                                         GError **error);
GBytes *            cd_icc_save_data                    (CdIcc *icc,
                                                         CdIccSaveFlags flags,
                                                         GError **error);
gboolean            cd_icc_save_file                    (CdIcc *icc,
                                                         GFile *file,
                                                         CdIccSaveFlags flags,
                                                         GCancellable *cancellable,
                                                         GError **error);
gboolean            cd_icc_save_default                 (CdIcc *icc,
                                                         CdIccSaveFlags flags,
                                                         GCancellable *cancellable,
                                                         GError **error);
gchar *             cd_icc_to_string                    (CdIcc *icc);
gpointer            cd_icc_get_handle                   (CdIcc *icc);
guint32             cd_icc_get_size                     (CdIcc *icc);
const gchar *       cd_icc_get_filename                 (CdIcc *icc);
void                cd_icc_set_filename                 (CdIcc *icc,
                                                         const gchar *filename);
gdouble             cd_icc_get_version                  (CdIcc *icc);
void                cd_icc_set_version                  (CdIcc *icc,
                                                         gdouble version);
CdProfileKind       cd_icc_get_kind                     (CdIcc *icc);
void                cd_icc_set_kind                     (CdIcc *icc,
                                                         CdProfileKind kind);
CdColorspace        cd_icc_get_colorspace               (CdIcc *icc);
void                cd_icc_set_colorspace               (CdIcc *icc,
                                                         CdColorspace colorspace);
GHashTable *        cd_icc_get_metadata                 (CdIcc *icc);
const gchar *       cd_icc_get_metadata_item            (CdIcc *icc,
                                                         const gchar *key);
void                cd_icc_add_metadata                 (CdIcc *icc,
                                                         const gchar *key,
                                                         const gchar *value);
void                cd_icc_remove_metadata              (CdIcc *icc,
                                                         const gchar *key);
GPtrArray *         cd_icc_get_named_colors             (CdIcc *icc);
gboolean            cd_icc_get_can_delete               (CdIcc *icc);
GDateTime *         cd_icc_get_created                  (CdIcc *icc);
const gchar *       cd_icc_get_checksum                 (CdIcc *icc);
const gchar *       cd_icc_get_description              (CdIcc *icc,
                                                         const gchar *locale,
                                                         GError **error);
const gchar *       cd_icc_get_characterization_data    (CdIcc *icc);
void                cd_icc_set_characterization_data    (CdIcc *icc,
                                                         const gchar *data);
const gchar *       cd_icc_get_copyright                (CdIcc *icc,
                                                         const gchar *locale,
                                                         GError **error);
const gchar *       cd_icc_get_manufacturer             (CdIcc *icc,
                                                         const gchar *locale,
                                                         GError **error);
const gchar *       cd_icc_get_model                    (CdIcc *icc,
                                                         const gchar *locale,
                                                         GError **error);
void                cd_icc_set_description              (CdIcc *icc,
                                                         const gchar *locale,
                                                         const gchar *value);
void                cd_icc_set_description_items        (CdIcc *icc,
                                                         GHashTable *values);
void                cd_icc_set_copyright                (CdIcc *icc,
                                                         const gchar *locale,
                                                         const gchar *value);
void                cd_icc_set_copyright_items          (CdIcc *icc,
                                                         GHashTable *values);
void                cd_icc_set_manufacturer             (CdIcc *icc,
                                                         const gchar *locale,
                                                         const gchar *value);
void                cd_icc_set_manufacturer_items       (CdIcc *icc,
                                                         GHashTable *values);
void                cd_icc_set_model                    (CdIcc *icc,
                                                         const gchar *locale,
                                                         const gchar *value);
void                cd_icc_set_model_items              (CdIcc *icc,
                                                         GHashTable *values);
const CdColorXYZ *  cd_icc_get_red                      (CdIcc *icc);
const CdColorXYZ *  cd_icc_get_green                    (CdIcc *icc);
const CdColorXYZ *  cd_icc_get_blue                     (CdIcc *icc);
const CdColorXYZ *  cd_icc_get_white                    (CdIcc *icc);
guint               cd_icc_get_temperature              (CdIcc *icc);
GArray *            cd_icc_get_warnings                 (CdIcc *icc);
gboolean            cd_icc_create_from_edid             (CdIcc *icc,
                                                         gdouble gamma_value,
                                                         const CdColorYxy *red,
                                                         const CdColorYxy *green,
                                                         const CdColorYxy *blue,
                                                         const CdColorYxy *white,
                                                         GError **error);
gboolean            cd_icc_create_from_edid_data        (CdIcc *icc,
                                                         CdEdid *edid,
                                                         GError **error);
gboolean            cd_icc_create_default               (CdIcc *icc,
                                                         GError **error);
GPtrArray *         cd_icc_get_vcgt                     (CdIcc *icc,
                                                         guint size,
                                                         GError **error);
gboolean            cd_icc_set_vcgt                     (CdIcc *icc,
                                                         GPtrArray *vcgt,
                                                         GError **error);
GPtrArray *         cd_icc_get_response                 (CdIcc *icc,
                                                         guint size,
                                                         GError **error);

Description

Details

CD_ICC_ERROR

#define CD_ICC_ERROR		(cd_icc_error_quark ())


CD_ICC_TYPE_ERROR

#define CD_ICC_TYPE_ERROR (cd_icc_error_get_type ())


enum CdIccError

typedef enum {
	CD_ICC_ERROR_FAILED_TO_OPEN,			/* Since: 0.1.32 */
	CD_ICC_ERROR_FAILED_TO_PARSE,			/* Since: 0.1.32 */
	CD_ICC_ERROR_INVALID_LOCALE,			/* Since: 0.1.32 */
	CD_ICC_ERROR_NO_DATA,				/* Since: 0.1.32 */
	CD_ICC_ERROR_FAILED_TO_SAVE,			/* Since: 0.1.32 */
	CD_ICC_ERROR_FAILED_TO_CREATE,			/* Since: 0.1.32 */
	CD_ICC_ERROR_INVALID_COLORSPACE,		/* Since: 0.1.34 */
	CD_ICC_ERROR_CORRUPTION_DETECTED,		/* Since: 1.1.1 */
	CD_ICC_ERROR_INTERNAL,				/* Since: 1.1.1 */
} CdIccError;

The ICC error code.

CD_ICC_ERROR_FAILED_TO_OPEN

Failed to open file

CD_ICC_ERROR_FAILED_TO_PARSE

Failed to parse data

CD_ICC_ERROR_INVALID_LOCALE

Locale was invalid

CD_ICC_ERROR_NO_DATA

No data to read

CD_ICC_ERROR_FAILED_TO_SAVE

Failed to save file

CD_ICC_ERROR_FAILED_TO_CREATE

Failed to create file

CD_ICC_ERROR_INVALID_COLORSPACE

Invalid colorspace

CD_ICC_ERROR_CORRUPTION_DETECTED

Corruption has been detected

CD_ICC_ERROR_INTERNAL

Something inside LCMS broke

_cd_icc_reserved1 ()

void                (*_cd_icc_reserved1)                (void);


_cd_icc_reserved2 ()

void                (*_cd_icc_reserved2)                (void);


_cd_icc_reserved3 ()

void                (*_cd_icc_reserved3)                (void);


_cd_icc_reserved4 ()

void                (*_cd_icc_reserved4)                (void);


_cd_icc_reserved5 ()

void                (*_cd_icc_reserved5)                (void);


_cd_icc_reserved6 ()

void                (*_cd_icc_reserved6)                (void);


_cd_icc_reserved7 ()

void                (*_cd_icc_reserved7)                (void);


_cd_icc_reserved8 ()

void                (*_cd_icc_reserved8)                (void);


enum CdIccLoadFlags

typedef enum {
	CD_ICC_LOAD_FLAGS_NONE		= 0,		/* Since: 0.1.32 */
	CD_ICC_LOAD_FLAGS_NAMED_COLORS = (1 << 0), /* Since: 0.1.32 */
	CD_ICC_LOAD_FLAGS_TRANSLATIONS = (1 << 1), /* Since: 0.1.32 */
	CD_ICC_LOAD_FLAGS_METADATA = (1 << 2), /* Since: 0.1.32 */
	CD_ICC_LOAD_FLAGS_FALLBACK_MD5 = (1 << 3), /* Since: 0.1.32 */
	CD_ICC_LOAD_FLAGS_PRIMARIES = (1 << 4), /* Since: 0.1.32 */
	CD_ICC_LOAD_FLAGS_CHARACTERIZATION = (1 << 5), /* Since: 1.1.1 */
	/* new entries go here: */
	CD_ICC_LOAD_FLAGS_ALL		= 0xff,		/* Since: 0.1.32 */
} CdIccLoadFlags;

Flags used when loading an ICC profile.

CD_ICC_LOAD_FLAGS_NONE

No flags set.

CD_ICC_LOAD_FLAGS_NAMED_COLORS

Parse any named colors in the profile.

CD_ICC_LOAD_FLAGS_TRANSLATIONS

Parse all translations in the profile.

CD_ICC_LOAD_FLAGS_METADATA

Parse the metadata in the profile.

CD_ICC_LOAD_FLAGS_FALLBACK_MD5

Calculate the profile MD5 if a profile ID was not supplied in the profile.

CD_ICC_LOAD_FLAGS_PRIMARIES

Parse the primaries in the profile.

CD_ICC_LOAD_FLAGS_CHARACTERIZATION

Load the characterization data from the profile

CD_ICC_LOAD_FLAGS_ALL

Since 0.1.32


enum CdIccSaveFlags

typedef enum {
	CD_ICC_SAVE_FLAGS_NONE		= 0,		/* Since: 0.1.32 */
} CdIccSaveFlags;

Flags used when saving an ICC profile.

CD_ICC_SAVE_FLAGS_NONE

No flags set.

Since 0.1.32


cd_icc_error_quark ()

GQuark              cd_icc_error_quark                  (void);

Returns :

An error quark.

Since 0.1.32


cd_icc_new ()

CdIcc *             cd_icc_new                          (void);

Creates a new CdIcc object.

Returns :

a new CdIcc object.

Since 0.1.32


cd_icc_load_data ()

gboolean            cd_icc_load_data                    (CdIcc *icc,
                                                         const guint8 *data,
                                                         gsize data_len,
                                                         CdIccLoadFlags flags,
                                                         GError **error);

Loads an ICC profile from raw byte data.

icc :

a CdIcc instance.

data :

binary data

data_len :

Length of data

flags :

a set of CdIccLoadFlags

error :

A GError or NULL

Since 0.1.32


cd_icc_load_file ()

gboolean            cd_icc_load_file                    (CdIcc *icc,
                                                         GFile *file,
                                                         CdIccLoadFlags flags,
                                                         GCancellable *cancellable,
                                                         GError **error);

Loads an ICC profile from a local or remote file.

icc :

a CdIcc instance.

file :

a GFile

flags :

a set of CdIccLoadFlags

cancellable :

A GCancellable or NULL

error :

A GError or NULL

Since 0.1.32


cd_icc_load_fd ()

gboolean            cd_icc_load_fd                      (CdIcc *icc,
                                                         gint fd,
                                                         CdIccLoadFlags flags,
                                                         GError **error);

Loads an ICC profile from an open file descriptor.

icc :

a CdIcc instance.

fd :

a file descriptor

flags :

a set of CdIccLoadFlags

error :

A GError or NULL

Since 0.1.32


cd_icc_load_handle ()

gboolean            cd_icc_load_handle                  (CdIcc *icc,
                                                         gpointer handle,
                                                         CdIccLoadFlags flags,
                                                         GError **error);

Set the internal cmsHPROFILE instance. This may be required if you create the profile using cmsCreateRGBProfile() and then want to use the functionality in CdIcc.

Do not call cmsCloseProfile() on handle in the caller, this will be done when the icc object is finalized. Treat the profile like it's been adopted by this module.

To handle the internal error callback, you should use the thread-safe creation function, e.g. cmsCreateNULLProfileTHR(). The context_id should be set as the value as the icc parameter.

Additionally, this function cannot be called more than once, and also can't be called if cd_icc_load_file() has previously been used on the icc object.

icc :

a CdIcc instance.

handle :

a cmsHPROFILE instance

flags :

a set of CdIccLoadFlags

error :

A GError or NULL

Since 0.1.33


cd_icc_save_data ()

GBytes *            cd_icc_save_data                    (CdIcc *icc,
                                                         CdIccSaveFlags flags,
                                                         GError **error);

Saves an ICC profile to an allocated memory location.

Return vale: A GBytes structure, or NULL for error

icc :

a CdIcc instance.

flags :

a set of CdIccSaveFlags

error :

A GError or NULL

Since 1.0.2


cd_icc_save_file ()

gboolean            cd_icc_save_file                    (CdIcc *icc,
                                                         GFile *file,
                                                         CdIccSaveFlags flags,
                                                         GCancellable *cancellable,
                                                         GError **error);

Saves an ICC profile to a local or remote file.

Return vale: TRUE for success.

icc :

a CdIcc instance.

file :

a GFile

flags :

a set of CdIccSaveFlags

cancellable :

A GCancellable or NULL

error :

A GError or NULL

Since 0.1.32


cd_icc_save_default ()

gboolean            cd_icc_save_default                 (CdIcc *icc,
                                                         CdIccSaveFlags flags,
                                                         GCancellable *cancellable,
                                                         GError **error);

Saves an ICC profile to the default per-user location.

Return vale: TRUE for success.

icc :

a CdIcc instance.

flags :

a set of CdIccSaveFlags

cancellable :

A GCancellable or NULL

error :

A GError or NULL

Since 1.1.1


cd_icc_to_string ()

gchar *             cd_icc_to_string                    (CdIcc *icc);

Returns a string representation of the ICC profile.

icc :

a CdIcc instance.

Returns :

an allocated string

Since 0.1.32


cd_icc_get_handle ()

gpointer            cd_icc_get_handle                   (CdIcc *icc);

Return the cmsHPROFILE instance used locally. This may be required if you are using the profile in a transform.

icc :

a CdIcc instance.

Returns :

Do not call cmsCloseProfile() on this value!. [transfer none]

cd_icc_get_size ()

guint32             cd_icc_get_size                     (CdIcc *icc);

Gets the ICC profile file size

Returns :

The size in bytes, or 0 for unknown.

Since 0.1.32


cd_icc_get_filename ()

const gchar *       cd_icc_get_filename                 (CdIcc *icc);

Gets the filename of the ICC data, if one exists.

icc :

A valid CdIcc

Returns :

A filename, or NULL

Since 0.1.32


cd_icc_set_filename ()

void                cd_icc_set_filename                 (CdIcc *icc,
                                                         const gchar *filename);

Sets the filename, which may be required if the ICC profile has been loaded using cd_icc_load_fd() from a disk cache.

icc :

a CdIcc instance.

filename :

a filename, or NULL

Since 1.1.1


cd_icc_get_version ()

gdouble             cd_icc_get_version                  (CdIcc *icc);

Gets the ICC profile version, typically 2.1 or 4.2

icc :

a CdIcc instance.

Returns :

A floating point version number, or 0.0 for unknown

Since 0.1.32


cd_icc_set_version ()

void                cd_icc_set_version                  (CdIcc *icc,
                                                         gdouble version);

Sets the profile version.

icc :

a CdIcc instance.

version :

the profile version, e.g. 2.1 or 4.0

Since 0.1.32


cd_icc_get_kind ()

CdProfileKind       cd_icc_get_kind                     (CdIcc *icc);

Gets the profile kind.

icc :

a CdIcc instance.

Returns :

The kind, e.g. CD_PROFILE_KIND_INPUT

Since 0.1.32


cd_icc_set_kind ()

void                cd_icc_set_kind                     (CdIcc *icc,
                                                         CdProfileKind kind);

Sets the profile kind.

icc :

a CdIcc instance.

kind :

the profile kind, e.g. CD_PROFILE_KIND_DISPLAY_DEVICE

Since 0.1.32


cd_icc_get_colorspace ()

CdColorspace        cd_icc_get_colorspace               (CdIcc *icc);

Gets the profile colorspace

icc :

a CdIcc instance.

Returns :

The profile colorspace, e.g. CD_COLORSPACE_RGB

Since 0.1.32


cd_icc_set_colorspace ()

void                cd_icc_set_colorspace               (CdIcc *icc,
                                                         CdColorspace colorspace);

Sets the colorspace kind.

icc :

a CdIcc instance.

colorspace :

the profile colorspace, e.g. CD_COLORSPACE_RGB

Since 0.1.32


cd_icc_get_metadata ()

GHashTable *        cd_icc_get_metadata                 (CdIcc *icc);

Gets all the metadata from the ICC profile.

icc :

A valid CdIcc

Returns :

The profile metadata. [transfer container]

Since 0.1.32


cd_icc_get_metadata_item ()

const gchar *       cd_icc_get_metadata_item            (CdIcc *icc,
                                                         const gchar *key);

Gets an item of data from the ICC metadata store.

icc :

A valid CdIcc

key :

the dictionary key

Returns :

The dictionary data, or NULL if the key does not exist.

Since 0.1.32


cd_icc_add_metadata ()

void                cd_icc_add_metadata                 (CdIcc *icc,
                                                         const gchar *key,
                                                         const gchar *value);

Sets an item of data to the profile metadata, overwriting it if it already exists.

icc :

A valid CdIcc

key :

the metadata key

value :

the metadata value

Since 0.1.32


cd_icc_remove_metadata ()

void                cd_icc_remove_metadata              (CdIcc *icc,
                                                         const gchar *key);

Removes an item of metadata.

icc :

A valid CdIcc

key :

the metadata key

Since 0.1.32


cd_icc_get_named_colors ()

GPtrArray *         cd_icc_get_named_colors             (CdIcc *icc);

Gets any named colors in the profile. This function will only return results if the profile was loaded with the CD_ICC_LOAD_FLAGS_NAMED_COLORS flag.

icc :

a CdIcc instance.

Returns :

An array of color swatches. [transfer container][element-type CdColorSwatch]

Since 0.1.32


cd_icc_get_can_delete ()

gboolean            cd_icc_get_can_delete               (CdIcc *icc);

Finds out if the profile could be deleted. This is only applicable for profiles loaded with cd_icc_load_file() as obviously data and fd's cannot be sanely unlinked.

icc :

a CdIcc instance.

Returns :

TRUE if g_file_delete() would likely work

Since 0.1.32


cd_icc_get_created ()

GDateTime *         cd_icc_get_created                  (CdIcc *icc);

Gets the ICC creation date and time.

icc :

A valid CdIcc

Returns :

A GDateTime object, or NULL for not set

Since 0.1.32


cd_icc_get_checksum ()

const gchar *       cd_icc_get_checksum                 (CdIcc *icc);

Gets the profile checksum if one exists. This will either be the embedded profile ID, or the file checksum if the CdIcc object was loaded using cd_icc_load_data() or cd_icc_load_file() and the CD_ICC_LOAD_FLAGS_FALLBACK_MD5 flag is used.

icc :

A valid CdIcc

Returns :

An embedded MD5 checksum, or NULL for not set

Since 0.1.32


cd_icc_get_description ()

const gchar *       cd_icc_get_description              (CdIcc *icc,
                                                         const gchar *locale,
                                                         GError **error);

Gets the profile description. If the translated text is not available in the selected locale then the default untranslated (en_US) text is returned.

icc :

A valid CdIcc

locale :

A locale, e.g. "en_GB.UTF-8" or NULL for the profile default

error :

A GError or NULL

Returns :

The text as a UTF-8 string, or NULL of the locale is invalid or the tag does not exist.

Since 0.1.32


cd_icc_get_characterization_data ()

const gchar *       cd_icc_get_characterization_data    (CdIcc *icc);

Gets any characterization data used to build the profile. This function will only return results if the profile was loaded with the CD_ICC_LOAD_FLAGS_CHARACTERIZATION flag.

icc :

a CdIcc instance.

Returns :

TI3 string data

Since 1.1.1


cd_icc_set_characterization_data ()

void                cd_icc_set_characterization_data    (CdIcc *icc,
                                                         const gchar *data);

Sets the characterization data used to build the profile.

icc :

a CdIcc instance.

data :

TI3 string data, or NULL

Since 1.1.1


cd_icc_get_copyright ()

const gchar *       cd_icc_get_copyright                (CdIcc *icc,
                                                         const gchar *locale,
                                                         GError **error);

Gets the profile copyright. If the translated text is not available in the selected locale then the default untranslated (en_US) text is returned.

icc :

A valid CdIcc

locale :

A locale, e.g. "en_GB.UTF-8" or NULL for the profile default

error :

A GError or NULL

Returns :

The text as a UTF-8 string, or NULL of the locale is invalid or the tag does not exist.

Since 0.1.32


cd_icc_get_manufacturer ()

const gchar *       cd_icc_get_manufacturer             (CdIcc *icc,
                                                         const gchar *locale,
                                                         GError **error);

Gets the profile manufacturer. If the translated text is not available in the selected locale then the default untranslated (en_US) text is returned.

icc :

A valid CdIcc

locale :

A locale, e.g. "en_GB.UTF-8" or NULL for the profile default

error :

A GError or NULL

Returns :

The text as a UTF-8 string, or NULL of the locale is invalid or the tag does not exist.

Since 0.1.32


cd_icc_get_model ()

const gchar *       cd_icc_get_model                    (CdIcc *icc,
                                                         const gchar *locale,
                                                         GError **error);

Gets the profile model. If the translated text is not available in the selected locale then the default untranslated (en_US) text is returned.

icc :

A valid CdIcc

locale :

A locale, e.g. "en_GB.UTF-8" or NULL for the profile default

error :

A GError or NULL

Returns :

The text as a UTF-8 string, or NULL of the locale is invalid or the tag does not exist.

Since 0.1.32


cd_icc_set_description ()

void                cd_icc_set_description              (CdIcc *icc,
                                                         const gchar *locale,
                                                         const gchar *value);

Sets the profile description for a specific locale.

icc :

A valid CdIcc

locale :

A locale, e.g. "en_GB.UTF-8" or NULL for the profile default

value :

New string value

Since 0.1.32


cd_icc_set_description_items ()

void                cd_icc_set_description_items        (CdIcc *icc,
                                                         GHashTable *values);

Sets the profile descriptions for specific locales.

icc :

A valid CdIcc

values :

New translated values, with the key being the locale.

Since 0.1.32


cd_icc_set_copyright ()

void                cd_icc_set_copyright                (CdIcc *icc,
                                                         const gchar *locale,
                                                         const gchar *value);

Sets the profile _copyright for a specific locale.

icc :

A valid CdIcc

locale :

A locale, e.g. "en_GB.UTF-8" or NULL for the profile default

value :

New string value

Since 0.1.32


cd_icc_set_copyright_items ()

void                cd_icc_set_copyright_items          (CdIcc *icc,
                                                         GHashTable *values);

Sets the profile copyrights for specific locales.

icc :

A valid CdIcc

values :

New translated values, with the key being the locale.

Since 0.1.32


cd_icc_set_manufacturer ()

void                cd_icc_set_manufacturer             (CdIcc *icc,
                                                         const gchar *locale,
                                                         const gchar *value);

Sets the profile manufacturer for a specific locale.

icc :

A valid CdIcc

locale :

A locale, e.g. "en_GB.UTF-8" or NULL for the profile default

value :

New string value

Since 0.1.32


cd_icc_set_manufacturer_items ()

void                cd_icc_set_manufacturer_items       (CdIcc *icc,
                                                         GHashTable *values);

Sets the profile manufacturers for specific locales.

icc :

A valid CdIcc

values :

New translated values, with the key being the locale.

Since 0.1.32


cd_icc_set_model ()

void                cd_icc_set_model                    (CdIcc *icc,
                                                         const gchar *locale,
                                                         const gchar *value);

Sets the profile model for a specific locale.

icc :

A valid CdIcc

locale :

A locale, e.g. "en_GB.UTF-8" or NULL for the profile default

value :

New string value

Since 0.1.32


cd_icc_set_model_items ()

void                cd_icc_set_model_items              (CdIcc *icc,
                                                         GHashTable *values);

Sets the profile models for specific locales.

icc :

A valid CdIcc

values :

New translated values, with the key being the locale.

Since 0.1.32


cd_icc_get_red ()

const CdColorXYZ *  cd_icc_get_red                      (CdIcc *icc);

Gets the profile red chromaticity value. This function will only return results if the profile was loaded with the CD_ICC_LOAD_FLAGS_PRIMARIES flag.

icc :

a valid CdIcc instance

Returns :

the CdColorXYZ value

Since 0.1.32


cd_icc_get_green ()

const CdColorXYZ *  cd_icc_get_green                    (CdIcc *icc);

Gets the profile green chromaticity value. This function will only return results if the profile was loaded with the CD_ICC_LOAD_FLAGS_PRIMARIES flag.

icc :

a valid CdIcc instance

Returns :

the CdColorXYZ value

Since 0.1.32


cd_icc_get_blue ()

const CdColorXYZ *  cd_icc_get_blue                     (CdIcc *icc);

Gets the profile red chromaticity value. This function will only return results if the profile was loaded with the CD_ICC_LOAD_FLAGS_PRIMARIES flag.

icc :

a valid CdIcc instance

Returns :

the CdColorXYZ value

Since 0.1.32


cd_icc_get_white ()

const CdColorXYZ *  cd_icc_get_white                    (CdIcc *icc);

Gets the profile white point. This function will only return results if the profile was loaded with the CD_ICC_LOAD_FLAGS_PRIMARIES flag.

icc :

a valid CdIcc instance

Returns :

the CdColorXYZ value

Since 0.1.32


cd_icc_get_temperature ()

guint               cd_icc_get_temperature              (CdIcc *icc);

Gets the ICC color temperature, rounded to the nearest 100K. This function will only return results if the profile was loaded with the CD_ICC_LOAD_FLAGS_PRIMARIES flag.

icc :

A valid CdIcc

Returns :

The color temperature in Kelvin, or 0 for error.

Since 0.1.32


cd_icc_get_warnings ()

GArray *            cd_icc_get_warnings                 (CdIcc *icc);

Returns any warnings with profiles

icc :

a CdIcc instance.

Returns :

An array of warning values. [transfer container][element-type CdProfileWarning]

Since 0.1.34


cd_icc_create_from_edid ()

gboolean            cd_icc_create_from_edid             (CdIcc *icc,
                                                         gdouble gamma_value,
                                                         const CdColorYxy *red,
                                                         const CdColorYxy *green,
                                                         const CdColorYxy *blue,
                                                         const CdColorYxy *white,
                                                         GError **error);

Creates an ICC profile from EDID data.

icc :

A valid CdIcc

gamma_value :

approximate device gamma

red :

primary color value

green :

primary color value

blue :

primary color value

white :

whitepoint value

error :

A GError, or NULL

Returns :

TRUE for success

Since 0.1.32


cd_icc_create_from_edid_data ()

gboolean            cd_icc_create_from_edid_data        (CdIcc *icc,
                                                         CdEdid *edid,
                                                         GError **error);

Creates an ICC profile from EDID data.

icc :

A valid CdIcc

edid :

EDID data

error :

A GError, or NULL

Returns :

TRUE for success

Since 1.1.2


cd_icc_create_default ()

gboolean            cd_icc_create_default               (CdIcc *icc,
                                                         GError **error);

Creates a default sRGB ICC profile.

icc :

A valid CdIcc

error :

A GError, or NULL

Returns :

TRUE for success

Since 1.1.2


cd_icc_get_vcgt ()

GPtrArray *         cd_icc_get_vcgt                     (CdIcc *icc,
                                                         guint size,
                                                         GError **error);

Gets the video card calibration data from the profile.

icc :

A valid CdIcc

size :

the desired size of the table data

error :

A GError or NULL

Returns :

VCGT data, or NULL for error. [transfer container][element-type CdColorRGB]

Since 0.1.34


cd_icc_set_vcgt ()

gboolean            cd_icc_set_vcgt                     (CdIcc *icc,
                                                         GPtrArray *vcgt,
                                                         GError **error);

Sets the Video Card Gamma Table from the profile.

Return vale: TRUE for success.

icc :

A valid CdIcc

vcgt :

video card calibration data. [element-type CdColorRGB]

error :

A GError or NULL

Since 0.1.34


cd_icc_get_response ()

GPtrArray *         cd_icc_get_response                 (CdIcc *icc,
                                                         guint size,
                                                         GError **error);

Generates a response curve of a specified size.

icc :

A valid CdIcc

size :

the size of the curve to generate

error :

a valid GError, or NULL

Returns :

response data, or NULL for error. [transfer container][element-type CdColorRGB]

Since 0.1.34