Object <- InputQueueMonitor |
|
|
BeginRecordJournal Clear DequeueInput EachPendingInput EndRecordJournal QueueInput Reinitialize ReleaseInput |
|
EditMode HasElements PlayFast PlaybackFinished |
| Field | Type | |
|---|---|---|
| InputQueueMonitor: | monitoredQueue: | InputQueue |
| recordList: | ObjectList | |
| recordStartTime: | Unsigned | |
| flags: | Flags | |
| downTouchMarker: | Stamp | |
| upTouchMarker: | Stamp |
instance InputQueueMonitor tag; monitoredQueue: nilObject; recordList: nilObject; recordStartTime: 0; flags: 0x00000000; downTouchMarker: nilObject; upTouchMarker: nilObject; end instance;
Define Class InputQueueMonitor; inherits from Object; #ifdef RECORD_JOURNALS inherits interface from InputQueue; inherits from HasReinitialize; // Required by inherits interface from InputQueue. #endif field monitoredQueue: InputQueue; // ID of original queue in rootlist field recordList: ObjectList; // ObjectList that contains recorded inputs field recordStartTime: Unsigned; // Time (in Milliseconds) recording started field flags: Flags; // Various flags field downTouchMarker: Stamp; // Stamp for editing touch downs field upTouchMarker: Stamp; // Stamp for editing touch ups #ifdef RECORD_JOURNALS operation BeginRecordJournal(), safe, common; // Begin recording inputs operation EndRecordJournal(), safe, common; // End recording, create JournalStamp overrides QueueInput, DequeueInput, EachPendingInput, ReleaseInput, HasElements, Clear, Reinitialize; // flush all inputs #endif attribute PlaybackFinished: Boolean, safe, common; // status of journal playback attribute PlayFast: Boolean, safe, common; // get/set real-time/fast mode attribute EditMode: Boolean, safe, common; // get/set editing mode end class;