00001 #ifndef TICKS_CTRL_INTERFACE_H 00002 #define TICKS_CTRL_INTERFACE_H 00003 00013 class CoordinateCtrl; 00014 00015 00019 class TicksCtrlInterface { 00020 void adjustChildCrdsTicks(TicksCtrlInterface* root, long hostDiff, 00021 CoordinateCtrl* subRoot); 00022 00023 protected: 00024 00028 class ticksInfo_t { 00029 public: 00030 ticksInfo_t(void) : tryTimes_shift(1) {} 00031 ~ticksInfo_t(void) {} 00032 long setDiff; 00033 long moduleDiff; 00034 int tryTimes_shift; 00035 }; 00036 00040 virtual unsigned long getHostTicks(void) = 0; 00041 00045 virtual unsigned long getModuleTicks(unsigned long rawTicks); 00046 00050 virtual ticksInfo_t& getTicksInfo(void) = 0; 00051 00055 virtual void beginTimeAdjust(void) = 0; 00056 00062 virtual unsigned long getModuleRawTicks(void) = 0; 00063 00067 virtual void endTimeAdjust(void) = 0; 00068 00069 public: 00070 virtual ~TicksCtrlInterface(void) {} 00071 00079 unsigned long getModuleTicks(void); 00080 00090 virtual void adjustOwnTicks(unsigned long setTicks); 00091 00101 void adjustSubTreeTicks(unsigned long setTicks); 00102 }; 00103 00104 #endif /* !TICKS_CTRL_INTERFACE_H */ 00105