98 lines
2.1 KiB
C
98 lines
2.1 KiB
C
|
/*++
|
||
|
|
||
|
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_
|
||
|
|