24 #ifndef __IPathInfoUtils__ 25 #define __IPathInfoUtils__ 27 #include "GenericID.h" 28 #include "IPMUnknown.h" 33 #include "TransformTypes.h" 51 fPointsAreCoLinear(kFalse),
58 inline bool16 IsStraightLine()
const;
62 inline bool16 IsVerticalLine()
const;
64 inline bool16 IsHorizontalLine()
const;
66 inline PMLine GetLine()
const;
69 inline bool16 IsPoint()
const;
71 inline PMPoint GetPoint()
const;
74 inline bool16 PointsAreCoLinear()
const;
82 friend class PathInfoUtils;
86 bool16 fPointsAreCoLinear;
98 enum { kDefaultIID = IID_IPATHINFOUTILS };
100 virtual bool16 IsStraightLine(
const PathInfo& pathInfo )
const = 0;
104 virtual bool16 IsVerticalLine(
const PathInfo& pathInfo )
const = 0;
105 virtual bool16 IsHorizontalLine(
const PathInfo& pathInfo )
const = 0;
108 virtual bool16 IsPoint(
const PathInfo& pathInfo )
const = 0;
111 virtual bool16 PointsAreCoLinear(
const PathInfo& pathInfo )
const = 0;
114 virtual bool16 IsEqual(
const PathInfo& pathInfo1,
const PathInfo& pathInfo2 )
const = 0;
140 virtual bool16 IsVerticalLine(
IGeometry* pageItem)
const = 0;
142 virtual bool16 IsHorizontalLine(
IGeometry* pageItem)
const = 0;
144 virtual bool16 IsPoint(
IGeometry* pageItem)
const = 0;
157 inline bool16 PathInfo::IsStraightLine()
const {
return Utils<IPathInfoUtils>()->IsStraightLine( *
this ); }
158 inline bool16 PathInfo::IsVerticalLine()
const {
return Utils<IPathInfoUtils>()->IsVerticalLine( *
this ); }
159 inline bool16 PathInfo::IsHorizontalLine()
const {
return Utils<IPathInfoUtils>()->IsHorizontalLine( *
this ); }
163 inline bool16 PathInfo::PointsAreCoLinear()
const {
return Utils<IPathInfoUtils>()->PointsAreCoLinear( *
this ); }
166 #endif // __IPathInfoUtils__