00001 #ifndef __AIFXGFileFormat__
00002 #define __AIFXGFileFormat__
00003
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 #ifndef __AIDict__
00030 #include "AIDictionary.h"
00031 #endif
00032
00033 #ifndef __AIPlugin__
00034 #include "AIPlugin.h"
00035 #endif
00036
00037 #ifndef __AITypes__
00038 #include "AITypes.h"
00039 #endif
00040
00041 #ifndef __IAIFilePath__
00042 #include "IAIFilePath.hpp"
00043 #endif
00044
00045 #ifndef __AIArray__
00046 #include "AIArray.h"
00047 #endif
00048
00049 #include "AIHeaderBegin.h"
00050
00053
00054
00055
00056
00057
00058
00059 #define kAIFXGFileFormatSuite "AI FXG File Format Suite"
00060 #define kAIFXGFileFormatSuiteVersion AIAPI_VERSION(4)
00061 #define kAIFXGFileFormatVersion kAIFXGFileFormatSuiteVersion
00062
00066 enum AIFXGVersion
00067 {
00071 kAIFXGVersion1pt0 = 1,
00072
00076 kAIFXGVersion2pt0 = 2,
00077
00081 kAIFXGDefaultVersion = kAIFXGVersion2pt0
00082 };
00083
00088 enum AIFXGPreservePolicy
00089 {
00092 kAIFXGPreserveAppearanceExpand = 1,
00093
00096 kAIFXGPreserveAppearanceRasterize,
00097
00101 kAIFXGPreserveEditibility,
00102
00105 kAIFXGPreserveAuto,
00106
00109 kAIFXGDefaultTextPreservePolicy = kAIFXGPreserveAuto,
00110
00113 kAIFXGDefaultFiltersPreservePolicy = kAIFXGPreserveEditibility,
00114
00117 kAIFXGDefaultGradientsPreservePolicy = kAIFXGPreserveAuto,
00118
00119 };
00120
00125 enum AIFXGRasterizeResolution
00126 {
00129 kAIFXGResolutionScreen = 72,
00130
00133 kAIFXGResolutionMedium = 150,
00134
00137 kAIFXGResolutionHigh = 300,
00138
00141 kAIFXGResolutionCustom = -1,
00142
00145 kAIFXGDefaultRasterizeResoultion = kAIFXGResolutionScreen
00146 };
00147
00150 typedef AIArrayRef AIFXGSaveWarnings;
00151
00154 typedef AIDictionaryRef AIFXGFileFormatSaveParams;
00155
00157
00161 #define kFXGWarningNotFoundErr '!FND'
00162
00166 enum AIFXGAssetTypeEnum
00167 {
00170 kAIFXGAssetTypeMasterFile = 0,
00171
00174 kAIFXGAssetTypeArtboardFile = 1,
00175
00178 kAIFXGAssetTypeImage = 2,
00179
00182 kAIFXGAssetXMP = 3,
00183
00186 kAIFXGAssetTypeMax = 0xFFFF
00187 };
00188
00192 enum AIFXGExpandArtOptionEnum
00193 {
00196 kAIFXGExpandArtOptionNone = 0,
00197
00200 kAIFXGExpandArtOptionRasterize = 1,
00201
00204 kAIFXGExpandArtOptionExpand = 2,
00205
00208 kAIFXGExpandArtOptionStructure = 3,
00209
00213 kAIFXGExpandArtOptionPlaceholder = 4,
00214
00217 kAIFXGExpandArtOptionAuto = 5,
00218
00221 kAIFXGDefaultExpandArtOptionBlends = kAIFXGExpandArtOptionAuto,
00222
00223
00226 kAIFXGExpandArtOptionMax = 0xFFFF
00227 };
00228
00232 enum AIFXGExportFlagEnum
00233 {
00236 kAIFXGExportFlagMasterFile = 1,
00237
00240 kAIFXGExportFlagArtboards = 1 << 1,
00241
00244 kAIFXGExportFlagBoth = kAIFXGExportFlagMasterFile | kAIFXGExportFlagArtboards,
00245
00248 kAIFXGExportFlagDefault = kAIFXGExportFlagMasterFile,
00249
00251 kAIFXGExportFlagMax = 0xFFFF
00252 };
00253
00254
00255
00256
00257
00258
00259
00264 struct AIFXGWriteStreamInterface {
00265
00273 AIAPI AIBoolean (*IsExistingAsset) (AIFXGWriteStreamInterface* stream, ai::int16 assetType, const ai::UnicodeString& assetPath);
00274
00283 AIAPI AIErr (*BeginAsset) (AIFXGWriteStreamInterface* stream, ai::int16 assetType, const ai::UnicodeString& assetName, const ai::UnicodeString& mimeType);
00284
00291 AIAPI AIErr (*EndAsset) (AIFXGWriteStreamInterface* stream, ai::int16 assetType);
00292
00301 AIAPI size_t (*WriteBytes) (AIFXGWriteStreamInterface* stream, const ai::uint8* buffer, const size_t maxToWrite);
00302
00303
00313 AIAPI ai::int16 (*GetExpandOptionForArt) (AIFXGWriteStreamInterface* stream, AIArtHandle art, ai::int32* expandFlags);
00314
00323 AIAPI AIBoolean (*GeneratePrivateDataForArt)(AIFXGWriteStreamInterface* stream, AIArtHandle art);
00324
00331 AIAPI AIErr (*GetPublicID) (AIFXGWriteStreamInterface* stream, ai::UnicodeString& publicID);
00332
00341 AIAPI AIErr (*GetRelativeImageFolderPath) (AIFXGWriteStreamInterface* stream, ai::UnicodeString& relImageFolderPath);
00342
00344 AIAPI AIErr (*DeleteAutoGeneratedImage)(AIFXGWriteStreamInterface* stream,const ai::UnicodeString& imageName);
00345 };
00351
00352
00353
00354
00355
00356
00363 struct AIFXGFileFormatSuite{
00370 AIAPI AIErr (*CreateFXGSaveParams) ( AIFXGFileFormatSaveParams* fxgSaveParams );
00371
00377 AIAPI AIErr (*DisposeFXGSaveParams) ( AIFXGFileFormatSaveParams fxgSaveParams );
00378
00385 AIAPI ai::int16 (*GetFXGSaveVersion) (AIFXGFileFormatSaveParams fxgSaveParams);
00386
00393 AIAPI AIErr (*SetFXGSaveVersion) (AIFXGFileFormatSaveParams fxgSaveParams, ai::int16 fxgVersion);
00394
00401 AIAPI AIBoolean (*GetFXGSavePreserveAIEditCapability) (AIFXGFileFormatSaveParams fxgSaveParams);
00402
00409 AIAPI AIErr (*SetFXGSavePreserveAIEditCapability) (AIFXGFileFormatSaveParams fxgSaveParams, AIBoolean aiEditCap);
00410
00417 AIAPI ai::int16 (*GetFXGSaveTextPolicy) (const AIFXGFileFormatSaveParams fxgSaveParams);
00418
00425 AIAPI AIErr (*SetFXGSaveTextPolicy) (AIFXGFileFormatSaveParams fxgSaveParams, ai::int16 fxgTextPreservePolicy);
00426
00433 AIAPI ai::int16 (*GetFXGSaveFilterPolicy) (AIFXGFileFormatSaveParams fxgSaveParams);
00434
00441 AIAPI AIErr (*SetFXGSaveFilterPolicy) (AIFXGFileFormatSaveParams fxgSaveParams, ai::int16 fxgFilterPreservePolicy);
00442
00450 AIAPI ai::int16 (*GetFXGSaveGradientPolicy) (AIFXGFileFormatSaveParams fxgSaveParams);
00451
00458 AIAPI AIErr (*SetFXGSaveGradientPolicy) (AIFXGFileFormatSaveParams fxgSaveParams, ai::int16 fxgGradientPreservePolicy);
00459
00466 AIAPI AIBoolean (*GetFXGSaveIncludeSymbol) (AIFXGFileFormatSaveParams fxgSaveParams);
00467
00474 AIAPI AIErr (*SetFXGSaveIncludeSymbol) (AIFXGFileFormatSaveParams fxgSaveParams, AIBoolean aiIncludeSymbol);
00475
00482 AIAPI AIBoolean (*GetFXGSaveIncludeXMP) (AIFXGFileFormatSaveParams fxgSaveParams);
00483
00490 AIAPI AIErr (*SetFXGSaveIncludeXMP) (AIFXGFileFormatSaveParams fxgSaveParams, AIBoolean aiIncludeXMP);
00491
00499 AIAPI ai::int16 (*GetFXGSaveRasterizeResolution) (AIFXGFileFormatSaveParams fxgSaveParams, ai::int32* outCustomResolution);
00500
00508 AIAPI AIErr (*SetFXGSaveRasterizeResolution) (AIFXGFileFormatSaveParams fxgSaveParams,
00509 ai::int16 fxgRasterizeResolution, ai::int32 customResolution);
00510
00517 AIAPI AIBoolean (*GetFXGSaveDownsampleLinkedImages) (AIFXGFileFormatSaveParams fxgSaveParams);
00518
00525 AIAPI AIErr (*SetFXGSaveDownsampleLinkedImages) (AIFXGFileFormatSaveParams fxgSaveParams, AIBoolean aiDownSampleLinkedImages);
00526
00534 AIAPI AIBoolean (*GetFXGSaveWriteImages) (AIFXGFileFormatSaveParams fxgSaveParams);
00535
00542 AIAPI AIErr (*SetFXGSaveWriteImages) (AIFXGFileFormatSaveParams fxgSaveParams, AIBoolean writeImages);
00543
00556 AIAPI AIErr (*ExportFXGToFile) (AIArtHandle art, const ai::FilePath& filePath, AIFXGFileFormatSaveParams fxgSaveParams, ai::int32 fxgExportFlags, const ai::UnicodeString& artBoardRange, const ai::UnicodeString& customProgressText, AIFXGSaveWarnings* saveWarnings);
00557
00570 AIAPI AIErr (*ExportFXGToStream) (AIArtHandle art, AIFXGWriteStreamInterface* streamInterface, AIFXGFileFormatSaveParams fxgSaveParams, ai::int32 fxgExportFlags, const ai::UnicodeString& artBoardRange, const ai::UnicodeString& customProgressText, AIFXGSaveWarnings* saveWarnings);
00571
00579 AIAPI ai::int16 (*GetFXGSaveExpandOptionBlends) (AIFXGFileFormatSaveParams fxgSaveParams);
00580
00587 AIAPI AIErr (*SetFXGSaveExpandOptionBlends) (AIFXGFileFormatSaveParams fxgSaveParams, ai::int16 fxgBlendsExpandOption);
00588
00594 AIAPI AIErr (*DisposeFXGSaveWarnings)(AIFXGSaveWarnings saveWarnings);
00595
00602 AIAPI ai::int32 (*GetFXGSaveWarningCount) (AIFXGSaveWarnings saveWarnings);
00603
00612 AIAPI AIErr (*GetNthFXGSaveWarning) (AIFXGSaveWarnings saveWarnings, ai::int32 index, ai::UnicodeString& warningZStr);
00613
00614 } ;
00615
00616
00617 #include "AIHeaderEnd.h"
00618
00619
00620
00621 #endif //__AIFXGFileFormat__