internal override void GetWindowPos(IntPtr handle, bool is_toplevel, out int x, out int y, out int width, out int height, out int client_width, out int client_height) {
Hwnd hwnd;
hwnd = Hwnd.ObjectFromHandle(handle);
if (hwnd != null) {
x = hwnd.x;
y = hwnd.y;
width = hwnd.width;
height = hwnd.height;
PerformNCCalc(hwnd);
client_width = hwnd.ClientRect.Width;
client_height = hwnd.ClientRect.Height;
return;
}
// Should we throw an exception or fail silently?
// throw new ArgumentException("Called with an invalid window handle", "handle");
x = 0;
y = 0;
width = 0;
height = 0;
client_width = 0;
client_height = 0;
}