feat: Added minimum window size

This commit is contained in:
Gerard Gascón 2024-04-16 13:01:29 +02:00
parent 8382700441
commit f721cee708

View file

@ -303,37 +303,37 @@ namespace SatorImaging.AppWindowUtility
if (resizeDirection.x > 0) { if (resizeDirection.x > 0) {
if (resizeDirection.y > 0) { if (resizeDirection.y > 0) {
width = (int)(rect.right - rect.left + deltaX); width = (int)(rect.right - rect.left + deltaX);
height = (int)(width / aspectRatio);
}else if (resizeDirection.y < 0) { }else if (resizeDirection.y < 0) {
width = (int)(rect.right - rect.left + deltaX); width = (int)(rect.right - rect.left + deltaX);
height = (int)(width / aspectRatio);
}else { }else {
width = (int)(rect.right - rect.left + deltaX); width = (int)(rect.right - rect.left + deltaX);
height = (int)(width / aspectRatio);
} }
width = Mathf.Max(width, 100);
height = (int)(width / aspectRatio);
}else if (resizeDirection.x < 0) { }else if (resizeDirection.x < 0) {
if (resizeDirection.y > 0) { if (resizeDirection.y > 0) {
x += (int)deltaX; x += (int)deltaX;
width = rect.right - x; width = rect.right - x;
height = (int)(width / aspectRatio);
}else if (resizeDirection.y < 0) { }else if (resizeDirection.y < 0) {
x += (int)deltaX; x += (int)deltaX;
width = rect.right - x; width = rect.right - x;
height = (int)(width / aspectRatio);
}else { }else {
x += (int)deltaX; x += (int)deltaX;
width = rect.right - x; width = rect.right - x;
height = (int)(width / aspectRatio);
} }
if (width < 100) x -= 100 - width;
width = Mathf.Max(width, 100);
height = (int)(width / aspectRatio);
} else { } else {
if (resizeDirection.y > 0) { if (resizeDirection.y > 0) {
y += (int)deltaY; y += (int)deltaY;
height = rect.bottom - y; height = rect.bottom - y;
width = (int)(height * aspectRatio);
}else if (resizeDirection.y < 0) { }else if (resizeDirection.y < 0) {
height = (int)(rect.bottom - rect.top + deltaY); height = (int)(rect.bottom - rect.top + deltaY);
width = (int)(height * aspectRatio);
} }
if (height < 150 && resizeDirection.y > 0) y -= 150 - height;
height = Mathf.Max(height, 150);
width = (int)(height * aspectRatio);
} }
WinApi.SetWindowPos(hWnd, IntPtr.Zero, x, y, width, height, WinApi.SetWindowPosFlags.NoFlag); WinApi.SetWindowPos(hWnd, IntPtr.Zero, x, y, width, height, WinApi.SetWindowPosFlags.NoFlag);