mirror of https://github.com/mpv-player/mpv
Calculate border size in aspect keeping code by using AdjustWindowRect
instead of GetClientRect and GetWindowRect since GetClientRect returns nonsensical values if Window is still minimized. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28713 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
30aa2383ca
commit
74efde9480
|
@ -109,11 +109,12 @@ static LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM l
|
|||
if (vo_keepaspect && !vo_fs) {
|
||||
WINDOWPOS *wpos = lParam;
|
||||
int xborder, yborder;
|
||||
RECT r2;
|
||||
GetClientRect(vo_window, &r);
|
||||
GetWindowRect(vo_window, &r2);
|
||||
xborder = (r2.right - r2.left) - (r.right - r.left);
|
||||
yborder = (r2.bottom - r2.top) - (r.bottom - r.top);
|
||||
r.left = r.top = 0;
|
||||
r.right = wpos->cx;
|
||||
r.bottom = wpos->cy;
|
||||
AdjustWindowRect(&r, GetWindowLong(vo_window, GWL_STYLE), 0);
|
||||
xborder = (r.right - r.left) - wpos->cx;
|
||||
yborder = (r.bottom - r.top) - wpos->cy;
|
||||
wpos->cx -= xborder; wpos->cy -= yborder;
|
||||
aspect_fit(&wpos->cx, &wpos->cy, wpos->cx, wpos->cy);
|
||||
wpos->cx += xborder; wpos->cy += yborder;
|
||||
|
|
Loading…
Reference in New Issue