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 uint8 Color8[4];
00090
00096 typedef uint16 Color16[4];
00101 typedef real32 Color32[4];
00102
00103
00105 typedef struct
00106 {
00107 uint16 x;
00108 uint16 y;
00109 uint16 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, int16 colorSpace,
00138 uint8 component0, uint8 component1,
00139 uint8 component2, uint8 component3);
00140
00155 typedef SPAPI SPErr (*ColorSpace_ExtractComponents) (ColorID id, int16 colorSpace,
00156 uint8 *component0, uint8 *component1,
00157 uint8 *component2, uint8 *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, int16 *colorSpace);
00182
00192 typedef SPAPI SPErr (*ColorSpace_Convert8) (int16 inputCSpace, int16 outputCSpace,
00193 Color8 *colorArray, int16 count);
00194
00204 typedef SPAPI SPErr (*ColorSpace_Convert16) (int16 inputCSpace, int16 outputCSpace,
00205 Color16 *colorArray, int16 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)( uint8 *input_data,
00245 uint16 *output_data,
00246 int16 count );
00247
00256 typedef SPAPI SPErr (*ColorSpace_Convert16to8)( uint16 *input_data,
00257 uint8 *output_data,
00258 int16 count );
00259
00269 typedef SPAPI SPErr (*ColorSpace_ConvertToMonitorRGB)(int16 inputCSpace,
00270 Color8 *input_data,
00271 Color8 *output_data,
00272 int16 count);
00273
00282 typedef SPAPI SPErr (*ColorSpace_Convert32to8)( real32 *input_data,
00283 uint8 *output_data,
00284 int16 count );
00285
00294 typedef SPAPI SPErr (*ColorSpace_ConvertForDisplay) (PSPixelMap *source_data,
00295 Color8 *output_data,
00296 int32 output_rowBytes,
00297 const VRect *display_area);
00298
00305 typedef SPAPI SPErr (*ColorSpace_GetDisplayProfile) (const VRect *display_area, Handle *profile_data);
00306
00307
00308
00309
00310
00312 #define kPSColorSpaceSuiteVersion2 2
00313
00315 #define kPSColorSpaceSuiteVersion kPSColorSpaceSuiteVersion2
00316
00318 typedef struct
00319 {
00320 ColorSpace_Make Make;
00321 ColorSpace_Delete Delete;
00322 ColorSpace_StuffComponents StuffComponents;
00323 ColorSpace_ExtractComponents ExtractComponents;
00324 ColorSpace_StuffXYZ StuffXYZ;
00325 ColorSpace_ExtractXYZ ExtractXYZ;
00326 ColorSpace_Convert8 Convert8;
00327 ColorSpace_Convert16 Convert16;
00328 ColorSpace_GetNativeSpace GetNativeSpace;
00329 ColorSpace_IsBookColor IsBookColor;
00330 ColorSpace_ExtractColorName ExtractColorName;
00331 ColorSpace_PickColor PickColor;
00332 ColorSpace_Convert8to16 Convert8to16;
00333 ColorSpace_Convert16to8 Convert16to8;
00334 ColorSpace_ConvertToMonitorRGB ConvertToMonitorRGB;
00335 ColorSpace_Convert32to8 Convert32to8;
00336 ColorSpace_ConvertForDisplay ConvertForDisplay;
00337 ColorSpace_GetDisplayProfile GetDisplayProfile;
00339 } PSColorSpaceSuite2;
00340
00341
00342
00343
00344
00346 #define kPSColorSpaceSuiteVersion1 1
00347
00349 typedef struct
00350 {
00351 ColorSpace_Make Make;
00352 ColorSpace_Delete Delete;
00353 ColorSpace_StuffComponents StuffComponents;
00354 ColorSpace_ExtractComponents ExtractComponents;
00355 ColorSpace_StuffXYZ StuffXYZ;
00356 ColorSpace_ExtractXYZ ExtractXYZ;
00357 ColorSpace_Convert8 Convert8;
00358 ColorSpace_Convert16 Convert16;
00359 ColorSpace_GetNativeSpace GetNativeSpace;
00360 ColorSpace_IsBookColor IsBookColor;
00361 ColorSpace_ExtractColorName ExtractColorName;
00362 ColorSpace_PickColor PickColor;
00363 ColorSpace_Convert8to16 Convert8to16;
00364 ColorSpace_Convert16to8 Convert16to8;
00365 ColorSpace_ConvertToMonitorRGB ConvertToMonitorRGB;
00366 ColorSpace_Convert32to8 Convert32to8;
00368 } PSColorSpaceSuite1;
00369
00370
00371
00372 #ifdef __cplusplus
00373 }
00374 #endif
00375
00377 #endif // PIColorSpaceSuite