Adobe.com
Contents Suites Classes Class Index Member Index

AIPathConstruction.h

Go to the documentation of this file.
00001 #ifndef __AIPathConstruction__
00002 #define __AIPathConstruction__
00003 
00004 /*
00005  *        Name: AIPathConstruction.h
00006  *   $Revision: 11 $
00007  *      Author:
00008  *        Date:
00009  *     Purpose: Adobe Illustrator Path Construction 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 __AITypes__
00031 #include "AITypes.h"
00032 #endif
00033 
00034 #ifndef __AIPath__
00035 #include "AIPath.h"
00036 #endif
00037 
00038 
00039 #include "AIHeaderBegin.h"
00040 
00044 /*******************************************************************************
00045  **
00046  **     Types
00047  **
00048  **/
00049 
00051 typedef struct {
00053         AIRealPoint point;
00057         AIBoolean corner;
00058 } AIPathConstructionPoint;
00059 
00060 
00066 typedef struct {
00071         void *(*allocate)( size_t size );
00076         void (*dispose)( void *pointer );
00077 } AIPathConstructionMemoryObject;
00078 
00079 
00080 /*******************************************************************************
00081  **
00082  **     Constants
00083  **
00084  **/
00085 
00086 #define kAIPathConstructionSuite                        "AI PathConstruction Suite"
00087 #define kAIPathConstructionSuiteVersion5        AIAPI_VERSION(5)
00088 #define kAIPathConstructionSuiteVersion         kAIPathConstructionSuiteVersion5
00089 #define kAIPathConstructionVersion                      kAIPathConstructionSuiteVersion
00090 
00091 /*******************************************************************************
00092  **
00093  ** Suite
00094  **
00095  **/
00096 
00103 typedef struct {
00104 
00124         AIAPI AIErr (*CurvesToPoints) ( ai::int32 segmentCount, AIPathSegment *segments,
00125                 ai::int32 *pointCount, AIPathConstructionPoint **points,
00126                                           AIReal maxPointDistance, AIReal flatness,
00127                                           AIPathConstructionMemoryObject *memory );
00128 
00150         AIAPI AIErr (*CurveToPointsT) (AIPathSegment *startSegment, AIPathSegment *endSegment, 
00151                 ai::int32 *pointCount, AIPathConstructionPoint **points, AIReal **tArray,
00152                 AIReal maxPointDistance, AIReal flatness,
00153                 AIPathConstructionMemoryObject *memory );
00154 
00184         AIAPI AIErr (*PointsToCurves) ( ai::int32 *pointCount, AIPathConstructionPoint *points,
00185                 ai::int32 *segmentCount, AIPathSegment **segments,
00186                                           AIReal *tolerance,
00187                                           AIReal *threshold,
00188                                           ai::int16 *cornerRadius,
00189                                           AIReal *scale,
00190                                           AIPathConstructionMemoryObject *memory );
00191 
00201         AIAPI AIErr (*ReducePathSegments) ( AIArtHandle path, AIReal flatness,
00202                                           AIPathConstructionMemoryObject *memory );
00203 
00204 } AIPathConstructionSuite;
00205 
00206 
00207 #include "AIHeaderEnd.h"
00208 
00209 
00210 #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