ReactOS 0.4.15-dev-7918-g2a2556c
graphctl.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _TM_GRAPH_CONTROL
 
struct  _TM_FORMAT
 

Macros

#define NUM_PLOTS   2
 
#define PLOT_SHIFT   2
 

Typedefs

typedef struct _TM_GRAPH_CONTROL TM_GRAPH_CONTROL
 
typedef struct _TM_GRAPH_CONTROLPTM_GRAPH_CONTROL
 
typedef struct _TM_FORMAT TM_FORMAT
 
typedef struct _TM_FORMATPTM_FORMAT
 

Functions

INT_PTR CALLBACK GraphCtrl_WndProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
 
BOOL GraphCtrl_Create (PTM_GRAPH_CONTROL inst, HWND hWnd, HWND hParentWnd, PTM_FORMAT fmt)
 
void GraphCtrl_Dispose (PTM_GRAPH_CONTROL inst)
 
void GraphCtrl_AddPoint (PTM_GRAPH_CONTROL inst, BYTE val0, BYTE val1)
 
void GraphCtrl_RedrawOnHeightChange (PTM_GRAPH_CONTROL inst, INT nh)
 
void GraphCtrl_RedrawBitmap (PTM_GRAPH_CONTROL inst, INT h)
 

Variables

WNDPROC OldGraphCtrlWndProc
 

Macro Definition Documentation

◆ NUM_PLOTS

#define NUM_PLOTS   2

Definition at line 12 of file graphctl.h.

◆ PLOT_SHIFT

#define PLOT_SHIFT   2

Definition at line 13 of file graphctl.h.

Typedef Documentation

◆ PTM_FORMAT

◆ PTM_GRAPH_CONTROL

◆ TM_FORMAT

◆ TM_GRAPH_CONTROL

Function Documentation

◆ GraphCtrl_AddPoint()

void GraphCtrl_AddPoint ( PTM_GRAPH_CONTROL  inst,
BYTE  val0,
BYTE  val1 
)

Definition at line 140 of file graphctl.c.

141{
142 HDC hdcg;
143 PBYTE t;
144 RECT rcDirt;
145
146 UINT Prev0, Prev1, RetainingWidth;
147 INT PrevY, CurrY, p, v;
148
149 hdcg = inst->hdcGraph;
150 RetainingWidth = inst->BitmapWidth - PLOT_SHIFT;
151 t = inst->PointBuffer;
152 Prev0 = *(t + inst->CurrIndex);
153 Prev1 = *(t + inst->CurrIndex + inst->NumberOfPoints);
154 if (inst->CurrIndex < inst->NumberOfPoints - 1)
155 {
156 inst->CurrIndex++;
157 }
158 else
159 {
160 inst->CurrIndex = 0;
161 }
162 *(t + inst->CurrIndex) = val0;
163 *(t + inst->CurrIndex + inst->NumberOfPoints) = val1;
164
165 /* Drawing points, first shifting the plot left */
166 BitBlt(hdcg, 0, 0, RetainingWidth, inst->BitmapHeight, hdcg, PLOT_SHIFT, 0, SRCCOPY);
167
168 rcDirt.left = RetainingWidth;
169 rcDirt.top = 0;
170 rcDirt.right = inst->BitmapWidth;
171 rcDirt.bottom = inst->BitmapHeight;
172 FillRect(hdcg, &rcDirt, inst->hBrushBack);
173
174 SelectObject(hdcg, inst->hPenGrid);
175 for (p = inst->GridCellHeight - 1;
176 p < inst->BitmapHeight;
177 p += inst->GridCellHeight)
178 {
179 MoveToEx(hdcg, RetainingWidth, p, NULL);
180 LineTo(hdcg, inst->BitmapWidth, p);
181 }
182 v = inst->CurrShift + PLOT_SHIFT;
183 if (v >= inst->GridCellWidth)
184 {
185 v -= inst->GridCellWidth;
186 p = inst->BitmapWidth - v - 1;
187 MoveToEx(hdcg, p, 0, NULL);
188 LineTo(hdcg, p, inst->BitmapHeight);
189 }
190 inst->CurrShift = v;
191
192 if (inst->DrawSecondaryPlot)
193 {
194 SelectObject(inst->hdcGraph, inst->hPen1);
195
196 PrevY = inst->BitmapHeight - Prev1 * inst->ftPixelsPerPercent;
197 MoveToEx(inst->hdcGraph, RetainingWidth - 1, PrevY, NULL);
198 CurrY = inst->BitmapHeight - val1 * inst->ftPixelsPerPercent;
199 LineTo(inst->hdcGraph, inst->BitmapWidth - 1, CurrY);
200 }
201
202 SelectObject(inst->hdcGraph, inst->hPen0);
203 PrevY = inst->BitmapHeight - Prev0 * inst->ftPixelsPerPercent;
204 MoveToEx(inst->hdcGraph, RetainingWidth - 1, PrevY, NULL);
205 CurrY = inst->BitmapHeight - val0 * inst->ftPixelsPerPercent;
206 LineTo(inst->hdcGraph, inst->BitmapWidth - 1, CurrY);
207}
#define NULL
Definition: types.h:112
static VOID BitBlt(_In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Width, _In_ ULONG Height, _In_reads_bytes_(Delta *Height) PUCHAR Buffer, _In_ ULONG BitsPerPixel, _In_ ULONG Delta)
Definition: common.c:57
const GLdouble * v
Definition: gl.h:2040
GLdouble GLdouble t
Definition: gl.h:2047
GLfloat GLfloat p
Definition: glext.h:8902
#define PLOT_SHIFT
Definition: graphctl.h:13
static HDC
Definition: imagelist.c:92
unsigned int UINT
Definition: ndis.h:50
BYTE * PBYTE
Definition: pedump.c:66
FLOAT ftPixelsPerPercent
Definition: graphctl.h:40
UINT32 CurrIndex
Definition: graphctl.h:38
BOOL DrawSecondaryPlot
Definition: graphctl.h:41
PBYTE PointBuffer
Definition: graphctl.h:36
HBRUSH hBrushBack
Definition: graphctl.h:28
UINT32 NumberOfPoints
Definition: graphctl.h:37
LONG right
Definition: windef.h:308
LONG bottom
Definition: windef.h:309
LONG top
Definition: windef.h:307
LONG left
Definition: windef.h:306
int32_t INT
Definition: typedefs.h:58
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
Definition: dc.c:1539
BOOL WINAPI MoveToEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT)
#define SRCCOPY
Definition: wingdi.h:333
int WINAPI FillRect(HDC, LPCRECT, HBRUSH)
BOOL WINAPI LineTo(_In_ HDC, _In_ int, _In_ int)

Referenced by PerformancePageRefreshThread().

◆ GraphCtrl_Create()

BOOL GraphCtrl_Create ( PTM_GRAPH_CONTROL  inst,
HWND  hWnd,
HWND  hParentWnd,
PTM_FORMAT  fmt 
)

Definition at line 17 of file graphctl.c.

18{
19 HDC hdc, hdcg;
20 HBITMAP hbmOld;
21 UINT Size;
22 INT p;
23 RECT rc;
24
25 inst->hParentWnd = hParentWnd;
26 inst->hWnd = hWnd;
27
29 inst->BitmapWidth = Size;
32 if (!inst->PointBuffer)
33 {
34 goto fail;
35 }
36
37 inst->NumberOfPoints = Size;
38 inst->CurrIndex = 0;
39
40 /* Styling */
41 inst->hPenGrid = CreatePen(PS_SOLID, 0, fmt->clrGrid);
42 inst->hPen0 = CreatePen(PS_SOLID, 0, fmt->clrPlot0);
43 inst->hPen1 = CreatePen(PS_SOLID, 0, fmt->clrPlot1);
44 inst->hBrushBack = CreateSolidBrush(fmt->clrBack);
45
46 if (!inst->hPenGrid ||
47 !inst->hPen0 ||
48 !inst->hPen1 ||
49 !inst->hBrushBack)
50 {
51 goto fail;
52 }
53
54 if (fmt->GridCellWidth >= PLOT_SHIFT << 2)
55 inst->GridCellWidth = fmt->GridCellWidth;
56 else
57 inst->GridCellWidth = PLOT_SHIFT << 2;
58 if (fmt->GridCellHeight >= PLOT_SHIFT << 2)
59 inst->GridCellHeight = fmt->GridCellHeight;
60 else
61 inst->GridCellHeight = PLOT_SHIFT << 2;
62
63 inst->DrawSecondaryPlot = fmt->DrawSecondaryPlot;
64
65 GetClientRect(hWnd, &rc);
66 inst->BitmapHeight = rc.bottom;
67 inst->ftPixelsPerPercent = (FLOAT)(inst->BitmapHeight) / 100.00f;
68
69 hdc = GetDC(hParentWnd);
70 hdcg = CreateCompatibleDC(hdc);
71 inst->hdcGraph = hdcg;
73
74 if (!hdc ||
75 !hdcg ||
76 !inst->hbmGraph)
77 {
78 goto fail;
79 }
80
81 ReleaseDC(hParentWnd, hdc);
82 hbmOld = (HBITMAP)SelectObject(hdcg, inst->hbmGraph);
83 DeleteObject(hbmOld);
84
85 SetBkColor(hdcg, fmt->clrBack);
86 rc.right = inst->BitmapWidth;
87 FillRect(hdcg, &rc, inst->hBrushBack);
88
89 inst->CurrShift = 0;
90 SelectObject(hdcg, inst->hPenGrid);
91 for (p = inst->GridCellHeight - 1;
92 p < inst->BitmapHeight;
93 p += inst->GridCellHeight)
94 {
95 MoveToEx(hdcg, 0, p, NULL);
96 LineTo(hdcg, inst->BitmapWidth, p);
97 }
98 for (p = inst->BitmapWidth - 1;
99 p > 0;
100 p -= inst->GridCellWidth)
101 {
102 MoveToEx(hdcg, p, 0, NULL);
103 LineTo(hdcg, p, inst->BitmapHeight);
104 }
105 SelectObject(hdcg, inst->hPen0);
106
107 return TRUE;
108
109fail:
110 GraphCtrl_Dispose(inst);
111 return FALSE;
112}
HWND hWnd
Definition: settings.c:17
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
#define GetProcessHeap()
Definition: compat.h:736
#define HeapAlloc
Definition: compat.h:733
#define HEAP_ZERO_MEMORY
Definition: compat.h:134
pKey DeleteObject()
void GraphCtrl_Dispose(PTM_GRAPH_CONTROL inst)
Definition: graphctl.c:115
#define NUM_PLOTS
Definition: graphctl.h:12
#define FLOAT
Definition: i386-dis.c:525
HDC hdc
Definition: main.c:9
static HBITMAP
Definition: button.c:44
HBITMAP hbmGraph
Definition: graphctl.h:24
Definition: dsound.c:943
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
Definition: wdfdevice.h:4533
COLORREF WINAPI SetBkColor(_In_ HDC, _In_ COLORREF)
Definition: dc.c:999
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
HBITMAP WINAPI CreateCompatibleBitmap(_In_ HDC hdc, _In_ INT cx, _In_ INT cy)
HBRUSH WINAPI CreateSolidBrush(_In_ COLORREF)
HPEN WINAPI CreatePen(_In_ int, _In_ int, _In_ COLORREF)
#define PS_SOLID
Definition: wingdi.h:586
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
HDC WINAPI GetDC(_In_opt_ HWND)
#define SM_CXSCREEN
Definition: winuser.h:959
int WINAPI GetSystemMetrics(_In_ int)

Referenced by PerformancePageWndProc().

◆ GraphCtrl_Dispose()

void GraphCtrl_Dispose ( PTM_GRAPH_CONTROL  inst)

Definition at line 115 of file graphctl.c.

116{
117 if (inst->PointBuffer)
119
120 if (inst->hdcGraph)
121 DeleteDC(inst->hdcGraph);
122
123 if (inst->hPenGrid)
124 DeleteObject(inst->hPenGrid);
125
126 if (inst->hPen0)
127 DeleteObject(inst->hPen0);
128
129 if (inst->hPen1)
130 DeleteObject(inst->hPen1);
131
132 if (inst->hBrushBack)
134
135 if (inst->hbmGraph)
136 DeleteObject(inst->hbmGraph);
137}
#define HeapFree(x, y, z)
Definition: compat.h:735
BOOL WINAPI DeleteDC(_In_ HDC)

Referenced by GraphCtrl_Create(), and PerformancePageWndProc().

◆ GraphCtrl_RedrawBitmap()

void GraphCtrl_RedrawBitmap ( PTM_GRAPH_CONTROL  inst,
INT  h 
)
inline

Definition at line 210 of file graphctl.c.

211{
212 HDC hdcg;
213 PBYTE t;
214 RECT rc;
215 INT i, j, y, x, p;
216 FLOAT coef;
217
218 hdcg = inst->hdcGraph;
219 rc.left = 0; rc.top = 0;
220 rc.right = inst->BitmapWidth; rc.bottom = h;
221 FillRect(hdcg, &rc, inst->hBrushBack);
222
223 SelectObject(hdcg, inst->hPenGrid);
224
225 for (p = inst->GridCellHeight - 1;
226 p < inst->BitmapHeight;
227 p += inst->GridCellHeight)
228 {
229 MoveToEx(hdcg, 0, p, NULL);
230 LineTo(hdcg, inst->BitmapWidth, p);
231 }
232
233 for (p = inst->BitmapWidth - inst->CurrShift - 1;
234 p > 0;
235 p -= inst->GridCellWidth)
236 {
237 MoveToEx(hdcg, p, 0, NULL);
238 LineTo(hdcg, p, inst->BitmapHeight);
239 }
240
241 coef = inst->ftPixelsPerPercent;
242
243 if (inst->DrawSecondaryPlot)
244 {
245 SelectObject(hdcg, inst->hPen1);
246 t = inst->PointBuffer + inst->NumberOfPoints;
247 x = inst->BitmapWidth - 1;
248 j = inst->CurrIndex;
249 y = h - *(t + j) * coef;
250 MoveToEx(hdcg, x, y, NULL);
251 for (i = 0; i < inst->NumberOfPoints; i++)
252 {
253 j = (j ? j : inst->NumberOfPoints) - 1;
254 y = h - *(t + j) * coef;
255 x -= PLOT_SHIFT;
256 LineTo(hdcg, x, y);
257 }
258 }
259
260 SelectObject(hdcg, inst->hPen0);
261 t = inst->PointBuffer;
262 x = inst->BitmapWidth - 1;
263 j = inst->CurrIndex;
264 y = h - *(t + j) * coef;
265 MoveToEx(hdcg, x, y, NULL);
266
267 for (i = 0; i < inst->NumberOfPoints; i++)
268 {
269 j = (j ? j : inst->NumberOfPoints) - 1;
270 y = h - *(t + j) * coef;
271 x -= PLOT_SHIFT;
272 LineTo(hdcg, x, y);
273 }
274}
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
GLfloat GLfloat GLfloat GLfloat h
Definition: glext.h:7723
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
Definition: glfuncs.h:250
float FLOAT
Definition: typedefs.h:69

Referenced by GraphCtrl_RedrawOnHeightChange(), and PerformancePage_OnViewShowKernelTimes().

◆ GraphCtrl_RedrawOnHeightChange()

void GraphCtrl_RedrawOnHeightChange ( PTM_GRAPH_CONTROL  inst,
INT  nh 
)
inline

Definition at line 277 of file graphctl.c.

278{
279 HDC hdc;
280 HBITMAP hbmOld;
281
282 inst->BitmapHeight = nh;
283 inst->ftPixelsPerPercent = (FLOAT)nh / 100.00f;
284
285 hdc = GetDC(inst->hParentWnd);
286 hbmOld = inst->hbmGraph;
288 SelectObject(inst->hdcGraph, inst->hbmGraph);
289 DeleteObject(hbmOld);
290 ReleaseDC(inst->hParentWnd, hdc);
291
292 GraphCtrl_RedrawBitmap(inst, nh);
293}
void GraphCtrl_RedrawBitmap(PTM_GRAPH_CONTROL inst, INT h)
Definition: graphctl.c:210

Referenced by GraphCtrl_WndProc().

◆ GraphCtrl_WndProc()

INT_PTR CALLBACK GraphCtrl_WndProc ( HWND  hWnd,
UINT  message,
WPARAM  wParam,
LPARAM  lParam 
)

Definition at line 301 of file graphctl.c.

302{
303 PTM_GRAPH_CONTROL graph;
304
305 switch (message)
306 {
307 case WM_ERASEBKGND:
308 return TRUE;
309 /*
310 * Filter out mouse & keyboard messages
311 */
312 // case WM_APPCOMMAND:
314 case WM_LBUTTONDBLCLK:
315 case WM_LBUTTONDOWN:
316 case WM_LBUTTONUP:
317 case WM_MBUTTONDBLCLK:
318 case WM_MBUTTONDOWN:
319 case WM_MBUTTONUP:
320 case WM_MOUSEACTIVATE:
321 case WM_MOUSEHOVER:
322 case WM_MOUSELEAVE:
323 case WM_MOUSEMOVE:
324 // case WM_MOUSEWHEEL:
325 case WM_NCHITTEST:
327 case WM_NCLBUTTONDOWN:
328 case WM_NCLBUTTONUP:
330 case WM_NCMBUTTONDOWN:
331 case WM_NCMBUTTONUP:
332 // case WM_NCMOUSEHOVER:
333 // case WM_NCMOUSELEAVE:
334 case WM_NCMOUSEMOVE:
336 case WM_NCRBUTTONDOWN:
337 case WM_NCRBUTTONUP:
338 // case WM_NCXBUTTONDBLCLK:
339 // case WM_NCXBUTTONDOWN:
340 // case WM_NCXBUTTONUP:
341 case WM_RBUTTONDBLCLK:
342 case WM_RBUTTONDOWN:
343 case WM_RBUTTONUP:
344 // case WM_XBUTTONDBLCLK:
345 // case WM_XBUTTONDOWN:
346 // case WM_XBUTTONUP:
347 case WM_ACTIVATE:
348 case WM_CHAR:
349 case WM_DEADCHAR:
350 case WM_GETHOTKEY:
351 case WM_HOTKEY:
352 case WM_KEYDOWN:
353 case WM_KEYUP:
354 case WM_KILLFOCUS:
355 case WM_SETFOCUS:
356 case WM_SETHOTKEY:
357 case WM_SYSCHAR:
358 case WM_SYSDEADCHAR:
359 case WM_SYSKEYDOWN:
360 case WM_SYSKEYUP:
361 return 0;
362
363 case WM_NCCALCSIZE:
364 return 0;
365
366 case WM_SIZE:
367 {
372 else
373 return 0;
374
375 if (HIWORD(lParam) != graph->BitmapHeight)
376 {
378 }
380
381 return 0;
382 }
383
384 case WM_PAINT:
385 {
386 RECT rcClient;
387 HDC hdc;
388 PAINTSTRUCT ps;
389
394 else
395 return 0;
396
397 hdc = BeginPaint(hWnd, &ps);
398 GetClientRect(hWnd, &rcClient);
399 BitBlt(hdc, 0, 0,
400 rcClient.right,
401 rcClient.bottom,
402 graph->hdcGraph,
403 graph->BitmapWidth - rcClient.right,
404 0,
405 SRCCOPY);
406 EndPaint(hWnd, &ps);
407 return 0;
408 }
409 }
410
411 /*
412 * We pass on all non-handled messages
413 */
415}
WPARAM wParam
Definition: combotst.c:138
LPARAM lParam
Definition: combotst.c:139
HWND hPerformancePageMemUsageHistoryGraph
Definition: perfpage.c:18
HWND hPerformancePageCpuUsageHistoryGraph
Definition: perfpage.c:17
WNDPROC OldGraphCtrlWndProc
Definition: graphctl.c:14
TM_GRAPH_CONTROL PerformancePageMemUsageHistoryGraph
Definition: perfpage.c:12
TM_GRAPH_CONTROL PerformancePageCpuUsageHistoryGraph
Definition: perfpage.c:11
void GraphCtrl_RedrawOnHeightChange(PTM_GRAPH_CONTROL inst, INT nh)
Definition: graphctl.c:277
#define WM_MOUSELEAVE
Definition: commctrl.h:4975
#define WM_MOUSEHOVER
Definition: commctrl.h:4974
Definition: tftpd.h:60
#define HIWORD(l)
Definition: typedefs.h:247
#define WM_PAINT
Definition: winuser.h:1620
#define WM_ERASEBKGND
Definition: winuser.h:1625
#define WM_GETHOTKEY
Definition: winuser.h:1653
#define WM_KEYUP
Definition: winuser.h:1716
#define WM_SETHOTKEY
Definition: winuser.h:1652
#define WM_CAPTURECHANGED
Definition: winuser.h:1808
#define WM_SIZE
Definition: winuser.h:1611
#define WM_LBUTTONDBLCLK
Definition: winuser.h:1778
#define WM_NCHITTEST
Definition: winuser.h:1686
#define WM_RBUTTONUP
Definition: winuser.h:1780
#define WM_NCRBUTTONDBLCLK
Definition: winuser.h:1697
#define WM_RBUTTONDBLCLK
Definition: winuser.h:1781
#define WM_SETFOCUS
Definition: winuser.h:1613
#define WM_MOUSEMOVE
Definition: winuser.h:1775
#define WM_NCMBUTTONUP
Definition: winuser.h:1699
#define WM_LBUTTONDOWN
Definition: winuser.h:1776
#define WM_NCLBUTTONDBLCLK
Definition: winuser.h:1694
#define WM_ACTIVATE
Definition: winuser.h:1612
#define WM_RBUTTONDOWN
Definition: winuser.h:1779
#define WM_NCMOUSEMOVE
Definition: winuser.h:1691
#define WM_SYSCHAR
Definition: winuser.h:1721
#define WM_SYSDEADCHAR
Definition: winuser.h:1722
#define WM_NCMBUTTONDOWN
Definition: winuser.h:1698
BOOL WINAPI EndPaint(_In_ HWND, _In_ const PAINTSTRUCT *)
#define WM_MBUTTONDBLCLK
Definition: winuser.h:1784
#define WM_SYSKEYUP
Definition: winuser.h:1720
#define WM_MOUSEACTIVATE
Definition: winuser.h:1637
#define WM_LBUTTONUP
Definition: winuser.h:1777
#define WM_CHAR
Definition: winuser.h:1717
#define WM_NCLBUTTONUP
Definition: winuser.h:1693
#define WM_HOTKEY
Definition: winuser.h:1879
#define WM_NCRBUTTONUP
Definition: winuser.h:1696
#define WM_KEYDOWN
Definition: winuser.h:1715
BOOL WINAPI InvalidateRect(_In_opt_ HWND, _In_opt_ LPCRECT, _In_ BOOL)
#define WM_NCMBUTTONDBLCLK
Definition: winuser.h:1700
HDC WINAPI BeginPaint(_In_ HWND, _Out_ LPPAINTSTRUCT)
LRESULT WINAPI CallWindowProcW(_In_ WNDPROC, _In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define WM_NCCALCSIZE
Definition: winuser.h:1685
#define WM_MBUTTONUP
Definition: winuser.h:1783
#define WM_DEADCHAR
Definition: winuser.h:1718
#define WM_KILLFOCUS
Definition: winuser.h:1614
#define WM_SYSKEYDOWN
Definition: winuser.h:1719
#define WM_NCLBUTTONDOWN
Definition: winuser.h:1692
#define WM_MBUTTONDOWN
Definition: winuser.h:1782
#define WM_NCRBUTTONDOWN
Definition: winuser.h:1695

Referenced by PerformancePageWndProc().

Variable Documentation

◆ OldGraphCtrlWndProc

WNDPROC OldGraphCtrlWndProc
extern

Definition at line 14 of file graphctl.c.

Referenced by GraphCtrl_WndProc(), and PerformancePageWndProc().