31 #ifndef __IDynamicTrackerData__ 32 #define __IDynamicTrackerData__ 40 enum TrackingState { kNotTracking, kBeginTracking, kContinueTracking, kEndTracking, kAbortTracking };
46 kAffectsXY = kAffectsX | kAffectsY,
48 kAffectsXW = kAffectsX | kAffectsW,
50 kAffectsYH = kAffectsY | kAffectsH,
51 kAffectsXYW = kAffectsXY | kAffectsW,
52 kAffectsXYH = kAffectsXY | kAffectsH,
53 kAffectsWH = kAffectsW | kAffectsH,
54 kAffectsXYWH = kAffectsXY | kAffectsWH,
56 kAffectsWHL = kAffectsWH | kAffectsL,
57 kAffectsXYWHL = kAffectsXY | kAffectsWH | kAffectsL,
58 kAffectsD1 = kAffectsL,
59 kAffectsXYL = kAffectsXY | kAffectsL,
60 kAffectsXYD1 = kAffectsXYL,
62 kAffectsXYD2 = kAffectsXY | kAffectsD2,
65 kAffectsDeltaXDeltaY = kAffectsDeltaX | kAffectsDeltaY,
66 kAffectsXYDeltaX = kAffectsXY | kAffectsDeltaX,
67 kAffectsXYDeltaY = kAffectsXY | kAffectsDeltaY,
68 kAffectsXYDeltaXDeltaY = kAffectsXY | kAffectsDeltaX | kAffectsDeltaY,
69 kMarqueeSelection = 256,
72 kAffectsScaleY = 1024,
73 kAffectsSkewAngle = 2048,
74 kAffectsRotationAngle = 4096,
75 kAffectsTransform = kAffectsScaleX | kAffectsScaleY | kAffectsSkewAngle | kAffectsRotationAngle,
80 virtual void NotifyBeginTracking(
const PBPMPoint& startPoint,
81 const TrackingEffect& effect) = 0;
83 virtual void NotifyContinueTracking(
const PBPMPoint& startPoint,
85 const TrackingEffect& effect) = 0;
87 virtual void NotifyContinueTracking(
const PBPMPoint& startPoint,
90 const TrackingEffect& effect) = 0;
92 virtual void NotifyEndTracking(
const PBPMPoint& startPoint,
93 const PBPMPoint& endPoint,
const TrackingEffect& effect) = 0;
95 virtual PBPMPoint GetStartPoint()
const = 0;
96 virtual PBPMPoint GetEndPoint()
const = 0;
97 virtual PBPMPoint GetMiddlePoint()
const = 0;
99 virtual TrackingState GetTrackingState()
const = 0;
100 virtual TrackingEffect GetTrackingEffect()
const = 0;
112 virtual void SetRows(int32 rows) = 0;
132 virtual void SetGridBounds(
const PMRect& bounds) = 0;
141 virtual int32
GetRows()
const = 0;