This commit is contained in:
stax76
2022-06-28 07:53:48 +02:00
parent 3093dd43a4
commit c87ce3b66f

View File

@@ -940,8 +940,9 @@ namespace mpvnet
} }
return; return;
case 0x84: // WM_NCHITTEST case 0x84: // WM_NCHITTEST
if (!Core.Border) { // resize borderless window
// resize borderless window if (!Core.Border && !Core.Fullscreen) {
const int HTCLIENT = 1;
const int HTLEFT = 10; const int HTLEFT = 10;
const int HTRIGHT = 11; const int HTRIGHT = 11;
const int HTTOP = 12; const int HTTOP = 12;
@@ -951,52 +952,31 @@ namespace mpvnet
const int HTBOTTOMLEFT = 16; const int HTBOTTOMLEFT = 16;
const int HTBOTTOMRIGHT = 17; const int HTBOTTOMRIGHT = 17;
int x = (int)(m.LParam.ToInt64() & 0xFFFF); int x = (int)(m.LParam.ToInt64() & 0xFFFF); // loword
int y = (int)((m.LParam.ToInt64() & 0xFFFF0000) >> 16); int y = (int)((m.LParam.ToInt64() & 0xFFFF0000) >> 16); // hiword
Point pt = PointToClient(new Point(x, y)); Point pt = PointToClient(new Point(x, y));
Size cs = ClientSize; Size cs = ClientSize;
m.Result = new IntPtr(HTCLIENT);
if (pt.X >= cs.Width - 16 && pt.Y >= cs.Height - 16 && cs.Height >= 16) if (pt.X >= cs.Width - 16 && pt.Y >= cs.Height - 16 && cs.Height >= 16)
{
m.Result = (IntPtr)(IsMirrored ? HTBOTTOMLEFT : HTBOTTOMRIGHT); m.Result = (IntPtr)(IsMirrored ? HTBOTTOMLEFT : HTBOTTOMRIGHT);
return; else if (pt.X <= 16 && pt.Y >= cs.Height - 16 && cs.Height >= 16)
}
if (pt.X <= 16 && pt.Y >= cs.Height - 16 && cs.Height >= 16)
{
m.Result = (IntPtr)(IsMirrored ? HTBOTTOMRIGHT : HTBOTTOMLEFT); m.Result = (IntPtr)(IsMirrored ? HTBOTTOMRIGHT : HTBOTTOMLEFT);
return; else if (pt.X <= 16 && pt.Y <= 16 && cs.Height >= 16)
}
if (pt.X <= 16 && pt.Y <= 16 && cs.Height >= 16)
{
m.Result = (IntPtr)(IsMirrored ? HTTOPRIGHT : HTTOPLEFT); m.Result = (IntPtr)(IsMirrored ? HTTOPRIGHT : HTTOPLEFT);
return; else if (pt.X >= cs.Width - 16 && pt.Y <= 16 && cs.Height >= 16)
}
if (pt.X >= cs.Width - 16 && pt.Y <= 16 && cs.Height >= 16)
{
m.Result = (IntPtr)(IsMirrored ? HTTOPLEFT : HTTOPRIGHT); m.Result = (IntPtr)(IsMirrored ? HTTOPLEFT : HTTOPRIGHT);
return; else if (pt.Y <= 16 && cs.Height >= 16)
}
if (pt.Y <= 16 && cs.Height >= 16)
{
m.Result = (IntPtr)HTTOP; m.Result = (IntPtr)HTTOP;
return; else if (pt.Y >= cs.Height - 16 && cs.Height >= 16)
}
if (pt.Y >= cs.Height - 16 && cs.Height >= 16)
{
m.Result = (IntPtr)HTBOTTOM; m.Result = (IntPtr)HTBOTTOM;
return; else if (pt.X <= 16 && cs.Height >= 16)
}
if (pt.X <= 16 && cs.Height >= 16)
{
m.Result = (IntPtr)HTLEFT; m.Result = (IntPtr)HTLEFT;
return; else if (pt.X >= cs.Width - 16 && cs.Height >= 16)
}
if (pt.X >= cs.Width - 16 && cs.Height >= 16)
{
m.Result = (IntPtr)HTRIGHT; m.Result = (IntPtr)HTRIGHT;
return;
} return;
} }
break; break;
case 0x231: // WM_ENTERSIZEMOVE case 0x231: // WM_ENTERSIZEMOVE