24 #ifndef __StrokeBoundsOutlineInfo__ 25 #define __StrokeBoundsOutlineInfo__ 27 #include "IOutlineInfo.h" 31 #include "PMBezierCurve.h" 33 const int32 kSegmentWindow = 3;
67 const PMReal& strokeWeight,
144 void ComputeSingleSegmentBoundsWithEnds();
148 void ComputeFirstSegmentBoundsWithEnd();
153 void ComputeLastSegmentBoundsWithEnd();
157 void ComputeSegmentBounds (int32 whichSegment);
161 void ComputeSingleSegmentBounds();
165 void ComputeFirstSegmentBounds();
168 void ComputeBezierBounds(
PMPoint* ptList);
174 void ComputeMiterBounds
178 int32 previousSegment
182 void ComputeRoundJoinBounds
186 int32 previousSegment
190 void ComputeStartPathEnd (
PMPoint* ptList, int32 segType);
193 void ComputeEndPathEnd (
PMPoint* ptList, int32 segType);
204 PMPoint fFirstSegmentStorage[4];
205 int32 fFirstSegmentType;
207 PMPoint fSegmentStorage[kSegmentWindow][4];
208 int32 fSegmentType[kSegmentWindow];
220 bool16 fStartedWithMoveTo;
221 bool16 fComputeBoundsForFirstSegment;
222 bool16 fComputeBoundsForLastSegment;
226 bool16 fIsMatrixIdentity;