Adobe.com
Contents Suites Classes Class Index Member Index

AIPlaced.h

Go to the documentation of this file.
00001 /*************************************************************************
00002  * ADOBE CONFIDENTIAL
00003  * ___________________
00004  *
00005  *  Copyright 1986 Adobe
00006  *  All Rights Reserved.
00007  *
00008  * NOTICE:  All information contained herein is, and remains
00009  * the property of Adobe and its suppliers, if any. The intellectual
00010  * and technical concepts contained herein are proprietary to Adobe
00011  * and its suppliers and are protected by all applicable intellectual
00012  * property laws, including trade secret and copyright laws.
00013  * Dissemination of this information or reproduction of this material
00014  * is strictly forbidden unless prior written permission is obtained
00015  * from Adobe.
00016  **************************************************************************/
00017 #pragma once
00018 
00019 
00020 /*******************************************************************************
00021  **
00022  **     Imports
00023  **
00024  **/
00025 
00026 #ifndef __AITypes__
00027 #include "AITypes.h"
00028 #endif
00029 
00030 #ifndef __AIArt__
00031 #include "AIArt.h"
00032 #endif
00033 
00034 #ifndef _AIRaster_
00035 #include "AIRaster.h"
00036 #endif
00037 
00038 #include "IAIFilePath.hpp"
00039 #include "AIPlacedTypes.h"
00040 #include "AIHeaderBegin.h"
00041 
00045 /*******************************************************************************
00046  **
00047  ** Constants
00048  **
00049  **/
00050 
00051 #define kAIPlacedSuite                          "AI Placed Suite"
00052 #define kAIPlacedSuiteVersion10         AIAPI_VERSION(10)
00053 #define kAIPlacedSuiteVersion           kAIPlacedSuiteVersion10
00054 #define kAIPlacedVersion                        kAIPlacedSuiteVersion
00055 
00056 
00057 /*******************************************************************************/
00058 using ai::PlaceMethod;
00059 using ai::PlaceAlignment;
00060 using ai::kAsIs;
00061 using ai::kFill;
00062 using ai::kFit;
00063 using ai::kConform;
00064 using ai::kReconform;
00065 using ai::kTopLeft;
00066 using ai::kMidLeft;
00067 using ai::kBotLeft;
00068 using ai::kTopMid;
00069 using ai::kMidMid;
00070 using ai::kBotMid;
00071 using ai::kTopRight;
00072 using ai::kMidRight;
00073 using ai::kBotRight;
00074 /***/
00075 
00077 enum AIPlacedObjectType {
00079         kEPSType = 0,
00081         kOtherType
00082 };
00083 
00085 typedef enum PlaceRequestMode {
00088         kVanillaPlace = 0,
00096         kQueryReplace,
00099         kForceReplace,
00102         kUnlinkPlaced,
00107         kCreateNewArt,
00110         kForceReplaceEx,
00114         kQueryUnlinkPlaced
00115 } ePlaceRequestMode;
00116 
00118 typedef enum
00119 {
00121         kAIPlacedHasBlack    =                    (1<<0),
00123         kAIPlacedHasCyan     =                    (1<<1),
00125         kAIPlacedHasMagenta  =                    (1<<2),
00127         kAIPlacedHasYellow   =                    (1<<3),
00129         kAIPlacedHasCustomColors =                (1<<4)
00130 } AIPlacedPlateInfo;
00131 
00132 
00133 typedef enum 
00134 {
00135         /*Default Place Type will be done, with no position size changed of placed art*/
00136         kAIPlaceTransformTypeNone = 0,
00137         /*Art will be transformed w.r.t to current zoom and fit to current view*/
00138         kAIPlacedTransformTypeFitToView = 1
00139 
00140 } AIPlaceTransformType;
00141 
00142 
00143 /*******************************************************************************
00144  **
00145  ** Types
00146  **
00147  **/
00148 
00152 struct AIPlaceRequestData
00153 {
00154         AIPlaceRequestData() : m_lPlaceMode(0), m_hOldArt(NULL), m_hNewArt(NULL), m_pFilePath(NULL), m_lParam(0), m_filemethod(0), m_disableTemplate(false), m_doShowParamDialog(false), m_PlaceTransformType(kAIPlaceTransformTypeNone){}
00155 
00158         ai::int32 m_lPlaceMode;
00159 
00161         AIArtHandle m_hOldArt;
00162 
00164         AIArtHandle m_hNewArt;
00165 
00168         const ai::FilePath *m_pFilePath;
00169 
00172         ai::int32 m_lParam;
00173 
00175         ai::int16 m_filemethod;
00176 
00178         ASBoolean m_disableTemplate;
00179 
00181         AIBoolean m_doShowParamDialog;
00182 
00184         AIPlaceTransformType m_PlaceTransformType;
00185 };
00186 
00187 /*******************************************************************************
00188  **
00189  **     Suite
00190  **
00191  **/
00192 
00193 
00239 typedef struct AIPlacedSuite {
00240 
00247         AIAPI AIErr (*GetPlacedFileSpecification) ( AIArtHandle placed, ai::FilePath &file );
00248 
00256         AIAPI AIErr (*SetPlacedFileSpecification) ( AIArtHandle placed, const ai::FilePath &file );
00257 
00264         AIAPI AIErr (*GetPlacedMatrix) ( AIArtHandle placed, AIRealMatrix *matrix );
00265 
00273         AIAPI AIErr (*SetPlacedMatrix) ( AIArtHandle placed, AIRealMatrix *matrix );
00274 
00280         AIAPI AIErr (*GetPlacedBoundingBox) ( AIArtHandle placed, AIRealRect *bbox );
00281 
00288         AIAPI AIErr (*SetPlacedObject) ( AIArtHandle placed, AIArtHandle *group );
00289 
00297         AIAPI AIErr (*CountPlacedCustomColors) ( AIArtHandle art, ai::int32 *count );
00298 
00306         AIAPI AIErr (*GetNthPlacedCustomColorName) ( AIArtHandle art, ai::int32 num, ai::UnicodeString& name );
00307 
00313         AIAPI AIErr (*MakePlacedObjectNative) ( AIArtHandle placed, AIArtHandle *native, AIBoolean askForParam );
00314 
00320         AIAPI AIErr (*GetPlacedType) ( AIArtHandle placed, ai::int16 *pPlacedType );
00321 
00328         AIAPI AIErr (*GetPlacedChild) ( AIArtHandle placed, AIArtHandle *group );
00329 
00336         AIAPI AIErr (*ExecPlaceRequest)( AIPlaceRequestData &placeRequestData );
00337 
00347         AIAPI AIErr (*GetPlacedFileInfoFromArt)( AIArtHandle placed, SPPlatformFileInfo *spFileInfo );
00348 
00356         AIAPI AIErr (*GetPlacedFileInfoFromFile)( AIArtHandle placed, SPPlatformFileInfo *spFileInfo );
00357 
00362         AIAPI AIErr (*GetPlacedFilePathFromArt)( AIArtHandle placed, ai::UnicodeString &path );
00363 
00369         AIAPI AIErr (*ConcatPlacedMatrix) ( AIArtHandle placed, AIRealMatrix *concat );
00370 
00371         // New for Illustrator 10
00372 
00382         AIAPI AIErr (*SetPlaceOptions) ( AIArtHandle placed, enum PlaceMethod method, enum PlaceAlignment alignment, AIBoolean clip );
00383 
00390         AIAPI AIErr (*GetPlaceOptions) ( AIArtHandle placed, enum PlaceMethod *method, enum PlaceAlignment *alignment, AIBoolean *clip );
00391 
00404         AIAPI AIErr (*GetPlacedDimensions) ( AIArtHandle placed, AIRealPoint *size, AIRealRect *viewBounds, AIRealMatrix *viewMatrix,
00405                         AIRealRect *imageBounds, AIRealMatrix *imageMatrix );
00406 
00407         // New for Illustrator 12
00408 
00413         AIAPI AIErr (*SetPlacedBoundingBox) ( AIArtHandle art, AIRealRect* bbox );
00414 
00422         AIAPI AIErr (*GetRasterInfo) ( AIArtHandle art, AIRasterRecord* info, AIBoolean* israster );
00427         AIAPI AIErr (*GetProcessPlatesInfo) (AIArtHandle art, AIPlacedPlateInfo * plateInfo);
00428 
00429         /* Check if Placed Linked Object File is damaged(corrupt) or not.
00430                 @param art The placed object.
00431         */
00432         AIAPI AIBoolean(*IsPlacedFileDamaged) (AIArtHandle art);
00433         
00434 } AIPlacedSuite;
00435 
00436 #include "AIHeaderEnd.h"


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