Object <- Viewable <- Stamp <- Eraser |
|
|
AllowedToLeaveScene CanChangeContainers DoneErasing PreviousOrigin SetPreviousOrigin StartErasing |
|
AlwaysOnTop Origin Shadow |
| Field | Type | |
|---|---|---|
| Viewable: | superview: | Viewable |
| relativeOrigin: | Dot | |
| contentSize: | Dot | |
| viewFlags: | Flags | |
| labelStyle: | TextStyle | |
| color: | Unsigned | |
| altColor: | Unsigned | |
| shadow: | Shadow | |
| sound: | Playable | |
| Stamp: | image: | Image |
| Eraser: | currentScribbles: | ObjectList |
| previousOrigin: | Dot | |
| dirtyBox: | Box |
instance Eraser tag; relativeOrigin: <0.0,0.0>; contentSize: <0.0,0.0>; viewFlags: 0x00000000; labelStyle: nilObject; color: 0; altColor: 0; shadow: nilObject; sound: nilObject; image: nilObject; currentScribbles: nilObject; previousOrigin: <0.0,0.0>; dirtyBox: <0.0,0.0,0.0,0.0>; end instance;
Define Class Eraser; // a pawn of the erase tool inherits from Stamp; field currentScribbles: ObjectList; field previousOrigin: Dot; field dirtyBox: Box; operation StartErasing(touchInput: TouchInput); operation DoneErasing(); operation PreviousOrigin(var previousOrigin: Dot); operation SetPreviousOrigin(previousOrigin: Dot); overrides AllowedToLeaveScene; overrides CanChangeContainers; overrides SetOrigin; overrides SetShadow; overrides AlwaysOnTop; end class;