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

Function onMSNHCommand

outdated/sys/wince/mhmenu.c:520–649  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

518}
519
520void
521onMSNHCommand(HWND hWnd, WPARAM wParam, LPARAM lParam)
522{
523 PNHMenuWindow data;
524
525 data = (PNHMenuWindow) GetWindowLong(hWnd, GWL_USERDATA);
526 switch (wParam) {
527 case MSNH_MSG_PUTSTR: {
528 PMSNHMsgPutstr msg_data = (PMSNHMsgPutstr) lParam;
529 HWND text_view;
530
531 if (data->type != MENU_TYPE_TEXT)
532 SetMenuType(hWnd, MENU_TYPE_TEXT);
533
534 if (!data->text.text) {
535 data->text.text = mswin_init_text_buffer(
536 program_state.gameover ? FALSE : GetNHApp()->bWrapText);
537 if (!data->text.text)
538 break;
539 }
540
541 mswin_add_text(data->text.text, msg_data->attr, msg_data->text);
542
543 text_view = GetDlgItem(hWnd, IDC_MENU_TEXT);
544 if (!text_view)
545 panic("cannot get text view window");
546 mswin_render_text(data->text.text, text_view);
547 } break;
548
549 case MSNH_MSG_STARTMENU: {
550 int i;
551
552 if (data->type != MENU_TYPE_MENU)
553 SetMenuType(hWnd, MENU_TYPE_MENU);
554
555 if (data->menu.items)
556 free(data->menu.items);
557 data->how = PICK_NONE;
558 data->menu.items = NULL;
559 data->menu.size = 0;
560 data->menu.allocated = 0;
561 data->done = 0;
562 data->result = 0;
563 for (i = 0; i < NUMTABS; ++i)
564 data->menu.tab_stop_size[i] = MIN_TABSTOP_SIZE;
565 } break;
566
567 case MSNH_MSG_ADDMENU: {
568 PMSNHMsgAddMenu msg_data = (PMSNHMsgAddMenu) lParam;
569 char *p, *p1;
570 int new_item;
571 HDC hDC;
572 int column;
573 HFONT saveFont;
574
575 if (data->type != MENU_TYPE_MENU)
576 break;
577 if (strlen(msg_data->str) == 0)

Callers 1

MenuWndProcFunction · 0.70

Calls 8

mswin_init_text_bufferFunction · 0.85
mswin_add_textFunction · 0.85
mswin_render_textFunction · 0.85
parse_menu_strFunction · 0.85
SetMenuTypeFunction · 0.70
GetNHAppFunction · 0.70
mswin_get_fontFunction · 0.70
panicFunction · 0.50

Tested by

no test coverage detected