Adobe.com
Contents Suites Classes Class Index Member Index

AIEnvelope.h

Go to the documentation of this file.
00001 #ifndef __AIEnvelope__
00002 #define __AIEnvelope__
00003 
00004 /*
00005  *        Name: AIEnvelope.h
00006  *   $Revision: 1 $
00007  *      Author:
00008  *        Date:
00009  *     Purpose: Adobe Illustrator Envelope Suite.
00010  *
00011  * ADOBE SYSTEMS INCORPORATED
00012  * Copyright 1986-2013 Adobe Systems Incorporated.
00013  * All rights reserved.
00014  *
00015  * NOTICE:  Adobe permits you to use, modify, and distribute this file 
00016  * in accordance with the terms of the Adobe license agreement 
00017  * accompanying it. If you have received this file from a source other 
00018  * than Adobe, then your use, modification, or distribution of it 
00019  * requires the prior written permission of Adobe.
00020  *
00021  */
00022 
00023 
00024 /*******************************************************************************
00025  **
00026  **     Imports
00027  **
00028  **/
00029 
00030 #ifndef __AIArt__
00031 #include "AIArt.h"
00032 #endif
00033 
00034 #ifndef __AIDict__
00035 #include "AIDictionary.h"
00036 #endif
00037 
00038 #include "AIHeaderBegin.h"
00039 
00042 /*******************************************************************************
00043  **
00044  **     Constants
00045  **
00046  **/
00047 
00048 #define kAIEnvelopeSuite                                                "AI Envelope Suite"
00049 #define kAIEnvelopeSuiteVersion4                                AIAPI_VERSION(4)
00050 #define kAIEnvelopeSuiteVersion                                 kAIEnvelopeSuiteVersion4
00051 #define kAIEnvelopeVersion                                              kAIEnvelopeSuiteVersion
00052 
00059 #define kDeformExpandAppearance                 (1 << 0)
00060 
00062 #define kDeformExpandPatternFills               (1 << 1)
00063 
00065 #define kDeformExpandLinearGradients    (1 << 2)
00066 
00071 #define kDeformExpandText                       (1 << 3)
00072 
00076 #define kDeformOpacityMasks                     (1 << 4)
00077 
00080 #define kDeformExpandPluginGroups       (1 << 5)
00081 
00084 #define kDeformExpandSymbols            (1 << 6)
00085 
00087 #define kDeformAll                                      (0x0000FFFF)
00088 
00091 #define kDeformNonAARaster                      (1 << 16)
00092 
00097 #define kDeformRasterMakeClip           (1 << 17)
00098 
00099 
00103 #define kAIDeformMeshKey                "DeformMesh"
00104 
00109 #define kAIDeformFidelityKey    "DeformFidelity"        // ASInt32  [0..100]
00110 
00113 #define kAIDeformOptionsKey             "DeformOptions"         // ASInt32
00114 
00115 /*******************************************************************************
00116  **
00117  **     Types
00118  **
00119  **/
00120 
00123 typedef struct
00124 {
00132         ai::int32 envOptions;
00136         ai::int32 fidelity;
00137 
00138 } AIEnvelopeOptions;
00139 
00144 typedef AIAPI AIBoolean (*AIDeformProgressProc)(ai::int32 current, ai::int32 total);
00145 
00147 typedef enum
00148 {
00149         kWarpStyleArc = 1,
00150         kWarpStyleArcLower,
00151         kWarpStyleArcUpper,
00152         kWarpStyleArch,
00153         kWarpStyleBulge,
00154         kWarpStyleShellLower,
00155         kWarpStyleShellUpper,
00156         kWarpStyleFlag,
00157         kWarpStyleWave,
00158         kWarpStyleFish,
00159         kWarpStyleRise,
00160         kWarpStyleFisheye,
00161         kWarpStyleInflate,
00162         kWarpStyleSqueeze,
00163         kWarpStyleTwist
00164 
00165 } AIWarpStyle;
00166 
00168 typedef enum
00169 {
00170         kEnvelopeWarp = 1,
00171         kEnvelopeMesh,
00172         kEnvelopeObject
00173 } AIEnvelopeType;
00174 
00175 /*******************************************************************************
00176  **
00177  **     Suite
00178  **
00179  **/
00180 
00181 
00207 typedef struct {
00208 
00227         AIAPI AIErr (*MakeEnvelope) ( AIArtHandle* art, ai::int32 numArt, AIArtHandle envelopeObject,
00228                                                                   AIEnvelopeOptions* options, AIArtHandle* envelope );
00229 
00241         AIAPI AIErr (*WarpEnvelope) ( AIArtHandle envelope, AIWarpStyle warpStyle, AIReal bend,
00242                                                                   AIReal horizDistort, AIReal vertDistort, AIBoolean rotate90 );
00243 
00252         AIAPI AIErr (*ReleaseEnvelope) ( AIArtHandle envelope );
00253 
00259         AIAPI void (*GetEnvelopeOptions) ( AIArtHandle envelope, AIEnvelopeOptions* options );
00260 
00265         AIAPI void (*SetEnvelopeOptions) ( AIArtHandle envelope, AIEnvelopeOptions* options );
00266 
00270         AIAPI void (*GetCurrentEnvelopeOptions) ( AIEnvelopeOptions* options );
00271 
00277         AIAPI AIBoolean (*IsEnvelope) ( AIArtHandle envelope );
00278 
00285         AIAPI AIBoolean (*EditingMesh) ( AIArtHandle envelope );
00286 
00293         AIAPI AIBoolean (*EditingContents) ( AIArtHandle envelope );
00294 
00301         AIAPI AIErr (*ToggleEditability) ( AIArtHandle envelope );
00302 
00308         AIAPI AIErr (*GetEnvelopeObject) ( AIArtHandle envelope, AIArtHandle* envelopeObject );
00309 
00315         AIAPI AIErr (*SetEnvelopeObject) ( AIArtHandle envelope, AIArtHandle envelopeObject );
00316 
00323         AIAPI AIErr (*GetObjectsInEnvelope) ( AIArtHandle envelope, AIArtHandle* objects );
00324 
00343         AIAPI AIErr (*DeformArt) ( AIArtHandle                  artToDeform,
00344                                                            AIDictionaryRef              deformParams,
00345                                                            AIRealRect*                  srcRect,
00346                                                            AIArtHandle*                 deformedArt,
00347                                                            AIDeformProgressProc progressProc );
00348 
00350         AIAPI AIErr (*GenerateDeformMeshFromPath)( AIArtHandle pathArt,
00351                                                                                            AIArtHandle *meshArt );
00352 
00361         AIAPI AIErr (*GetEnvelopeType) ( AIArtHandle envelope, AIEnvelopeType* type );
00362         
00370         AIAPI AIErr (*UnconstrainedReshapePath) ( const AIArtHandle inPath, const AIReal& param, const AIRealPoint& delta, bool shiftPressed );
00371         
00378         AIAPI AIErr (*GetParamFromPathHitPoint) ( const AIArtHandle pathHandle, AIRealPoint pointOnCurve, int segmentIndex, AIReal &param );
00379         
00380 } AIEnvelopeSuite;
00381 
00382 #include "AIHeaderEnd.h"
00383 
00384 #endif


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