mmi->ptMaxSize.y = nearest_info.rcWork.bottom - nearest_info.rcWork.top;
}
- mmi->ptMaxTrackSize.x = GetSystemMetrics (SM_CXMAXTRACK);
- mmi->ptMaxTrackSize.y = GetSystemMetrics (SM_CYMAXTRACK);
+ mmi->ptMaxTrackSize.x = GetSystemMetrics (SM_CXVIRTUALSCREEN) + impl->margins_x;
+ mmi->ptMaxTrackSize.y = GetSystemMetrics (SM_CYVIRTUALSCREEN) + impl->margins_y;
}
return TRUE;
return ShowWindow (hwnd, cmd_show);
}
+static void
+gdk_win32_window_set_shadow_width (GdkWindow *window,
+ gint left,
+ gint right,
+ gint top,
+ gint bottom)
+{
+ GdkWindowImplWin32 *impl = GDK_WINDOW_IMPL_WIN32 (window->impl);
+
+ if (GDK_WINDOW_DESTROYED (window))
+ return;
+
+ impl->margins.left = left;
+ impl->margins.right = right;
+ impl->margins.top = top;
+ impl->margins.bottom = bottom;
+ impl->margins_x = left + right;
+ impl->margins_y = top + bottom;
+}
+
static void
gdk_window_impl_win32_class_init (GdkWindowImplWin32Class *klass)
{
impl_class->get_decorations = gdk_win32_window_get_decorations;
impl_class->set_functions = gdk_win32_window_set_functions;
+ impl_class->set_shadow_width = gdk_win32_window_set_shadow_width;
impl_class->begin_resize_drag = gdk_win32_window_begin_resize_drag;
impl_class->begin_move_drag = gdk_win32_window_begin_move_drag;
impl_class->set_opacity = gdk_win32_window_set_opacity;
gint initial_x;
gint initial_y;
+ /* left/right/top/bottom width of the shadow/resize-grip around the window */
+ RECT margins;
+
+ /* left+right and top+bottom from @margins */
+ gint margins_x;
+ gint margins_y;
+
guint no_bg : 1;
guint inhibit_configure : 1;
guint override_redirect : 1;