forked from AuroraMiddleware/gtk
Merge branch 'wip/muktupavels/opaque-region-master' into 'master'
window: fix opaque region See merge request GNOME/gtk!1222
This commit is contained in:
commit
ab32b1bba2
@ -5420,7 +5420,7 @@ corner_rect (cairo_rectangle_int_t *rect,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
subtract_corners_from_region (cairo_region_t *region,
|
subtract_decoration_corners_from_region (cairo_region_t *region,
|
||||||
cairo_rectangle_int_t *extents,
|
cairo_rectangle_int_t *extents,
|
||||||
GtkStyleContext *context,
|
GtkStyleContext *context,
|
||||||
GtkWindow *window)
|
GtkWindow *window)
|
||||||
@ -5428,6 +5428,12 @@ subtract_corners_from_region (cairo_region_t *region,
|
|||||||
GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
|
GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
|
||||||
cairo_rectangle_int_t rect;
|
cairo_rectangle_int_t rect;
|
||||||
|
|
||||||
|
if (!priv->client_decorated ||
|
||||||
|
!priv->decorated ||
|
||||||
|
priv->fullscreen ||
|
||||||
|
priv->maximized)
|
||||||
|
return;
|
||||||
|
|
||||||
gtk_style_context_save_to_node (context, priv->decoration_node);
|
gtk_style_context_save_to_node (context, priv->decoration_node);
|
||||||
|
|
||||||
corner_rect (&rect, _gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_BORDER_TOP_LEFT_RADIUS));
|
corner_rect (&rect, _gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_BORDER_TOP_LEFT_RADIUS));
|
||||||
@ -5485,7 +5491,7 @@ update_opaque_region (GtkWindow *window,
|
|||||||
|
|
||||||
opaque_region = cairo_region_create_rectangle (&rect);
|
opaque_region = cairo_region_create_rectangle (&rect);
|
||||||
|
|
||||||
subtract_corners_from_region (opaque_region, &rect, context, window);
|
subtract_decoration_corners_from_region (opaque_region, &rect, context, window);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user