Oyranos Colour Management System API
Data Structures | Defines | Typedefs | Enumerations | Functions
oyranos_alpha.h File Reference

object APIs More...

#include "oyranos.h"
#include "oyranos_icc.h"
#include "oyranos_object.h"
#include "oyBlob_s.h"
#include "oyPointer_s.h"
#include "oyHash_s.h"
#include "oyName_s.h"
#include "oyObject_s.h"
#include "oyObserver_s.h"
#include "oyOption_s.h"
#include "oyOptions_s.h"
#include "oyStruct_s.h"
#include "oyStructList_s.h"

Data Structures

struct  oyCallback_s
 a Callback object More...
struct  oyConfig_s
 a group of options for a device More...
struct  oyConfigs_s
 a Configs list More...
struct  oyConfDomain_s
 a ConfDomain object More...
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...
struct  oyRectangle_s
 start with a simple rectangle More...
struct  oyArray2d_s
 2d data array More...
struct  oyImage_s
 a reference struct to gather information for image transformation More...
struct  oyConnector_s
 a filter connection description structure More...
struct  oyFilterSocket_s
 a filter connection structure More...
struct  oyFilterPlug_s
 a filter connection structure More...
struct  oyFilterPlugs_s
 a FilterPlugs list More...
struct  oyFilterCore_s
 a basic filter to manipulate data More...
struct  oyFilterCores_s
 a FilterCore list More...
struct  oyFilterNode_s
 a FilterNode object More...
struct  oyFilterNodes_s
 a FilterNodes list More...
struct  oyFilterGraph_s
 a FilterGraph object More...
struct  oyPixelAccess_s
 control pixel access order More...
struct  oyConversion_s
 a filter chain or graph to manipulate a image More...
struct  oyNamedColour_s
 colour patch with meta informations More...
struct  oyNamedColours_s
 list of colour patches More...
struct  oyIcon_s
 icon data More...
struct  oyCMMInfo_s
 the CMM API resources struct to implement and set by a CMM More...
struct  oyCMMapiFilters_s
 a CMMapiFilters list More...
struct  oyCMMapis_s
 a CMMapis list More...
struct  oyUiHandler_s
 provide a list of handlers to build the UI More...

Defines

#define OY_IN_PLANING
#define OY_SIGNAL_BLOCK   0x01
#define OY_TYPE_123_8   (oyChannels_m(3)|oyDataType_m(oyUINT8))
#define OY_FILTEREDGE_FREE   0x01
#define OY_FILTEREDGE_CONNECTED   0x02
#define OY_FILTEREDGE_LASTTYPE   0x04
#define OY_ICC_COLOUR_SERVER_TARGET_PROFILE_IN_X_BASE   "_ICC_DEVICE_PROFILE"

Typedefs

typedef oyPointer(* oyImage_GetPoint_f )(oyImage_s *image, int point_x, int point_y, int channel, int *is_allocated)
typedef oyPointer(* oyImage_GetLine_f )(oyImage_s *image, int line_y, int *height, int channel, int *is_allocated)
typedef oyPointer *(* oyImage_GetTile_f )(oyImage_s *image, int tile_x, int tile_y, int channel, int *is_allocated)
typedef enum oySIGNATURE_TYPE_e oySIGNATURE_TYPE_e
 general profile infosuse for oyProfile_GetSignature
typedef struct oyProfile_s oyProfile_s
 a profile and its attributes
typedef struct oyProfiles_s oyProfiles_s
 tell about the conversion profiles
typedef struct oyRectangle_s oyRectangle_s
 start with a simple rectangle
typedef uint32_t oyPixel_t
typedef const char *(* oyCMMGetText_f )(const char *select, oyNAME_e type, oyStruct_s *context)
typedef int(* oyUiHandler_f )(oyPointer cur, oyOptions_s *collected_elements, oyPointer handler_context)
 handle parser output and build the UI

Enumerations

enum  oyFILTER_REG_MODE_e { , oyFILTER_REG_MODE_STRIP_IMPLEMENTATION_ATTR = 0x0100 }
enum  oySIGNATURE_TYPE_e {
  oySIGNATURE_COLOUR_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
}
 general profile infosuse for oyProfile_GetSignature More...
enum  oyDATALAYOUT_e { ,
  oyDATALAYOUT_CURVE, oyDATALAYOUT_MATRIX, oyDATALAYOUT_TABLE, oyDATALAYOUT_ARRAY,
  oyDATALAYOUT_MAX
}
 ideas for basic data arrangements More...
enum  oyDATATYPE_e {
  oyUINT8, oyUINT16, oyUINT32, oyHALF,
  oyFLOAT, oyDOUBLE
}
 basic data types for anonymous pointers More...
enum  oyCHANNELTYPE_e { oyCHANNELTYPE_UNDEFINED }
 channels types More...
enum  oyCONNECTOR_e {
  oyCONNECTOR_IMAGE_MANIPULATOR, oyCONNECTOR_IMAGE_GENERATOR, oyCONNECTOR_IMAGE, oyCONNECTOR_IMAGE_OBSERVER,
  oyCONNECTOR_IMAGE_SPLITTER, oyCONNECTOR_IMAGE_COMPOSITOR, oyCONNECTOR_CONVERTOR_PIXELDATA, oyCONNECTOR_CONVERTOR_PIXELDATA_LOSSY,
  oyCONNECTOR_COMPOSITOR_CHANNEL, oyCONNECTOR_SPLITTER_CHANNEL, oyCONNECTOR_ANALYSIS
}
 basic connector attributes More...
enum  oyCONNECTOR_EVENT_e {
  oyCONNECTOR_EVENT_OK, oyCONNECTOR_EVENT_CONNECTED, oyCONNECTOR_EVENT_RELEASED, oyCONNECTOR_EVENT_DATA_CHANGED,
  oyCONNECTOR_EVENT_STORAGE_CHANGED, oyCONNECTOR_EVENT_INCOMPATIBLE_DATA, oyCONNECTOR_EVENT_INCOMPATIBLE_OPTION, oyCONNECTOR_EVENT_INCOMPATIBLE_CONTEXT,
  oyCONNECTOR_EVENT_INCOMPLETE_GRAPH
}
 connector events types More...
enum  oyPIXEL_ACCESS_TYPE_e { , oyPIXEL_ACCESS_POINT, oyPIXEL_ACCESS_LINE }
 pixel access types More...

Functions

void oyLab2XYZ (const double *CIElab, double *XYZ)
void oyXYZ2Lab (const double *XYZ, double *CIElab)
void oyCIEabsXYZ2ICCrelXYZ (const double *CIEXYZ, double *ICCXYZ, const double *XYZmin, const double *XYZmax, const double *XYZwhite)
 CIE absolute colourimetric to ICC relative colorimetric.
void oyICCXYZrel2CIEabsXYZ (const double *ICCXYZ, double *CIEXYZ, const double *XYZmin, const double *XYZmax, const double *XYZwhite)
 ICC relative colourimetric to CIE absolute colorimetric.
oyPointer oyStruct_Allocate (oyStruct_s *st, size_t size)
 let a object allocate some memory
char oyFilterRegistrationModify (const char *registration, oyFILTER_REG_MODE_e mode, char **result, oyAlloc_f allocateFunc)
 process a registration string
OYAPI int OYEXPORT oyDevicesGet (const char *device_type, const char *device_class, oyOptions_s *options, oyConfigs_s **devices)
 get all devices matching to a device class and type
OYAPI int OYEXPORT oyDeviceGet (const char *device_type, const char *device_class, const char *device_name, oyOptions_s *options, oyConfig_s **device)
 ask a module for device informations or other direct calls
OYAPI int OYEXPORT oyDeviceFromJSON (const char *json, oyOptions_s *options, oyConfig_s **device)
 generate a device from a JSON device calibration
OYAPI int OYEXPORT oyDeviceSetup (oyConfig_s *device)
 activate the device using the stored configuration
OYAPI int OYEXPORT oyDeviceUnset (oyConfig_s *device)
 unset the device profile
OYAPI int OYEXPORT oyDeviceGetInfo (oyConfig_s *device, oyNAME_e type, oyOptions_s *options, char **info_text, oyAlloc_f allocateFunc)
 get all devices matching to a device class and type
OYAPI int OYEXPORT oyDeviceBackendCall (oyConfig_s *device, oyOptions_s *options)
 get device answere from options
OYAPI int OYEXPORT oyDeviceSetProfile (oyConfig_s *device, const char *profile_name)
 set the device profile
OYAPI int OYEXPORT oyDeviceGetProfile (oyConfig_s *device, oyOptions_s *options, oyProfile_s **profile)
 order a device profile
OYAPI int OYEXPORT oyDeviceAskProfile2 (oyConfig_s *device, oyOptions_s *options, oyProfile_s **profile)
 ask for the device profile
OYAPI int OYEXPORT oyDeviceProfileFromDB (oyConfig_s *device, char **profile_name, oyAlloc_f allocateFunc)
 look up a profile of a device from DB
OYAPI int OYEXPORT oyDeviceSelectSimiliar (oyConfig_s *pattern, oyConfigs_s *heap, uint32_t flags, oyConfigs_s **matched_devices)
 get similiar devices by a pattern from a list
OYAPI int OYEXPORT oyDeviceToJSON (oyConfig_s *device, oyOptions_s *options, char **json_text, oyAlloc_f allocateFunc)
 get JSON format device calibration text from a device
int oySizeofDatatype (oyDATATYPE_e t)
 oyDATATYPE_e to byte mapping
oyCHANNELTYPE_e oyICCColourSpaceToChannelLayout (icColorSpaceSignature sig, int pos)
 describe a channels characteristic
void oyCopyColour (const double *from, double *to, int n, oyProfile_s *profile_ref, int channels_n)
 copy pure colours
char ** oyModulsGetNames (int *count, oyAlloc_f allocateFunc)
const char * oyModulGetOptions (const char *cmm, oyObject_s object)
char * oyDumpColourToCGATS (const double *channels, size_t n, oyProfile_s *prof, oyAlloc_f allocateFunc, const char *DESCRIPTOR)
 create CGATS text from double value array and a profile
char * oyXFORMsFromModelAndUi (const char *data, const char *ui_text, const char **namespaces, const char *head_injection, oyAlloc_f allocate_func)
 join data and UI
int oyXFORMsRenderUi (const char *xforms, oyUiHandler_s **ui_handlers, oyPointer user_data)
 render the UI by a selected toolkit
int oyModulRegisterXML (oyGROUP_e group, const char *xml)

Detailed Description

object APIs

Oyranos is an open source Colour Management System

Copyright:
2004-2011 (C) Kai-Uwe Behrmann
Author:
Kai-Uwe Behrmann <ku.b@gmx.de>
License:
new BSD - see: http://www.opensource.org/licenses/bsd-license.php
Since:
2004/11/25

Define Documentation

#define OY_FILTEREDGE_CONNECTED   0x02

list connected edges

Referenced by oyFilterSocket_s::oyFilterSocket_SignalToGraph().

#define OY_FILTEREDGE_FREE   0x01

list free edges

Referenced by oyFilterNode_s::oyFilterNode_Connect().

#define OY_FILTEREDGE_LASTTYPE   0x04

list last type edges

#define OY_ICC_COLOUR_SERVER_TARGET_PROFILE_IN_X_BASE   "_ICC_DEVICE_PROFILE"

in close relation to http://www.freedesktop.org/wiki/Specifications/icc_profiles_in_x_spec OY_ICC_V0_3_TARGET_PROFILE_IN_X_BASE

#define OY_IN_PLANING
Date:
25. 11. 2004
#define OY_SIGNAL_BLOCK   0x01

do not send new signals

#define OY_TYPE_123_8   (oyChannels_m(3)|oyDataType_m(oyUINT8))

define some common types


Typedef Documentation

typedef const char*(* oyCMMGetText_f)(const char *select, oyNAME_e type, oyStruct_s *context)

type:

  • oyNAME_NICK: compact, e.g. "GPU"
  • oyNAME_NAME: a short explanation, e.g. "Rendering with GPU"
  • oyNAME_DESCRIPTION: a long explanation, e.g. "Accelerated calculations on a GPU"
Parameters:
selectone from "name", "manufacturer" or "copyright"
typeselect flavour
objectthe object to ask for a optional context This will typical be the object to which this function belongs, but can be stated otherwise.
Returns:
text string or zero
Version:
Oyranos: 0.3.0
Since:
2008/12/23 (Oyranos: 0.1.10)
Date:
2011/02/01
typedef oyPointer(* oyImage_GetLine_f)(oyImage_s *image, int line_y, int *height, int channel, int *is_allocated)

param[out] is_allocated are the lines always newly allocated

typedef oyPointer(* oyImage_GetPoint_f)(oyImage_s *image, int point_x, int point_y, int channel, int *is_allocated)

param[out] is_allocated are the points always newly allocated

typedef oyPointer*(* oyImage_GetTile_f)(oyImage_s *image, int tile_x, int tile_y, int channel, int *is_allocated)

param[out] is_allocated are the tiles always newly allocated

typedef int(* oyUiHandler_f)(oyPointer cur, oyOptions_s *collected_elements, oyPointer handler_context)

handle parser output and build the UI

Parameters:
[in]curlibxml2 node
[in]collected_elementsfrom libxml2
[in]handler_contextthe toolkit context
Returns:
ns + ':' + name
Version:
Oyranos: 0.1.10
Since:
2009/08/30 (Oyranos: 0.1.10)
Date:
2009/08/30

Enumeration Type Documentation

ideas for basic data arrangements

Version:
Oyranos: 0.1.8
Since:
2008/00/00 (Oyranos: 0.1.8)
Date:
2008/00/00
Enumerator:
oyDATALAYOUT_CURVE 

equally spaced curve, oyDATALAYOUT_e[0], size[1], min[2], max[3], elements[4]...

oyDATALAYOUT_MATRIX 

3x3 matrix, oyDATALAYOUT_e[0], a1[1],a2[2],a3,b1,b2,b3,c1,c2,c3

oyDATALAYOUT_TABLE 

CLUT, oyDATALAYOUT_e[0], table dimensions in[1], array out[2], size of first dimension[3], size of second [4], ... size of last[n], elements[n+1]...

oyDATALAYOUT_ARRAY 

value array, oyDATALAYOUT_e[0], size[1], elements[2]...

oyDATALAYOUT_MAX 

paired curve, layout as in oyDATA_LAYOUT_CURVE but with elements grouped to two oyDATALAYOUT_e[0], triangle count[1], indixes[2], XYZ triples[3..5]..., followed by interwoven index + normale + midpoint triples[n]...

pixel access types

Version:
Oyranos: 0.1.8
Since:
2008/00/00 (Oyranos: 0.1.8)
Date:
2008/00/00
Enumerator:
oyPIXEL_ACCESS_POINT 

dont use

oyPIXEL_ACCESS_LINE 

dont use


Function Documentation

const char* oyModulGetOptions ( const char *  cmm,
oyObject_s  object 
)

Query for available options for a cmm

Parameters:
[in]cmmthe 4 char CMM ID or zero for the current CMM
[in]objectthe optional base
Returns:
available options
int oyModulRegisterXML ( oyGROUP_e  group,
const char *  xml 
)
char** oyModulsGetNames ( int *  count,
oyAlloc_f  allocateFunc 
)

obtain 4 char CMM identifiers and count of CMM's

char* oyXFORMsFromModelAndUi ( const char *  data,
const char *  ui_text,
const char **  namespaces,
const char *  head_injection,
oyAlloc_f  allocate_func 
)

join data and UI

Function oyXFORMsFromModelAndUi

Parameters:
[in]datadata text
[in]ui_textui text
[in]namespacesurl style namespaces
[in]head_injectionhtml text to include in the HEAD section With a NULL pointer Oyranos will implicit insert a default CSS.
[in]allocate_funcuser allocator
Returns:
XFORMS text
Version:
Oyranos: 0.1.10
Since:
2009/08/31 (Oyranos: 0.1.10)
Date:
2009/08/31

References oy_domain_codeset, and OY_XFORMS_CSS.

int oyXFORMsRenderUi ( const char *  xforms,
oyUiHandler_s **  ui_handlers,
oyPointer  user_data 
)

render the UI by a selected toolkit

Function oyXFORMsRenderUi Parse the XFORMS XML and render with the selected toolkit UI handlers.

Parameters:
[in]xformsXFORMS text
[in]ui_handlersthe toolkit specific XFORMS handlers
[in,out]user_datauser context passed to ui_handlers
Returns:
error
Version:
Oyranos: 0.1.10
Since:
2009/08/31 (Oyranos: 0.1.10)
Date:
2009/08/31