oyranos_alpha.h File Reference

#include "oyranos.h"
#include "oyranos_icc.h"
#include <inttypes.h>

Data Structures

struct  oyStruct_s
 Oyranos base structure

All Oyranos structures should be castable to this basic one. More...

struct  oyName_s
 Oyranos name structure. More...
union  oyValue_u
 a value More...
struct  oyOption_s
 Option for rendering. More...
struct  oyOptions_s
 generic Options

Options can be any flag or rendering intent and other informations needed to configure a process. The object contains a list of oyOption_s objects. 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  oyRegion_s
 start with a simple rectangle More...
struct  oyArray2d_s
 2d data array

oyArray2d_s is a in memory data view. The array2d holds pointers to lines in the original memory blob. The arrays contained in array2d represent the samples. There is no information in which order the samples appear. No pixel layout or meaning is provided. Given the coordinates x and y, a samples memory adress can be accessed by &array2d[y][x] . This adress must be converted to the data type provided in oyArray2d_s::t. More...

struct  oyImage_s
 a reference struct to gather information for image transformation

as we dont target a complete imaging solution, only raster is supported More...

struct  oyConnector_s
 a filter connection description structure

This structure holds informations about the connection capabilities. It holds common structure members of oyFilterPlug_s and oyFilterSocket_s. More...

struct  oyFilterSocket_s
 a filter connection structure

The passive output version of a oyConnector_s. More...

struct  oyFilterPlug_s
 a filter connection structure

The active input version of a oyConnector_s. Each plug can connect to exact one socket. More...

struct  oyFilterPlugs_s
 a FilterPlugs list More...
struct  oyFilter_s
 a filter to manipulate a image

This is the Oyranos filter object. Filters are categorised into basic classes of filters described in the filter_type_ member. Filters implement a container for data and options. Filters can be manipulated by changing their options or data set. More...

struct  oyFilters_s
 a Filters list More...
struct  oyFilterNode_s
 a FilterNode object

Filter nodes chain filters into a oyConversion_s graph. The filter nodes use plugs and sockets for creating connections. Each plug can only connect to one socket. More...

struct  oyPixelAccess_s
 control pixel access order

A struct to control pixel access. It is a kind of flexible pixel iterator. The order or pattern of access is defined by the array_xy and start_[x,y] variables. More...

struct  oyConversion_s
 a filter chain or graph to manipulate a image

Order of filters matters. The processing direction is a bit like raytracing as nodes request their parent. More...

struct  oyColourConversion_s
struct  oyNamedColour_s
 colour patch with meta informations

Data management on library side. User can control memory management at creation time. More...

struct  oyNamedColours_s
 list of colour patches

Data management on library side. User can control memory management at creation time. More...

struct  oyIcon_s
 icon data

Since: 0.1.8 More...

struct  oyCMMInfo_s
 the CMM API resources struct to implement and set by a CMM

Given an example CMM with name "little cms", which wants to use the four-char ID 'lcms', the CMM can register itself to Oyranos as follows: The CMM module file must be named something_lcms_cmm_module_something.something . On Linux this could be "liboyranos_lcms_cmm_module.so.0.1.8". The four-chars 'lcms' must be prepended with OY_MODULE_NAME alias "_cmm_module". More...


Defines

#define OY_IN_PLANING
#define OY_NO_CACHE_READ   0x01
#define OY_TYPE_123_8   (oyChannels_m(3)|oyDataType_m(oyUINT8))

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 uint32_t oyPixel_t

Enumerations

enum  oyOBJECT_e { ,
  oyOBJECT_OBJECT_S, oyOBJECT_MONITOR_S, oyOBJECT_NAMED_COLOUR_S, oyOBJECT_NAMED_COLOURS_S,
  oyOBJECT_PROFILE_S, oyOBJECT_PROFILE_TAG_S, oyOBJECT_PROFILES_S, oyOBJECT_OPTION_S,
  oyOBJECT_OPTIONS_S, oyOBJECT_REGION_S, oyOBJECT_IMAGE_S, oyOBJECT_ARRAY2D_S,
  oyOBJECT_COLOUR_CONVERSION_S, oyOBJECT_CONNECTOR_S, oyOBJECT_FILTER_PLUG_S, oyOBJECT_FILTER_PLUGS_S,
  oyOBJECT_FILTER_SOCKET_S, oyOBJECT_FILTER_S, oyOBJECT_FILTERS_S, oyOBJECT_FILTER_NODE_S,
  oyOBJECT_PIXEL_ACCESS_S, oyOBJECT_CONVERSION_S, oyOBJECT_CMM_HANDLE_S = 50, oyOBJECT_CMM_POINTER_S,
  oyOBJECT_CMM_INFO_S, oyOBJECT_CMM_API_S, oyOBJECT_CMM_API1_S, oyOBJECT_CMM_API2_S,
  oyOBJECT_CMM_API3_S, oyOBJECT_CMM_API4_S, oyOBJECT_CMM_API5_S, oyOBJECT_CMM_DATA_TYPES_S,
  oyOBJECT_CMM_API_MAX, oyOBJECT_ICON_S = 80, oyOBJECT_MODULE_S, oyOBJECT_EXTERNFUNC_S,
  oyOBJECT_NAME_S, oyOBJECT_COMP_S_, oyOBJECT_FILE_LIST_S_, oyOBJECT_HASH_S,
  oyOBJECT_HANDLE_S, oyOBJECT_STRUCT_LIST_S
}
 Oyranos structure type. More...
enum  oyNAME_e { oyNAME_NAME, oyNAME_NICK, oyNAME_DESCRIPTION }
 describe the base types of a oyObject_s name More...
enum  oyBOOLEAN_e { , oyBOOLEAN_SUBSTRACTION, oyBOOLEAN_DIFFERENZ, oyBOOLEAN_UNION }
 boolean operations More...
enum  oyVALUETYPE_e { , oyVAL_DOUBLE }
 a value type More...
enum  oyOPTIONSOURCE_e { oyOPTIONSOURCE_NONE = 0, oyOPTIONSOURCE_FILTER = 2, oyOPTIONSOURCE_DATA = 4, oyOPTIONSOURCE_USER = 8 }
 a option source type More...
enum  oyOPTIONATTRIBUTE_e { , oyOPTIONATTRIBUTE_EDIT = 32, oyOPTIONATTRIBUTE_AUTOMATIC = 64 , oyOPTIONATTRIBUTE_FRONT = 256, oyOPTIONATTRIBUTE_DOUBLE = 512 }
 usage type

The types of Oyranos default settings to include into the options set. So proofing makes no sense for toolkit widgets, but for advanced graphics displaying. All other Oyranos behaviour settings should be taken over untouched. More...

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 infos

use 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  oyFILTER_TYPE_e {
  oyFILTER_TYPE_NONE, oyFILTER_TYPE_COLOUR, oyFILTER_TYPE_TONEMAP, oyFILTER_TYPE_IMAGE,
  oyFILTER_TYPE_GENERIC
}
 basic filter classes

These types are basic ones and valid to Oyranos and its usage as CMM framework. More...

enum  oyFILTER_REG_e { ,
  oyFILTER_REG_TOP, oyFILTER_REG_DOMAIN, oyFILTER_REG_TYPE, oyFILTER_REG_APPLICATION,
  oyFILTER_REG_OPTION
}
enum  oyCONNECTOR_e {
  oyCONNECTOR_MANIPULATOR, oyCONNECTOR_GENERATOR, oyCONNECTOR_IMAGE, oyCONNECTOR_OBSERVER,
  oyCONNECTOR_SPLITTER, oyCONNECTOR_COMPOSITOR, oyCONNECTOR_CONVERTOR_PIXELDATA, oyCONNECTOR_CONVERTOR_PIXELDATA_LOSSY,
  oyCONNECTOR_COMPOSITOR_CHANNEL, oyCONNECTOR_SPLITTER_CHANNEL, oyCONNECTOR_ANALYSIS
}
 basic connector classes More...
enum  oyCONNECTOR_EVENT_e {
  oyCONNECTOR_EVENT_OK, oyCONNECTOR_EVENT_CONNECTED, oyCONNECTOR_EVENT_RELEASED, oyCONNECTOR_EVENT_IMAGE_DATA_CHANGED,
  oyCONNECTOR_EVENT_IMAGE_STORAGE_CHANGED, oyCONNECTOR_EVENT_INCOMPATIBLE_IMAGE, oyCONNECTOR_EVENT_INCOMPATIBLE_PROFILE, 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.
const char * oyStruct_TypeToText (const oyStruct_s *oy_struct)
 Objects type to small string.
oyName_soyName_new (oyObject_s object)
 oyName_s new
oyName_soyName_copy (oyName_s *obj, oyObject_s object)
 oyName_s copy
int oyName_release (oyName_s **obj)
 oyName_s deallocation
int oyName_boolean (oyName_s *name_a, oyName_s *name_b, oyNAME_e name_type, oyBOOLEAN_e type)
 test a boolean operator
oyStruct_soyStructList_GetRefType (oyStructList_s *list, int pos, oyOBJECT_e type)
 oyStructList_s pointer access
int oyStructList_Count (oyStructList_s *list)
 oyStructList_s count
const char * oyFilterTypeToText (oyFILTER_TYPE_e filter_type, oyNAME_e type)
 oyFILTER_TYPE_e to small text
char * oyFilterRegistrationToText (const char *registration, oyFILTER_REG_e type, oyAlloc_f allocateFunc)
 analyse registration string
oyFILTER_TYPE_e oyFilterRegistrationToType (const char *registration)
 analyse registration string
int oyFilterRegistrationMatch (const char *registration, const char *pattern)
 analyse registration string and compare with a given pattern
void oyCopyColour (const double *from, double *to, int n, oyProfile_s *profile_ref, int channels_n)
 copy pure colours
int oyModulRegisterXML (oyGROUP_e group, const char *xml)
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

Variables

const char * oy_domain_codeset
 codeset for Oyranos

Detailed Description

Oyranos is an open source Colour Management System

Copyright (C) 2004-2008 Kai-Uwe Behrmann


Define Documentation

#define OY_IN_PLANING

Date:
25. 11. 2004

#define OY_NO_CACHE_READ   0x01

oyIO_t parametric type as shorthand for IO flags

should fit into a 32bit type, usual unsigned int or uint32_t

------ W R

R no cache read
W no cache write

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

define some common types


Typedef Documentation

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


Enumeration Type Documentation

boolean operations

Version:
Oyranos: 0.1.8
Since:
2008/06/28 (Oyranos: 0.1.8)
Date:
2008/06/28
Enumerator:
oyBOOLEAN_SUBSTRACTION  and, the part covered by A and B
oyBOOLEAN_DIFFERENZ  minus, the part covered by A but not by B
oyBOOLEAN_UNION  xor, exclusive parts of A and B or, the parts covered by A or B or both

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]...

a option source type

Version:
Oyranos: 0.1.9
Since:
2008/11/13 (Oyranos: 0.1.9)
Date:
2008/11/27
Enumerator:
oyOPTIONSOURCE_NONE  not clear
oyOPTIONSOURCE_FILTER  internal defaults, e.g. filter
oyOPTIONSOURCE_DATA  external defaults, e.g. policy
oyOPTIONSOURCE_USER  user settings, e.g. elektra

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

a value type

See also:
oyValue_u
Version:
Oyranos: 0.1.8
Since:
2008/02/16 (Oyranos: 0.1.x)
Date:
2008/02/16
Enumerator:
oyVAL_DOUBLE  IEEE double precission floating point number


Function Documentation

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

Query for available options for a cmm

Parameters:
[in] cmm the 4 char CMM ID or zero for the current CMM
[in] object the 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


Variable Documentation

const char* oy_domain_codeset

codeset for Oyranos

set here the codeset part, e.g. "UTF-8", which shall be delivered from Oyranos string translations. Set this variable before any call to Oyranos.


Generated on Tue Mar 10 09:46:20 2009 for Oyranos by  doxygen 1.5.8