[ C++ RCOS Home | RCOS.java Home | RCOS Home | David's Home ]
Name: |
DiskAnim |
Comment: |
A class to render and animate a disk unit. Units are drawn in unit ID order, left to right, with one pixel per track - so limit instances to 80 tracks max, please.. |
Collaborators: |
WinPainter |
class DiskAnim : public WinPainter { point PtSpinPos; // centre of disk platter point PtIndexPos; // current index hole location INT16 nHeadPosY; // current graphic head position UINT16 nLid; // "our" logical unit ID (0 = "A:" etc) UINT16 nTracks; // 0 < nTracks <= 80 UINT16 nDiskRad; // calculated platter radius in pixels public: DiskAnim (UINT16, UINT16); ~DiskAnim (void) { } void Paint (void); // mandatory WinPainter member void PaintTQ (void); // full draw of queue box void DiskSeek (INT16); // head missile animator void DiskSpin (UINT16); // index hole animator void RefreshTQ (TransQ*, INT16 = 0); // queue update };