24 #ifndef __IWaxLineShape__ 25 #define __IWaxLineShape__ 27 #include "IPMUnknown.h" 29 #include "GraphicsData.h" 30 #include "DrawPassInfo.h" 41 enum { kDefaultIID = IID_IWAXLINESHAPE };
54 virtual void Draw(
GraphicsData* gd, int32 iShapeFlags, Text::DrawPassInfo::Pass pass,
const PMRect* areaToDraw = nil) = 0;
130 kSelectionMode_Default = kSelectionMode_AscToDesc
134 virtual int32 GetSelectionMode()
const = 0;
160 enum CachedDataType {
162 kCachedDataType_Ink = 0,
165 kCachedDataType_Shading = 1,
168 kCachedDataType_Border = 2,
171 kCachedDataType_ColumnRule = 4
182 virtual void InvalCachedData(
const bool16 invalAll = kTrue,
const IWaxLineShape::CachedDataType cachedDataType = IWaxLineShape::kCachedDataType_Ink) = 0;
189 virtual bool16
GetHasCachedData(
const IWaxLineShape::CachedDataType cachedDataType = IWaxLineShape::kCachedDataType_Ink)
const = 0;
198 enum ShadingHeightFlags {
200 kFlag_ShadingTopFlag_Ascent = 0x00000001,
202 kFlag_ShadingTopFlag_Leading = 0x00000002,
204 kFlag_ShadingTopFlag_Baseline = 0x00000004,
206 kFlag_ShadingTopFlag_CapHeight = 0x00000008,
208 kFlag_ShadingTopFlag_EmBox = 0x00000010,
210 kFlag_ShadingTopFlag_xHeight = 0x00000020,
212 kFlag_ShadingTopFlag_EmBoxCenter = 0x00000040,
214 kFlag_ShadingTopRangeMask = 0x000000ff,
217 kFlag_ShadingBottomFlag_Baseline = 0x00000100,
219 kFlag_ShadingBottomFlag_Descent = 0x00000200,
221 kFlag_ShadingBottomFlag_EmBox = 0x00000400,
223 kFlag_ShadingBottomFlag_EmBoxCenter = 0x00000800,
225 kFlag_ShadingBottomRangeMask = 0x00000f00,