Oyranos Color Management System API - Version 0.9.6
Modules | Data Structures | Macros | Enumerations | Functions
ICC Profile APIs

Select, read, manipulate and write ICC Profiles in memory and on disk. More...

Collaboration diagram for ICC Profile APIs:

Modules

 Profile Lists API
 Fast profile name lists.
 
 Profile Handling API
 Basic profile helpers.
 
 ICC helpers
 Functions to convert and interprete ICC defined enums.
 

Data Structures

struct  oyProfile_s
 A profile and its attributes. More...
 
struct  oyProfiles_s
 Tell about the conversion profiles. More...
 
struct  oyProfileTag_s
 A profile constituting element. More...
 

Macros

#define OY_NO_CACHE_READ   0x01
 
#define OY_NO_CACHE_WRITE   0x02
 
#define OY_FROM_PROFILE   0x04
 
#define OY_COMPUTE   0x08
 
#define OY_ICC_VERSION_2   0x10
 
#define OY_ICC_VERSION_4   0x20
 
#define OY_SKIP_NON_DEFAULT_PATH   0x40
 
#define OY_NO_REPAIR   0x80
 
#define OY_ALLOW_DUPLICATES   0x100
 

Enumerations

enum  oySIGNATURE_TYPE_e {
  oySIGNATURE_COLOR_SPACE, oySIGNATURE_PCS, oySIGNATURE_SIZE, oySIGNATURE_CMM,
  oySIGNATURE_VERSION, oySIGNATURE_CLASS, oySIGNATURE_MAGIC, oySIGNATURE_PLATFORM,
  oySIGNATURE_OPTIONS, oySIGNATURE_MANUFACTURER, oySIGNATURE_MODEL, oySIGNATURE_INTENT,
  oySIGNATURE_CREATOR, oySIGNATURE_DATETIME_YEAR, oySIGNATURE_DATETIME_MONTH, oySIGNATURE_DATETIME_DAY,
  oySIGNATURE_DATETIME_HOURS, oySIGNATURE_DATETIME_MINUTES, oySIGNATURE_DATETIME_SECONDS, oySIGNATURE_ILLUMINANT,
  oySIGNATURE_ILLUMINANT_Y, oySIGNATURE_ILLUMINANT_Z, oySIGNATURE_ATTRIBUTES, oySIGNATURE_ATTRIBUTES2
}
 general profile infosuse for oyProfile_GetSignature More...
 
enum  oySTATUS_e
 File status type. More...
 

Functions

const char * oyProfileSignatureName (oySIGNATURE_TYPE_e type)
 provide UI name for oySIGNATURE_TYPE_e More...
 
const char * oyProfileSignatureDescription (oySIGNATURE_TYPE_e type)
 provide UI description for oySIGNATURE_TYPE_e More...
 
char ** oyProfilePathsGet (int *size, oyAlloc_f allocateFunc)
 get Search Path names for ICC Profiles More...
 

Detailed Description

Select, read, manipulate and write ICC Profiles in memory and on disk.

To open a profile exist several methods in the oyProfile_Fromxxx APIs. The highest level call is oyProfile_FromName() and supports several names. oyProfile_FromStd(), oyProfile_FromFile() and oyProfile_FromMem() are specialised profile open functions. oyProfile_FromSignature() is used for creating a dummy profile during profile filtering. oyProfile_FromMD5() is a lookup function from a profile hash, e.g. as provided by a 'psid' tag.
Profile properties can be obtained from oyProfile_GetSignature(), like color spaces, date, magic number and so on. oyProfile_GetChannelNames(), oyProfile_GetText() and oyProfile_GetID() provide additional informations.
The profile element functions have Tag in their names. They work together with the oyProfileTag_s APIs.
oyProfile_GetFileName() is a reverse lookup to obtain the name of a installed file from a profile, e.g. find the name of a reachable display profile.

The oyProfiles_Create() allows to create profile lists with fine grained control. oyProfiles_ForStd() creates a list of profiles suitable to be set as default profiles according to the oyPROFILE_e categories. oyProfiles_DeviceRank() can be used together with a given device so sort for a the best match in descenting order.

Low level APIs to obtain pure filenames and handle raw bits are in place:

Macro Definition Documentation

#define OY_ALLOW_DUPLICATES   0x100

show as well duplicate profile ID's

Referenced by oyProfiles_s::oyProfiles_Create().

#define OY_COMPUTE   0x08
#define OY_FROM_PROFILE   0x04

use from profile

Examples:
oymd5icc.c.

Referenced by oyProfile_s::oyProfile_GetMD5().

#define OY_ICC_VERSION_2   0x10

filter for version 2 profiles

Referenced by oyICCProfileSelectionFlagsFromRegistration().

#define OY_ICC_VERSION_4   0x20

filter for version 4 profiles

Referenced by oyICCProfileSelectionFlagsFromRegistration().

#define OY_NO_CACHE_READ   0x01

read not from cache

#define OY_NO_CACHE_WRITE   0x02
#define OY_NO_REPAIR   0x80

do not try to repair or fix profiles

#define OY_SKIP_NON_DEFAULT_PATH   0x40

ignore profiles outside of default paths

Referenced by oyProfile_s::oyProfile_Install().

Enumeration Type Documentation

general profile infosuse for oyProfile_GetSignature

Since
Oyranos: version 0.1.8
Date
10 december 2007 (API 0.1.8)
Enumerator
oySIGNATURE_COLOR_SPACE 

color space

oySIGNATURE_PCS 

profile connection space

oySIGNATURE_SIZE 

internal stored size

oySIGNATURE_CMM 

prefered CMM

oySIGNATURE_VERSION 

version

oySIGNATURE_CLASS 

usage class, e.g. 'mntr' ...

oySIGNATURE_MAGIC 

magic; ICC: 'acsp'

oySIGNATURE_PLATFORM 

operating system

oySIGNATURE_OPTIONS 

various ICC header flags

oySIGNATURE_MANUFACTURER 

device manufacturer

oySIGNATURE_MODEL 

device modell

oySIGNATURE_INTENT 

seldom used profile claimed intent

oySIGNATURE_CREATOR 

profile creator ID

oySIGNATURE_DATETIME_YEAR 

creation time in UTC

oySIGNATURE_DATETIME_MONTH 

creation time in UTC

oySIGNATURE_DATETIME_DAY 

creation time in UTC

oySIGNATURE_DATETIME_HOURS 

creation time in UTC

oySIGNATURE_DATETIME_MINUTES 

creation time in UTC

oySIGNATURE_DATETIME_SECONDS 

creation time in UTC

oySIGNATURE_ILLUMINANT 

profile illuminant

oySIGNATURE_ILLUMINANT_Y 

profile illuminant

oySIGNATURE_ILLUMINANT_Z 

profile illuminant

oySIGNATURE_ATTRIBUTES 

various ICC header attributes

oySIGNATURE_ATTRIBUTES2 

various ICC header attributes

enum oySTATUS_e

File status type.

Function Documentation

char** oyProfilePathsGet ( int *  size,
oyAlloc_f  allocateFunc 
)

get Search Path names for ICC Profiles

See Also
Path Names
Version
Oyranos: 0.9.6
Date
2015/02/08
Since
2015/02/08 (Oyranos: 0.9.6)
const char* oyProfileSignatureDescription ( oySIGNATURE_TYPE_e  type)
const char* oyProfileSignatureName ( oySIGNATURE_TYPE_e  type)