Adobe.com
Contents Suites Classes Class Index Member Index

AIFXGFileFormat.h

Go to the documentation of this file.
00001 #ifndef __AIFXGFileFormat__
00002 #define __AIFXGFileFormat__
00003 
00004 /*
00005 *        Name:  AIFXGFileFormat.h
00006 *      Author:
00007 *        Date:
00008 *     Purpose:  Adobe Illustrator FXG Suite.
00009 *
00010 * ADOBE SYSTEMS INCORPORATED
00011 * Copyright 2007-2008 Adobe Systems Incorporated.
00012 * All rights reserved.
00013 *
00014 * NOTICE:  Adobe permits you to use, modify, and distribute this file
00015 * in accordance with the terms of the Adobe license agreement
00016 * accompanying it. If you have received this file from a source other
00017 * than Adobe, then your use, modification, or distribution of it
00018 * requires the prior written permission of Adobe.
00019 *
00020 */
00021 
00022 
00023 /*******************************************************************************
00024 **
00025 **      Imports
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 ** Constants
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 **      Types
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 **      Suite
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__


Contents Suites Classes Class Index Member Index
Adobe Solutions Network
 
Copyright © 2016 Adobe Systems Incorporated. All rights reserved.
Terms of Use Online Privacy Policy Adobe and accessibility Avoid software piracy Permissions and Trademarks