Adobe.com
Contents Suites Classes Class Index Member Index

AIPlanarObject.h

Go to the documentation of this file.
00001 #ifndef __AIPlanarObject__
00002 #define __AIPlanarObject__
00003 
00004 /*
00005  *        Name: AIPlanarObject.h
00006  *      Author:
00007  *        Date:
00008  *     Purpose: Adobe Illustrator Planar Object Suite.
00009  *
00010  * ADOBE SYSTEMS INCORPORATED
00011  * Copyright 1986-2007 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 __AIArt__
00030 #include "AIArt.h"
00031 #endif
00032 #ifndef __AIPath__
00033 #include "AIPath.h"
00034 #endif
00035 #ifndef __AIArtStyle__
00036 #include "AIArtStyle.h"
00037 #endif
00038 
00039 #include "AIHeaderBegin.h"
00040 
00043 /*******************************************************************************
00044  **
00045  **     Constants
00046  **
00047  **/
00048 
00049 #define kAIPlanarObjectSuite                                    "AI Planar Object Suite"
00050 #define kAIPlanarObjectSuiteVersion4                    AIAPI_VERSION(4)
00051 #define kAIPlanarObjectSuiteVersion                             kAIPlanarObjectSuiteVersion4
00052 #define kAIPlanarObjectVersion                                  kAIPlanarObjectSuiteVersion
00053 
00054 
00057 #define kLivePaintComplexityWarning                             "LivePaintComplexityWarning"
00058 
00060 #define kPlanarObjectPluginSelection "Planar FaceEdgeSelection"
00061 
00062 
00063 /*******************************************************************************
00064  **
00065  **     Types
00066  **
00067  **/
00068 
00071 typedef struct _AIPlanarObject* AIPlanarObjectHandle;
00072 
00075 typedef struct
00076 {
00079         AIReal                  gapMax;
00081         AIBoolean               gapDetectEnabled;
00082 } AIGapOptions;
00083 
00084 
00085 /*******************************************************************************
00086  **
00087  **     Suite
00088  **
00089  **/
00090 
00091 
00101 typedef struct {
00102 
00110         AIAPI AIPlanarObjectHandle (*NewPlanarObject) ( const AIRealMatrix* matrix, const AIGapOptions* gapOptions );
00111 
00146         AIAPI AIErr (*AddPath) (
00147                 AIPlanarObjectHandle object, int segmentCount, AIPathSegment *segments,
00148                         AIArtStyleHandle *leftFill, AIArtStyleHandle *rightFill, AIArtStyleHandle *stroke,
00149                         AIBoolean closed );
00150 
00151         /* Adds a path to a planar object, for a path that has uniform stroke style
00152                 and separates only two faces, such as a closed shape surrounded entirely by one
00153                 other face.
00154                         @param object The planar object.
00155                         @param segmentCount     The number of segments in the path.
00156                         @param segments The path segments, an array of size \c segmentCount for a
00157                                 closed path, or of size \c segmentCount+1 for an open path.     (A path segment
00158                                 is an anchor point with its two handles, and an open path has one more
00159                                 anchor point than it has bezier segments.)
00160                         @param leftFill A style object containing the paint style for the fill
00161                                 to the left of all segments.
00162                         @param rightFill A style object containing the paint style for the fill
00163                                 to the right of all segments.
00164                         @param stroke A style object containing the paint style for the stroke
00165                                 of all segments.
00166                         @param closed True to create a closed path.
00167         */
00168         AIAPI AIErr (*AddPathUniform) (
00169                 AIPlanarObjectHandle object, int segmentCount, AIPathSegment *segments,
00170                         AIArtStyleHandle leftFill, AIArtStyleHandle rightFill, AIArtStyleHandle stroke,
00171                         AIBoolean closed );
00172 
00176         AIAPI AIErr (*Abandon) ( AIPlanarObjectHandle object );
00177 
00190         AIAPI AIErr (*CreateArt) ( AIPlanarObjectHandle object, ai::int16 paintOrder, AIArtHandle prep, AIArtHandle *newArt );
00191 
00197         AIAPI AIBoolean (*IsPlanarArtObject) ( AIArtHandle art );
00198 
00229         AIAPI AIErr (*ComplexConversionCanceled) ( AIBoolean fromPlanarMap, ai::int32 pathOrEdgeCount,
00230                                                                                         const AIGapOptions* gapOptions, AIBoolean *warningDisplayed /*output*/ );
00231 
00232         // New for AI 13
00240         AIAPI AIErr (*EraseBlob)( AIArtHandle pathBlob, AIArtHandle planarObject, AIBoolean* erasedSomething );
00241 
00248         AIAPI AIErr (*SelectSimilarFaceStyle)(void);
00254         AIAPI AIBoolean (*CanSelectSimilarFaceStyle)(void);
00255 
00256 
00263         AIAPI AIErr (*SelectSimilarEdgeWeights)(void);
00269         AIAPI AIBoolean (*CanSelectSimilarEdgeWeights)(void);
00270 
00271 
00278         AIAPI AIErr (*SelectSimilarEdgeColors)(void);
00284         AIAPI AIBoolean (*CanSelectSimilarEdgeColors)(void);
00285 
00286 
00287 
00288 } AIPlanarObjectSuite;
00289 
00290 
00291 #include "AIHeaderEnd.h"
00292 
00293 
00294 #endif  // __AIPlanarObject__


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