internal static Size TranslateWindowSizeToXWindowSize (CreateParams cp, Size size)
{
/*
* If this is a form with no window manager, X is handling all the border and caption painting
* so remove that from the area (since the area we set of the window here is the part of the window
* we're painting in only)
*/
Form form = cp.control as Form;
if (form != null && (form.window_manager == null && !cp.IsSet (WindowExStyles.WS_EX_TOOLWINDOW))) {
Hwnd.Borders borders = Hwnd.GetBorders (cp, null);
Size xrect = size;
xrect.Width -= borders.left + borders.right;
xrect.Height -= borders.top + borders.bottom;
size = xrect;
}
if (size.Height == 0)
size.Height = 1;
if (size.Width == 0)
size.Width = 1;
return size;
}