Reactos
at listview 68 lines 1.7 kB view raw
1/* 2 * PROJECT: ReactOS Task Manager 3 * LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later) 4 * PURPOSE: Graph Plotting controls. 5 * COPYRIGHT: Copyright 2002 Robert Dickenson <robd@reactos.org> 6 * Copyright 2021 Wu Haotian <rigoligo03@gmail.com> 7 * Copyright 2021 Valerij Zaporogeci <vlrzprgts@gmail.com> 8 */ 9 10#pragma once 11 12#define NUM_PLOTS 2 13#define PLOT_SHIFT 2 14 15#ifdef __cplusplus 16extern "C" { 17#endif 18 19typedef struct _TM_GRAPH_CONTROL 20{ 21 HWND hParentWnd; 22 HWND hWnd; 23 HDC hdcGraph; 24 HBITMAP hbmGraph; 25 HPEN hPenGrid; 26 HPEN hPen0; 27 HPEN hPen1; 28 HBRUSH hBrushBack; 29 30 INT BitmapWidth; 31 INT BitmapHeight; 32 INT GridCellWidth; 33 INT GridCellHeight; 34 INT CurrShift; 35 36 PBYTE PointBuffer; 37 UINT32 NumberOfPoints; 38 UINT32 CurrIndex; 39 40 FLOAT ftPixelsPerPercent; 41 BOOL DrawSecondaryPlot; 42} 43TM_GRAPH_CONTROL, *PTM_GRAPH_CONTROL; 44 45typedef struct _TM_FORMAT 46{ 47 COLORREF clrBack; 48 COLORREF clrGrid; 49 COLORREF clrPlot0; 50 COLORREF clrPlot1; 51 INT GridCellWidth; 52 INT GridCellHeight; 53 BOOL DrawSecondaryPlot; 54} 55TM_FORMAT, *PTM_FORMAT; 56 57extern WNDPROC OldGraphCtrlWndProc; 58INT_PTR CALLBACK GraphCtrl_WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam); 59 60BOOL GraphCtrl_Create(PTM_GRAPH_CONTROL inst, HWND hWnd, HWND hParentWnd, PTM_FORMAT fmt); 61void GraphCtrl_Dispose(PTM_GRAPH_CONTROL inst); 62void GraphCtrl_AddPoint(PTM_GRAPH_CONTROL inst, BYTE val0, BYTE val1); 63void GraphCtrl_RedrawOnHeightChange(PTM_GRAPH_CONTROL inst, INT nh); 64void GraphCtrl_RedrawBitmap(PTM_GRAPH_CONTROL inst, INT h); 65 66#ifdef __cplusplus 67} 68#endif