00001 #ifndef __AIShapeConstruction__
00002 #define __AIShapeConstruction__
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include "AITypes.h"
00027 #include "AIArt.h"
00028
00029
00030 #include "AIHeaderBegin.h"
00031
00034
00035
00036
00037
00038
00039
00040 #define kAIShapeConstructionSuite "AI Shape Construction Suite"
00041 #define kAIShapeConstructionSuiteVersion AIAPI_VERSION(8)
00042 #define kAIShapeConstructionVersion kAIShapeConstructionSuiteVersion
00043
00044
00047 #define kNoSegmentsError '0SEG'
00048
00050 #define kArtworkTooComplexErr 'cmp!'
00051
00052
00053
00054
00055
00056
00057
00058
00072 typedef struct {
00084 AIAPI AIErr (*NewPointPointRect)( AIRealPoint fromPoint, AIRealPoint toPoint,
00085 AIBoolean isCentered, AIBoolean isReversed, AIBoolean isConstrained,
00086 AIBoolean honorConstrainAngle,
00087 AIArtHandle *art, AIRealPoint *size );
00088
00099 AIAPI AIErr (*NewPointSizeRect)( AIRealPoint fromPoint, AIRealPoint size,
00100 AIBoolean isCentered, AIBoolean isReversed,
00101 AIBoolean honorConstrainAngle,
00102 AIArtHandle *art );
00103
00116 AIAPI AIErr (*NewPointPointOval)( AIRealPoint fromPoint, AIRealPoint toPoint,
00117 AIBoolean isCentered, AIBoolean isReversed, AIBoolean isConstrained, AIBoolean isCircumscribed,
00118 AIBoolean honorConstrainAngle,
00119 AIArtHandle *art, AIRealPoint *size );
00120
00131 AIAPI AIErr (*NewPointSizeOval)( AIRealPoint fromPoint, AIRealPoint size,
00132 AIBoolean isCentered, AIBoolean isReversed,
00133 AIBoolean honorConstrainAngle,
00134 AIArtHandle *art );
00135
00147 AIAPI AIErr (*NewPointPointRoundedRect)( AIRealPoint fromPoint, AIRealPoint toPoint, AIRealPoint radius,
00148 AIBoolean isCentered, AIBoolean isReversed, AIBoolean isConstrained,
00149 AIBoolean honorConstrainAngle,
00150 AIArtHandle *art, AIRealPoint *size );
00151
00162 AIAPI AIErr (*NewPointSizeRoundedRect)( AIRealPoint fromPoint, AIRealPoint size, AIRealPoint radius,
00163 AIBoolean isCentered, AIBoolean isReversed,
00164 AIBoolean honorConstrainAngle,
00165 AIArtHandle *art );
00166
00175 AIAPI AIErr (*NewRect)( AIReal top, AIReal left,
00176 AIReal bottom, AIReal right,
00177 AIBoolean reversed, AIArtHandle *newArt);
00178
00187 AIAPI AIErr (*NewCenteredRect)( AIReal centerX, AIReal centerY,
00188 AIReal height, AIReal width,
00189 AIBoolean reversed, AIArtHandle *newArt );
00190
00199 AIAPI AIErr (*NewRoundedRect)( AIReal top, AIReal left,
00200 AIReal bottom, AIReal right,
00201 AIReal horizRadius, AIReal vertRadius,
00202 AIBoolean reversed, AIArtHandle *newArt );
00203
00214 AIAPI AIErr (*NewCenteredRoundedRect)( AIReal centerX, AIReal centerY,
00215 AIReal height, AIReal width,
00216 AIReal horizRadius, AIReal vertRadius,
00217 AIBoolean reversed, AIArtHandle *newArt );
00218
00228 AIAPI AIErr (*NewInscribedOval)( AIReal top, AIReal left,
00229 AIReal bottom, AIReal right,
00230 AIBoolean reversed, AIArtHandle *newArt );
00231
00241 AIAPI AIErr (*NewCircumscribedOval)( AIReal top, AIReal left,
00242 AIReal bottom, AIReal right,
00243 AIBoolean reversed, AIArtHandle *newArt );
00244
00254 AIAPI AIErr (*NewInscribedCenteredOval)( AIReal centerX, AIReal centerY,
00255 AIReal height, AIReal width,
00256 AIBoolean reversed, AIArtHandle *newArt );
00257
00267 AIAPI AIErr (*NewCircumscribedCenteredOval)( AIReal centerX, AIReal centerY,
00268 AIReal height, AIReal width,
00269 AIBoolean reversed, AIArtHandle *newArt );
00270
00280 AIAPI AIErr (*NewRegularPolygon)( ai::uint16 numSides,
00281 AIReal centerX, AIReal centerY, AIReal radius,
00282 AIBoolean reversed, AIArtHandle *newArt );
00291 AIAPI AIErr (*NewRegularPolygonPoint)( ai::uint16 numsides,
00292 AIRealPoint center, AIRealPoint vertex,
00293 AIBoolean reversed, AIArtHandle *newArt );
00294
00305 AIAPI AIErr (*NewStar)( ai::uint16 numPoints,
00306 AIReal centerX, AIReal centerY,
00307 AIReal radius1, AIReal radius2,
00308 AIBoolean reversed, AIArtHandle *newArt );
00309
00319 AIAPI AIErr (*NewStarPoint)( ai::uint16 numPoints,
00320 AIRealPoint center, AIRealPoint vertex,
00321 AIReal radiusRatio,
00322 AIBoolean reversed, AIArtHandle *newArt );
00323
00332 AIAPI AIErr (*NewSpiral)( AIRealPoint firstArcCenter, AIRealPoint start,
00333 AIReal decayPercent, ai::int16 numQuarterTurns,
00334 AIBoolean clockwiseFromOutside, AIArtHandle *newArt );
00335
00346 AIAPI AIErr (*NewEllipticalPie)(AIRealPoint center, AIReal width, AIReal height,
00347 AIReal rotationAngle, AIReal startAngle, AIReal endAngle,
00348 AIBoolean isReversed, AIArtHandle *newArt);
00349
00356 AIAPI AIErr(*NewLinePoint)(const AIRealPoint& startPoint, const AIRealPoint& endPoint,
00357 AIArtHandle *newArt);
00358
00365 AIAPI AIErr(*NewLine)(const AIRealPoint& center, const AIReal length, const AIReal
00366 rotationAngle, AIArtHandle *newArt);
00367
00368
00369 } AIShapeConstructionSuite;
00370
00371
00372 #include "AIHeaderEnd.h"
00373
00374 #endif