00001
00002 #ifndef __AIColorSpace__
00003 #define __AIColorSpace__
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #include "IAIColorSpace.hpp"
00032 #include "AITypes.h"
00033
00034 #include "AIHeaderBegin.h"
00035
00038
00039
00040
00041
00042
00044 #define kAIColorSpaceSuite "AI Color Space Suite"
00045
00046 #define kAIColorSpaceSuiteVersion AIAPI_VERSION(7)
00047
00048 #define kAIColorSpaceVersion kAIColorSpaceSuiteVersion
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00071 typedef struct {
00072
00073
00078 AIAPI AIErr (*NewColorSpaceList) (ai::ColorSpaceList &csList, const ai::ColorSpace &cs);
00083 AIAPI AIErr (*AddColorSpace) (ai::ColorSpaceList &csList, const ai::ColorSpace &cs);
00090 AIAPI ai::int32 (*GetNumColorSpaces) (const ai::ColorSpaceList &csList);
00098 AIAPI AIErr (*GetNthColorSpace) (const ai::ColorSpaceList &csList, ai::int32 n, ai::ColorSpace &cs);
00103 AIAPI AIErr (*CopyColorSpaceList) (ai::ColorSpaceList &out, const ai::ColorSpaceList &in);
00107 AIAPI AIErr (*DeleteColorSpaceList) (ai::ColorSpaceList& csList);
00108
00120 AIAPI AIErr (*Normalize)(ai::ColorSpaceList& csList, ai::int16 docColorModel, AIBoolean convertGrayToFullProcess);
00121
00122
00123
00129 AIAPI AIErr (*NewSimpleColorSpace) (ai::ColorSpace &cs, ai::ColorSpace::Family family, AIBoolean hasAlpha);
00136 AIAPI AIErr (*NewProcessSeparationColorSpace) (ai::ColorSpace &cs, ai::int32 separationNum, AIBoolean hasAlpha);
00143 AIAPI AIErr (*NewGlobalColorSpace) (ai::ColorSpace &cs, const AICustomColorHandle customColor, AIBoolean hasAlpha);
00156 AIAPI AIErr (*NewNChannelColorSpace) (ai::ColorSpace &cs, const ai::ColorSpaceList &csList, AIBoolean hasAlpha, AIBoolean promoteToProcess);
00167 AIAPI AIErr (*NewIndexedColorSpace) (ai::ColorSpace &cs, const ai::ColorSpace &baseCs, ai::int32 numComponents,
00168 ai::int32 numEntries, const ASUInt8 *lookup);
00174 AIAPI AIErr (*NewColorSpace) (ai::ColorSpace &cs, const ai::ColorSpace &baseCs, AIBoolean hasAlpha);
00179 AIAPI AIErr (*CopyColorSpace) (ai::ColorSpace& out, const ai::ColorSpace& in);
00183 AIAPI AIErr (*DeleteColorSpace) (ai::ColorSpace& cs);
00189 AIAPI ai::ColorSpace::Family (*GetFamily) (const ai::ColorSpace &cs);
00197 AIAPI AIBoolean (*HasAlpha) (const ai::ColorSpace &cs);
00206 AIAPI ai::int32 (*GetNumComponents) (const ai::ColorSpace &cs);
00214 AIAPI ai::int32 (*GetNumColorComponents) (const ai::ColorSpace &cs);
00223 AIAPI ai::int32 (*GetNumSpotComponents) (const ai::ColorSpace &cs);
00230 AIAPI AIErr (*GetBaseColorSpace) (const ai::ColorSpace &cs, ai::ColorSpace &baseCs);
00236 AIAPI ai::int32 (*GetIndexedNumComponents) (const ai::ColorSpace &cs);
00242 AIAPI ai::int32 (*GetIndexedNumEntries) (const ai::ColorSpace &cs);
00248 AIAPI const ASUInt8* (*GetIndexedTable) (const ai::ColorSpace &cs);
00254 AIAPI const AIFloat* (*GetSeparationAltColors) (const ai::ColorSpace &cs);
00260 AIAPI AIErr (*GetColorSpaceList) (const ai::ColorSpace &cs, ai::ColorSpaceList &csList);
00272 AIAPI AIErr (*GetNthColorant) (const ai::ColorSpace &cs, ai::int32 n, ai::UnicodeString& name);
00280 AIAPI AIBoolean (*HasFullSetOfProcessComponents) (const ai::ColorSpace &cs);
00287 AIAPI AIBoolean (*Equal) (const ai::ColorSpace &cs1, const ai::ColorSpace &cs2);
00288 } AIColorSpaceSuite;
00289
00290
00291 #include "AIHeaderEnd.h"
00292
00293
00294
00295 #endif // __AIColorSpace__