Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*++
Copyright (C) 1996-1999 Microsoft Corporation
Module Name:
statbar.h
Abstract:
<abstract>
--*/
#ifndef _STATBAR_H_
#define _STATBAR_H_
#define SZ_HRTIME_FORMAT TEXT("%1d%s%02d%s%02d")
#define SZ_MINTIME_FORMAT TEXT("%1d%s%02d")
#define SZ_DAYTIME_FORMAT TEXT("%1dD %1d%s%02d")
#define E_MEDIUM_VALUE 999999.999
#define E_LARGE_VALUE 9999999999.0
#define E_TOO_LARGE_VALUE 1.0E+20
#define SZ_VALUE_TOO_HIGH TEXT("+ + + +")
#define SZ_VALUE_TOO_LOW TEXT("- - - -")
#define LABEL_MARGIN 12
#define VALUE_MARGIN 4
#define RECT_BORDER 1
#define LINE_SPACING (2 * RECT_BORDER + 4)
#define STAT_LAST 0
#define STAT_AVG 1
#define STAT_MIN 2
#define STAT_MAX 3
#define STAT_TIME 4
#define STAT_ITEM_CNT 5
// Structure for one item
typedef struct _STAT_ITEM { INT xPos ; INT yPos ; INT xLabelWidth; double dNewValue; double dValue ; INT iInitialized ; DWORD dwCounterType; } STAT_ITEM, *PSTAT_ITEM ;
class CSysmonControl; class CGraphItem;
class CStatsBar { private:
enum eStatFormat { eMinimumWidth = 10, eSmallPrecision = 3, eMediumPrecision = 0, eLargePrecision = 4, eIntegerPrecision = 0 }; void DrawValues (HDC hDC, BOOL bForce);
CSysmonControl *m_pCtrl; STAT_ITEM m_StatItem[STAT_ITEM_CNT]; RECT m_Rect; INT m_iFontHeight; INT m_iValueWidth; PCGraphItem m_pGraphItemToInit; public:
CStatsBar (void); ~CStatsBar (void);
BOOL Init (CSysmonControl *pCtrl, HWND hWnd); void SizeComponents(LPRECT pRect); void SetTimeSpan(double dSeconds); INT Height (INT iMaxHeight, INT iMaxWidth); void ChangeFont(HDC hDC);
void Draw (HDC hDC, HDC hAttribDC, PRECT prcUpdate); void Update(HDC hDC, CGraphItem* pGraphItem); void Clear( void ); void GetUpdateRect( PRECT pRect ) { *pRect = m_Rect; } };
typedef CStatsBar *PSTATSBAR;
#endif // _STATBAR_H_
|