|
|
|
|
@ -80,15 +80,16 @@ void DrawGraph(HDC hdc, RECT* rc, struct etcpmon_app* app)
|
|
|
|
|
int sel[GRAPH_METRICS_COUNT]; |
|
|
|
|
int sc = 0; |
|
|
|
|
GetSelectedChannels(app, sel, &sc); |
|
|
|
|
int pad = 5; |
|
|
|
|
int gl = pad + 5; /* левая граница графика */ |
|
|
|
|
int gr = w - pad; /* правая граница */ |
|
|
|
|
int gt = pad; /* верх */ |
|
|
|
|
int gb = h - 5; /* низ */ |
|
|
|
|
int pad = 2; |
|
|
|
|
int gl = pad; |
|
|
|
|
int gr = w - pad; |
|
|
|
|
int gt = pad; |
|
|
|
|
int gb = h - pad; |
|
|
|
|
int gh = gb - gt; |
|
|
|
|
HPEN old; |
|
|
|
|
/* === Сетка === */ |
|
|
|
|
HPEN grid = CreatePen(PS_DOT, 1, GetSysColor(COLOR_BTNSHADOW)); |
|
|
|
|
HPEN old = (HPEN)SelectObject(memDC, grid); |
|
|
|
|
old = (HPEN)SelectObject(memDC, grid); |
|
|
|
|
for (int i = 1; i < 5; i++) { |
|
|
|
|
int y = pad + (h - 2 * pad) * i / 5; |
|
|
|
|
MoveToEx(memDC, pad, y, NULL); |
|
|
|
|
@ -96,13 +97,6 @@ void DrawGraph(HDC hdc, RECT* rc, struct etcpmon_app* app)
|
|
|
|
|
} |
|
|
|
|
SelectObject(memDC, old); |
|
|
|
|
DeleteObject(grid); |
|
|
|
|
/* === Оси === */ |
|
|
|
|
HPEN axis = CreatePen(PS_SOLID, 1, GetSysColor(COLOR_WINDOWTEXT)); |
|
|
|
|
old = (HPEN)SelectObject(memDC, axis); |
|
|
|
|
MoveToEx(memDC, gl, gt, NULL); LineTo(memDC, gl, gb); |
|
|
|
|
MoveToEx(memDC, gl, gb, NULL); LineTo(memDC, gr, gb); |
|
|
|
|
SelectObject(memDC, old); |
|
|
|
|
DeleteObject(axis); |
|
|
|
|
/* Сколько точек видно */ |
|
|
|
|
int vis = (hist->count < gr - gl) ? hist->count : (gr - gl); |
|
|
|
|
int oldest = (hist->head - vis + GRAPH_HISTORY_SIZE) % GRAPH_HISTORY_SIZE; |
|
|
|
|
|