|
|
1.1 ! root 1: /* ! 2: * ! 3: */ ! 4: ! 5: class TIMER : public DISPOBJ ! 6: { ! 7: int NumCalls; ! 8: TIMETYPE TotalTime; ! 9: TIMETYPE TimeThisFunction; ! 10: CString strDllName; ! 11: CString strFunctName; ! 12: CString strDisplay; ! 13: CRect rtDisplay; ! 14: ! 15: int perCent[4]; ! 16: int iBrush[4]; ! 17: ! 18: public: ! 19: TIMER(char * pchDll, char * pchFunction, int cCalls, TIMETYPE timeTotal, ! 20: TIMETYPE timeThisFunc); ! 21: TIMER * Parent() ! 22: { ! 23: return (TIMER *) DISPOBJ::Parent(); ! 24: } ! 25: ! 26: TIMER * Child() ! 27: { ! 28: return (TIMER *) DISPOBJ::Child(); ! 29: } ! 30: ! 31: TIMER * Sib() ! 32: { ! 33: return (TIMER *) DISPOBJ::Sib(); ! 34: } ! 35: ! 36: TIMETYPE& timeTotal() { return TotalTime; }; ! 37: ! 38: void AddTime(TIMETYPE timeAdd) { TimeThisFunction += timeAdd; TotalTime += timeAdd; return; }; ! 39: ! 40: void DoForeground(CDC * cdc, BOOL fZoom, RANGESTRUCT * prs); ! 41: int Height(BOOL fZoom) { return fZoom ? 13 : (rtDisplay.Height() + 8);} ! 42: int Width(BOOL fZoom) { return fZoom ? 28 : (rtDisplay.Width() + 8);} ! 43: ! 44: void DoSetPercents(TIMETYPE t); ! 45: void DoSetColors(RANGESTRUCT * prs); ! 46: void DoSetString(void); ! 47: void DoAssignSize(CDC * pcdc); ! 48: }; ! 49: ! 50: class TIMERROOT ! 51: { ! 52: TIMER * pRoot; ! 53: int level; ! 54: TIMER * pTimerCur; ! 55: ! 56: public: ! 57: TIMERROOT() { pTimerCur = pRoot = NULL; level = 0; }; ! 58: ! 59: void AddTiming(int iDepth, char * szModule, char * szName, int cCalls, TIMETYPE totalTime, TIMETYPE functionTime); ! 60: ! 61: void PaintTree(CDC * cdc, BOOL fZoom, RANGESTRUCT * prs, RECT rt) ! 62: { ! 63: pRoot->PaintTree(cdc, fZoom, prs, rt); ! 64: return; ! 65: }; ! 66: ! 67: void SetProperties(int flags, BOOL fZoom = FALSE, RANGESTRUCT * prs = 0, CDC * pcdc = 0); ! 68: ! 69: BOOL DblClick( CPoint pt) { return pRoot->DblClick(pt); }; ! 70: ! 71: void ExpandAll(void) { pRoot->ExpandAll(); return; }; ! 72: ! 73: CRect& RectTotal(void) { return pRoot->rtTotal; }; ! 74: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.