00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00047 #ifndef __PIColorSpaceSuite__
00048 #define __PIColorSpaceSuite__
00049
00050 #if PRAGMA_ONCE
00051 #pragma once
00052 #endif
00053
00054 #include "PIGeneral.h"
00055
00056 #ifdef __cplusplus
00057 extern "C" {
00058 #endif
00059
00060
00061
00063 #define kPSColorSpaceSuite "Photoshop ColorSpace Suite for Plug-ins"
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082 typedef struct Color_T *ColorID;
00084
00089 typedef unsigned char Color8[4];
00090
00096 typedef unsigned short Color16[4];
00101 typedef float Color32[4];
00102
00103
00105 typedef struct
00106 {
00107 unsigned short x;
00108 unsigned short y;
00109 unsigned short z;
00110 } CS_XYZColor;
00111
00117 typedef SPAPI SPErr (*ColorSpace_Make) (ColorID *id);
00118
00124 typedef SPAPI SPErr (*ColorSpace_Delete) (ColorID *id);
00125
00137 typedef SPAPI SPErr (*ColorSpace_StuffComponents) (ColorID id, short colorSpace,
00138 unsigned char component0, unsigned char component1,
00139 unsigned char component2, unsigned char component3);
00140
00155 typedef SPAPI SPErr (*ColorSpace_ExtractComponents) (ColorID id, short colorSpace,
00156 unsigned char *component0, unsigned char *component1,
00157 unsigned char *component2, unsigned char *component3, Boolean *gamutFlag);
00158
00165 typedef SPAPI SPErr (*ColorSpace_StuffXYZ) (ColorID id, CS_XYZColor xyz);
00166
00173 typedef SPAPI SPErr (*ColorSpace_ExtractXYZ) (ColorID id, CS_XYZColor *xyz);
00174
00181 typedef SPAPI SPErr (*ColorSpace_GetNativeSpace) (ColorID id, short *colorSpace);
00182
00192 typedef SPAPI SPErr (*ColorSpace_Convert8) (short inputCSpace, short outputCSpace,
00193 Color8 *colorArray, short count);
00194
00204 typedef SPAPI SPErr (*ColorSpace_Convert16) (short inputCSpace, short outputCSpace,
00205 Color16 *colorArray, short count);
00206
00213 typedef SPAPI SPErr (*ColorSpace_IsBookColor) (ColorID id, Boolean *isBookColor);
00214
00221 typedef SPAPI SPErr (*ColorSpace_ExtractColorName) (ColorID id, ASZString *colorName);
00222
00229 typedef SPAPI SPErr (*ColorSpace_PickColor) (ColorID *id, ASZString promptString);
00230
00231
00232
00233
00234
00244 typedef SPAPI SPErr (*ColorSpace_Convert8to16)( unsigned char *input_data,
00245 unsigned short *output_data,
00246 short count );
00247
00256 typedef SPAPI SPErr (*ColorSpace_Convert16to8)( unsigned short *input_data,
00257 unsigned char *output_data,
00258 short count );
00259
00269 typedef SPAPI SPErr (*ColorSpace_ConvertToMonitorRGB)(short inputCSpace,
00270 Color8 *input_data,
00271 Color8 *output_data,
00272 short count);
00273
00282 typedef SPAPI SPErr (*ColorSpace_Convert32to8)( float *input_data,
00283 unsigned char *output_data,
00284 short count );
00285
00286
00287
00288
00289
00290
00292 #define kPSColorSpaceSuiteVersion1 1
00293
00295 typedef struct
00296 {
00297 ColorSpace_Make Make;
00298 ColorSpace_Delete Delete;
00299 ColorSpace_StuffComponents StuffComponents;
00300 ColorSpace_ExtractComponents ExtractComponents;
00301 ColorSpace_StuffXYZ StuffXYZ;
00302 ColorSpace_ExtractXYZ ExtractXYZ;
00303 ColorSpace_Convert8 Convert8;
00304 ColorSpace_Convert16 Convert16;
00305 ColorSpace_GetNativeSpace GetNativeSpace;
00306 ColorSpace_IsBookColor IsBookColor;
00307 ColorSpace_ExtractColorName ExtractColorName;
00308 ColorSpace_PickColor PickColor;
00309 ColorSpace_Convert8to16 Convert8to16;
00310 ColorSpace_Convert16to8 Convert16to8;
00311 ColorSpace_ConvertToMonitorRGB ConvertToMonitorRGB;
00312 ColorSpace_Convert32to8 Convert32to8;
00314 } PSColorSpaceSuite1;
00315
00316
00317
00318 #ifdef __cplusplus
00319 }
00320 #endif
00321
00323 #endif // PIColorSpaceSuite