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

Function mswin_map_stretch

outdated/sys/wince/mhmap.c:81–194  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

79}
80
81void
82mswin_map_stretch(HWND hWnd, LPSIZE lpsz, BOOL redraw)
83{
84 PNHMapWindow data;
85 RECT client_rt;
86 SCROLLINFO si;
87 SIZE wnd_size;
88 LOGFONT lgfnt;
89
90 /* check arguments */
91 if (!IsWindow(hWnd) || !lpsz || lpsz->cx <= 0 || lpsz->cy <= 0)
92 return;
93
94 /* calculate window size */
95 GetClientRect(hWnd, &client_rt);
96 wnd_size.cx = client_rt.right - client_rt.left;
97 wnd_size.cy = client_rt.bottom - client_rt.top;
98
99 /* set new screen tile size */
100 data = (PNHMapWindow) GetWindowLong(hWnd, GWL_USERDATA);
101 data->xScrTile =
102 max(1, (data->bFitToScreenMode ? wnd_size.cx : lpsz->cx) / COLNO);
103 data->yScrTile =
104 max(1, (data->bFitToScreenMode ? wnd_size.cy : lpsz->cy) / ROWNO);
105
106 /* set map origin point */
107 data->map_orig.x =
108 max(0, client_rt.left + (wnd_size.cx - data->xScrTile * COLNO) / 2);
109 data->map_orig.y =
110 max(0, client_rt.top + (wnd_size.cy - data->yScrTile * ROWNO) / 2);
111
112 data->map_orig.x -= data->map_orig.x % data->xScrTile;
113 data->map_orig.y -= data->map_orig.y % data->yScrTile;
114
115 /* adjust horizontal scroll bar */
116 if (data->bFitToScreenMode)
117 data->xPageSize = COLNO + 1; /* disable scroll bar */
118 else
119 data->xPageSize = wnd_size.cx / data->xScrTile;
120
121 if (data->xPageSize >= COLNO) {
122 data->xPos = 0;
123 GetNHApp()->bNoHScroll = TRUE;
124 } else {
125 GetNHApp()->bNoHScroll = FALSE;
126 data->xPos = max(
127 0, min(COLNO - data->xPageSize + 1, u.ux - data->xPageSize / 2));
128 }
129
130 if (!GetNHApp()->bHideScrollBars) {
131 si.cbSize = sizeof(si);
132 si.fMask = SIF_RANGE | SIF_PAGE | SIF_POS;
133 si.nMin = 0;
134 si.nMax = COLNO;
135 si.nPage = data->xPageSize;
136 si.nPos = data->xPos;
137 SetScrollInfo(hWnd, SB_HORZ, &si, TRUE);
138 }

Callers 3

mswin_map_modeFunction · 0.85
MapWndProcFunction · 0.85
initMapTilesFunction · 0.85

Calls 3

GetNHAppFunction · 0.70
mswin_charsetFunction · 0.70
mswin_cliparoundFunction · 0.70

Tested by

no test coverage detected