Browse Source

график

nodeinfo-routing-update
jeka 2 months ago
parent
commit
f844f65abe
  1. 20
      tools/etcpmon/etcpmon_graph.c

20
tools/etcpmon/etcpmon_graph.c

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

Loading…
Cancel
Save