[][src]Module lcms2_sys::ffi

Little Color Management System Copyright (c) 1998-2014 Marti Maria Saguer

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


Version 2.8

Re-exports

pub use self::TagSignature::*;
pub use crate::ColorimetricIntentImageState::*;

Structs

CIELCh
CIELab
CIEXYZ
CIEXYZTRIPLE
CIExyY
CIExyYTRIPLE
CurveSegment

This describes a curve segment.

DICTentry
DateTimeNumber
EncodedXYZNumber
ICCData
ICCHeader
ICCMeasurementConditions
ICCViewingConditions
IOHANDLER
JCh
MLU
NAMEDCOLORLIST
PSEQDESC

Profile sequence descriptor.

PixelFormat

Format of pixel is defined by one cmsUInt32Number, using bit fields as follows

PixelType
ProfileID

Profile ID as computed by MD5 algorithm

SEQ
Screening
ScreeningChannel
TagBase
TagEntry
UcrBg
ViewingConditions
_HPROFILE
_HTRANSFORM
_cmsContext_struct

Enums

ColorSpaceSignature
ColorimetricIntentImageState
CurveSegSignature
IlluminantType

Illuminant types for structs below

InfoType
Intent
PSResourceType
Pipeline
PlatformSignature
ProfileClassSignature
SpotShape
Stage
StageLoc

Where to place/locate the stages in the pipeline chain

StageSignature
Surround
TagSignature
TagTypeSignature
TechnologySignature
ToneCurve

Constants

BlueMatrixColumnTag
D50X

D50 XYZ normalized to Y=1.0

D50Y
D50Z
DN

'DN '

DNN

'DNN '

DNNP

'DNNP'

DNP

'DN P'

D_CALCULATE
EmbeddedProfileFalse
EmbeddedProfileTrue
FLAGS_8BITS_DEVICELINK

For devicelink creation Create 8 bits devicelinks

FLAGS_BLACKPOINTCOMPENSATION
FLAGS_CLUT_POST_LINEARIZATION

create postlinearization tables if possible

FLAGS_CLUT_PRE_LINEARIZATION

create prelinearization tables if possible

FLAGS_COPY_ALPHA

Alpha channels are copied on cmsDoTransform()

FLAGS_FORCE_CLUT

Specific to a particular optimizations Force CLUT optimization

FLAGS_GAMUTCHECK

Proofing flags Out of Gamut alarm

FLAGS_GUESSDEVICECLASS

Guess device class (for transform2devicelink)

FLAGS_HIGHRESPRECALC

Use more memory to give better accurancy

FLAGS_KEEP_SEQUENCE

Keep profile sequence for devicelink creation

FLAGS_LOWRESPRECALC

Use less memory to minimize resources

FLAGS_NOCACHE

Inhibit 1-pixel cache

FLAGS_NODEFAULTRESOURCEDEF

CRD special

FLAGS_NONEGATIVES

Specific to unbounded mode Prevent negative numbers in floating point transforms

FLAGS_NOOPTIMIZE

Inhibit optimizations

FLAGS_NOWHITEONWHITEFIXUP

Don't fix scum dot

FLAGS_NULLTRANSFORM

Don't transform anyway

FLAGS_SOFTPROOFING

Do softproofing

FREQUENCE_UNITS_LINES_CM
FREQUENCE_UNITS_LINES_INCH
Glossy
GreenMatrixColumnTag
MAXCHANNELS

Maximum number of channels in ICC profiles

MagicNumber

Definitions in ICC spec 'acsp'

Matte
PERCEPTUAL_BLACK_X

V4 perceptual black

PERCEPTUAL_BLACK_Y
PERCEPTUAL_BLACK_Z
PRINTER_DEFAULT_SCREENS
PT_ANY

Don't check colorspace

PT_CMY
PT_CMYK
PT_GRAY

1 & 2 are reserved

PT_HLS
PT_HSV
PT_Lab
PT_LabV2

Identical to PT_Lab, but using the V2 old encoding

PT_MCH1
PT_MCH2
PT_MCH3
PT_MCH4
PT_MCH5
PT_MCH6
PT_MCH7
PT_MCH8
PT_MCH9
PT_MCH10
PT_MCH11
PT_MCH12
PT_MCH13
PT_MCH14
PT_MCH15
PT_RGB
PT_XYZ
PT_YCbCr
PT_YUV

Lu'v'

PT_YUVK

Lu'v'K

PT_Yxy
PerceptualReferenceMediumGamut

'prmg'

RedMatrixColumnTag
Reflective

Device attributes, currently defined values correspond to the low 4 bytes of the 8 byte attribute quantity

SAMPLER_INSPECT

Use this flag to prevent changes being written to destination.

StatusA

'StaA'

StatusE

'StaE'

StatusI

'StaI'

StatusM

'StaM'

StatusT

'StaT'

Transparency
UseAnywhere
UseWithEmbeddedDataOnly
lcmsSignature

'lcms'

Functions

FLAGS_GRIDPOINTS
_cmsICCcolorSpace
_cmsLCMScolorSpace
cmsAdaptToIlluminant
cmsAllocNamedColorList
cmsAllocProfileSequenceDescription
cmsAppendNamedColor
cmsBFDdeltaE
cmsBuildGamma
cmsBuildParametricToneCurve
cmsBuildSegmentedToneCurve
cmsBuildTabulatedToneCurve16
cmsBuildTabulatedToneCurveFloat
cmsCIE94DeltaE
cmsCIE2000DeltaE
cmsCIECAM02Done
cmsCIECAM02Forward
cmsCIECAM02Init
cmsCIECAM02Reverse
cmsCMCdeltaE
cmsChangeBuffersFormat
cmsChannelsOf
cmsCloseIOhandler
cmsCloseProfile
cmsCreateBCHSWabstractProfile
cmsCreateBCHSWabstractProfileTHR
cmsCreateContext
cmsCreateExtendedTransform
cmsCreateGrayProfile
cmsCreateGrayProfileTHR
cmsCreateInkLimitingDeviceLink
cmsCreateInkLimitingDeviceLinkTHR
cmsCreateLab2Profile
cmsCreateLab2ProfileTHR
cmsCreateLab4Profile
cmsCreateLab4ProfileTHR
cmsCreateLinearizationDeviceLink
cmsCreateLinearizationDeviceLinkTHR
cmsCreateMultiprofileTransform
cmsCreateMultiprofileTransformTHR
cmsCreateNULLProfile
cmsCreateNULLProfileTHR
cmsCreateProfilePlaceholder
cmsCreateProofingTransform
cmsCreateProofingTransformTHR
cmsCreateRGBProfile
cmsCreateRGBProfileTHR
cmsCreateTransform
cmsCreateTransformTHR
cmsCreateXYZProfile
cmsCreateXYZProfileTHR
cmsCreate_sRGBProfile
cmsCreate_sRGBProfileTHR
cmsD50_XYZ
cmsD50_xyY
cmsDeleteContext
cmsDeleteTransform
cmsDeltaE
cmsDesaturateLab
cmsDetectBlackPoint
cmsDetectDestinationBlackPoint
cmsDetectTAC
cmsDictAddEntry
cmsDictAlloc
cmsDictDup
cmsDictFree
cmsDictGetEntryList
cmsDictNextEntry
cmsDoTransform
cmsDoTransformLineStride
cmsDoTransformStride

Deprecated

cmsDupContext
cmsDupNamedColorList
cmsDupProfileSequenceDescription
cmsDupToneCurve
cmsEstimateGamma
cmsEvalToneCurve16
cmsEvalToneCurveFloat
cmsFloat2LabEncoded
cmsFloat2LabEncodedV2
cmsFloat2XYZEncoded
cmsFormatterForColorspaceOfProfile
cmsFormatterForPCSOfProfile
cmsFreeNamedColorList
cmsFreeProfileSequenceDescription
cmsFreeToneCurve
cmsFreeToneCurveTriple
cmsGBDAlloc
cmsGBDFree
cmsGDBAddPoint
cmsGDBCheckPoint
cmsGDBCompute
cmsGetAlarmCodes
cmsGetAlarmCodesTHR
cmsGetColorSpace
cmsGetContextUserData
cmsGetDeviceClass
cmsGetEncodedCMMversion
cmsGetEncodedICCversion
cmsGetHeaderAttributes
cmsGetHeaderCreationDateTime
cmsGetHeaderCreator
cmsGetHeaderFlags
cmsGetHeaderManufacturer
cmsGetHeaderModel
cmsGetHeaderProfileID
cmsGetHeaderRenderingIntent
cmsGetNamedColorList
cmsGetPCS
cmsGetPipelineContextID
cmsGetPostScriptCRD
cmsGetPostScriptCSA
cmsGetPostScriptColorResource
cmsGetProfileContextID
cmsGetProfileIOhandler
cmsGetProfileInfo
cmsGetProfileInfoASCII
cmsGetProfileVersion
cmsGetSupportedIntents
cmsGetSupportedIntentsTHR
cmsGetTagCount
cmsGetTagSignature
cmsGetToneCurveEstimatedTable
cmsGetToneCurveEstimatedTableEntries
cmsGetToneCurveParametricType
cmsGetTransformContextID
cmsGetTransformInputFormat
cmsGetTransformOutputFormat
cmsIT8Alloc
cmsIT8DefineDblFormat
cmsIT8EnumDataFormat
cmsIT8EnumProperties
cmsIT8EnumPropertyMulti
cmsIT8FindDataFormat
cmsIT8Free
cmsIT8GetData
cmsIT8GetDataDbl
cmsIT8GetDataRowCol
cmsIT8GetDataRowColDbl
cmsIT8GetPatchByName
cmsIT8GetPatchName
cmsIT8GetProperty
cmsIT8GetPropertyDbl
cmsIT8GetPropertyMulti
cmsIT8GetSheetType
cmsIT8LoadFromFile
cmsIT8LoadFromMem
cmsIT8SaveToFile
cmsIT8SaveToMem
cmsIT8SetComment
cmsIT8SetData
cmsIT8SetDataDbl
cmsIT8SetDataFormat
cmsIT8SetDataRowCol
cmsIT8SetDataRowColDbl
cmsIT8SetIndexColumn
cmsIT8SetPropertyDbl
cmsIT8SetPropertyHex
cmsIT8SetPropertyMulti
cmsIT8SetPropertyStr
cmsIT8SetPropertyUncooked
cmsIT8SetSheetType
cmsIT8SetTable
cmsIT8SetTableByLabel
cmsIT8TableCount
cmsIsCLUT
cmsIsIntentSupported
cmsIsMatrixShaper
cmsIsTag
cmsIsToneCurveDescending
cmsIsToneCurveLinear
cmsIsToneCurveMonotonic
cmsIsToneCurveMultisegment
cmsJoinToneCurve
cmsLCh2Lab
cmsLab2LCh
cmsLab2XYZ
cmsLabEncoded2Float
cmsLabEncoded2FloatV2
cmsLinkTag
cmsMD5computeID
cmsMLUalloc
cmsMLUdup
cmsMLUfree
cmsMLUgetASCII
cmsMLUgetTranslation
cmsMLUgetWide
cmsMLUsetASCII
cmsMLUsetWide
cmsMLUtranslationsCodes
cmsMLUtranslationsCount
cmsNamedColorCount
cmsNamedColorIndex
cmsNamedColorInfo
cmsOpenIOhandlerFromFile
cmsOpenIOhandlerFromMem
cmsOpenIOhandlerFromNULL
cmsOpenIOhandlerFromStream
cmsOpenProfileFromFile
cmsOpenProfileFromFileTHR
cmsOpenProfileFromIOhandler2THR
cmsOpenProfileFromIOhandlerTHR
cmsOpenProfileFromMem
cmsOpenProfileFromMemTHR
cmsOpenProfileFromStream
cmsOpenProfileFromStreamTHR
cmsPipelineAlloc
cmsPipelineCat
cmsPipelineCheckAndRetreiveStages

This function is quite useful to analyze the structure of a Pipeline and retrieve the Stage elements that conform the Pipeline.

cmsPipelineDup
cmsPipelineEval16
cmsPipelineEvalFloat
cmsPipelineEvalReverseFloat
cmsPipelineFree
cmsPipelineGetPtrToFirstStage
cmsPipelineGetPtrToLastStage
cmsPipelineInputChannels
cmsPipelineInsertStage
cmsPipelineOutputChannels
cmsPipelineSetSaveAs8bitsFlag
cmsPipelineStageCount
cmsPipelineUnlinkStage
cmsPlugin
cmsPluginTHR
cmsReadRawTag
cmsReadTag
cmsReverseToneCurve
cmsReverseToneCurveEx
cmsSaveProfileToFile
cmsSaveProfileToIOhandler
cmsSaveProfileToMem
cmsSaveProfileToStream
cmsSetAdaptationState
cmsSetAdaptationStateTHR
cmsSetAlarmCodes
cmsSetAlarmCodesTHR
cmsSetColorSpace
cmsSetDeviceClass
cmsSetEncodedICCversion
cmsSetHeaderAttributes
cmsSetHeaderFlags
cmsSetHeaderManufacturer
cmsSetHeaderModel
cmsSetHeaderProfileID
cmsSetHeaderRenderingIntent
cmsSetLogErrorHandler
cmsSetLogErrorHandlerTHR
cmsSetPCS
cmsSetProfileVersion
cmsSliceSpace16
cmsSliceSpaceFloat
cmsSmoothToneCurve
cmsStageAllocCLut16bit
cmsStageAllocCLut16bitGranular
cmsStageAllocCLutFloat
cmsStageAllocCLutFloatGranular
cmsStageAllocIdentity
cmsStageAllocMatrix
cmsStageAllocToneCurves
cmsStageData
cmsStageDup
cmsStageFree
cmsStageInputChannels
cmsStageNext
cmsStageOutputChannels
cmsStageSampleCLut16bit
cmsStageSampleCLutFloat
cmsStageType
cmsTagLinkedTo
cmsTempFromWhitePoint
cmsTransform2DeviceLink
cmsUnregisterPlugins
cmsUnregisterPluginsTHR
cmsWhitePointFromTemp
cmsWriteRawTag
cmsWriteTag
cmsXYZ2Lab
cmsXYZ2xyY
cmsXYZEncoded2Float
cmsfilelength
cmsstrcasecmp
cmsxyY2XYZ

Type Definitions

Bool
Context
HANDLE
HPROFILE
HTRANSFORM
LogErrorHandlerFunction
S15Fixed16Number
SAMPLER16
SAMPLERFLOAT
Signature