AIArtStyleHandle thisArtStyle;
AIPathStyle aiPathStyle;
AIArtStylePaintData paintData;
error = sAIArtStyle->GetPaintAttributes( thisArtStyle, &aiPathStyle, &paintData );
The pattern is in the AIPatternStyle struct of the AIColorUnion struct of the AIColor struct of the AIFillStyle struct of the AIPathStyle struct which for the example above would be in aiPathStyle.fill.color.c.p. So for example aiPathStyle.fill.color.c.p.scale would be a AIReal number representing the scale of the pattern. For your convenience, I have included all of the structs below:
typedef struct AIPathStyle {
/** Whether or not to fill the path. */
AIBoolean fillPaint;
/** Whether or not to stroke the path */
AIBoolean strokePaint;
/** Fill style, if fillPaint is true */
struct AIFillStyle fill;
/** Stroke style, if strokePaint is true */
struct AIStrokeStyle stroke;
/** Whether or not to use this as a clipping path */
AIBoolean clip;
/** Whether or not to lock the clipping path */
AIBoolean lockClip;
/** When true, use the even-odd rule to determine path insideness */
AIBoolean evenodd;
/** Path's resolution */
AIReal resolution;
} AIPathStyle;
typedef struct AIFillStyle {
/** Fill color */
AIColor color;
/** When true, print any art beneath this, then print the fill of this object over it.
When false, knock out art beneath this art at print time */
AIBoolean overprint;
} AIFillStyle;
typedef struct {
/** The type of color being described. */
AIColorTag kind;
/** Contains the detailed specification of the color as appropriate for
the \c kind. */
AIColorUnion c;
} AIColor;
/** The union of all possible types of color specification. */
typedef union {
/** A grayscale color */
AIGrayColorStyle g;
/** A CMYK color */
AIFourColorStyle f;
/** An RGB color */
AIThreeColorStyle rgb;
/** A custom color */
AICustomColorStyle c;
/** A pattern */
AIPatternStyle p;
/** A gradient (blend) */
AIGradientStyle b;
} AIColorUnion;
typedef struct {
/** An opaque reference to the pattern object, accessed through the
\c #AIPatternSuite, whose functions get and set a patternÃs name
and defining art object or objects.
*/
AIPatternHandle pattern;
/** Distance to translate the unscaled prototype before filling,
measured from the ruler origin.*/
AIReal shiftDist;
/** Angle to translate the unscaled prototype before filling,
in degrees. */
AIReal shiftAngle;
/** Fraction to scale the prototype before filling. */
AIRealPoint scale;
/** Angle to rotate the prototype before filling. */
AIReal rotate;
/** When true, the prototype is reflected before filling */
AIBoolean reflect;
/** Axis around which to reflect. */
AIReal reflectAngle;
/** Angle to slant the shear by. */
AIReal shearAngle;
/** Axis to shear with respect to. */
AIReal shearAxis;
/** Additional transformation arising from manipulating the path. */
AIRealMatrix transform;
} AIPatternStyle;
-jeshua