struct deltacontrol{
int current;
int delta;
int len;
int togo;
};
class DeltaControl
{
public:
DeltaControl();
virtual void SetFrom(int Major, int Minor);
virtual void SetTo(int Major, int Minor);
virtual BOOL Next();
int GetMajor() {return m_Major.current;};
int GetMinor() {return m_Minor.current;};
virtual int GetLength() {return m_Minor.len + m_Major.len;};
protected:
virtual void OnMajorChange(int Current) {};
virtual void OnMinorChange(int Current) {};
deltacontrl m_Major;
deltacontrl m_Minor;
int m_ErrorTerm;
virtual void SetTo(int In, deltacontrol *Out);
BOOL m_MinorLast;
};
End of Listing