MCPcopy Create free account
hub / github.com/NetHack/NetHack / MapWndProc

Function MapWndProc

outdated/sys/wince/mhmap.c:350–438  ·  view source on GitHub ↗

map window procedure */

Source from the content-addressed store, hash-verified

348
349/* map window procedure */
350LRESULT CALLBACK
351MapWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
352{
353 PNHMapWindow data;
354 int x, y;
355
356 data = (PNHMapWindow) GetWindowLong(hWnd, GWL_USERDATA);
357 switch (message) {
358 case WM_CREATE:
359 onCreate(hWnd, wParam, lParam);
360 break;
361
362 case WM_MSNH_COMMAND:
363 onMSNHCommand(hWnd, wParam, lParam);
364 break;
365
366 case WM_PAINT:
367 onPaint(hWnd);
368 break;
369
370 case WM_SETFOCUS:
371 /* transfer focus back to the main window */
372 SetFocus(GetNHApp()->hMainWnd);
373 break;
374
375 case WM_HSCROLL:
376 onMSNH_HScroll(hWnd, wParam, lParam);
377 break;
378
379 case WM_VSCROLL:
380 onMSNH_VScroll(hWnd, wParam, lParam);
381 break;
382
383 case WM_SIZE: {
384 SIZE size;
385
386 if (data->bFitToScreenMode) {
387 size.cx = LOWORD(lParam);
388 size.cy = HIWORD(lParam);
389 } else {
390 /* mapping factor is unchaged we just need to adjust scroll bars
391 */
392 size.cx = data->xScrTile * COLNO;
393 size.cy = data->yScrTile * ROWNO;
394 }
395 mswin_map_stretch(hWnd, &size, TRUE);
396 } break;
397
398 case WM_LBUTTONDOWN:
399 x = max(0, min(COLNO, data->xPos
400 + (LOWORD(lParam) - data->map_orig.x)
401 / data->xScrTile));
402 y = max(0, min(ROWNO, data->yPos
403 + (HIWORD(lParam) - data->map_orig.y)
404 / data->yScrTile));
405
406 NHEVENT_MS(CLICK_1, x, y);
407

Callers

nothing calls this directly

Calls 7

mswin_map_stretchFunction · 0.85
onCreateFunction · 0.70
onMSNHCommandFunction · 0.70
onPaintFunction · 0.70
GetNHAppFunction · 0.70
onMSNH_HScrollFunction · 0.70
onMSNH_VScrollFunction · 0.70

Tested by

no test coverage detected