Object <- Viewable <- Stamp <- Icon <- ClockIcon |
|
|
AboutToHide AboutToShow Draw Idle |
|
City Untouchable |
| Field | Type | |
|---|---|---|
| Viewable: | superview: | Viewable |
| relativeOrigin: | Dot | |
| contentSize: | Dot | |
| viewFlags: | Flags | |
| labelStyle: | TextStyle | |
| color: | Unsigned | |
| altColor: | Unsigned | |
| shadow: | Shadow | |
| sound: | Playable | |
| Stamp: | image: | Image |
| HasDestination: | destination: | Viewable |
| Icon: | nativeContainer: | Viewable |
| nativePosition: | Dot | |
| ClockIcon: | millisecs: | Unsigned |
| city: | City |
instance ClockIcon 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; destination: nilObject; nativeContainer: nilObject; nativePosition: <0.0,0.0>; millisecs: 0; city: nilObject; end instance;
Define Class ClockIcon; inherits from Icon, ClockFace; has dispatcher hintdata; field millisecs: Unsigned; // tracks the current time of the current city // in milliseconds. the clock icon will redraw // itself if the difference between this field // and the time is great enough. field city: City, getter, sharedSetter; // used by City attribute attribute City: City; // the city from which the time is drawn // typically this is set to iCurrentCity overrides AboutToHide, AboutToShow, Draw, Idle; // these are overriden to maintain the proper // visual state of the clock hands. overrides Untouchable; // If the destination does not exist, the icon cannot be touched. end class;