Use temporary impl_iface variable to make lines shorter

I.e. we use:
 impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
And then use impl_iface instead of the full macro when calling vfuncs.

Also, in some places we avoid getting the iface multiple times.
This commit is contained in:
Alexander Larsson 2009-08-31 10:44:11 +02:00
parent 397951cc85
commit 154be115ec

View File

@ -1150,15 +1150,17 @@ sync_native_window_stack_position (GdkWindow *window)
{
GdkWindowObject *above;
GdkWindowObject *private;
GdkWindowImplIface *impl_iface;
GList listhead = {0};
private = (GdkWindowObject *) window;
impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
above = find_native_sibling_above (private->parent, private);
if (above)
{
listhead.data = window;
GDK_WINDOW_IMPL_GET_IFACE (private->impl)->restack_under ((GdkWindow *)above,
impl_iface->restack_under ((GdkWindow *)above,
&listhead);
}
}
@ -1423,6 +1425,9 @@ reparent_to_impl (GdkWindowObject *private)
GList *l;
GdkWindowObject *child;
gboolean show;
GdkWindowImplIface *impl_iface;
impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
/* Enumerate in reverse order so we get the right order for the native
windows (first in childrens list is topmost, and reparent places on top) */
@ -1434,7 +1439,7 @@ reparent_to_impl (GdkWindowObject *private)
reparent_to_impl (child);
else
{
show = GDK_WINDOW_IMPL_GET_IFACE (private->impl)->reparent ((GdkWindow *)child,
show = impl_iface->reparent ((GdkWindow *)child,
(GdkWindow *)private,
child->x, child->y);
if (show)
@ -1468,6 +1473,7 @@ gdk_window_reparent (GdkWindow *window,
gboolean show, was_mapped;
gboolean do_reparent_to_impl;
GdkEventMask old_native_event_mask;
GdkWindowImplIface *impl_iface;
g_return_if_fail (GDK_IS_WINDOW (window));
g_return_if_fail (new_parent == NULL || GDK_IS_WINDOW (new_parent));
@ -1501,6 +1507,7 @@ gdk_window_reparent (GdkWindow *window,
NULL, NULL);
}
impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
old_parent = private->parent;
/* Break up redirection if inherited */
@ -1524,7 +1531,7 @@ gdk_window_reparent (GdkWindow *window,
{
old_native_event_mask = get_native_event_mask (private);
/* Native window */
show = GDK_WINDOW_IMPL_GET_IFACE (private->impl)->reparent (window, new_parent, x, y);
show = impl_iface->reparent (window, new_parent, x, y);
}
else
{
@ -1593,8 +1600,7 @@ gdk_window_reparent (GdkWindow *window,
GdkEventMask native_event_mask = get_native_event_mask (private);
if (native_event_mask != old_native_event_mask)
GDK_WINDOW_IMPL_GET_IFACE (private->impl)->set_events (window,
native_event_mask);
impl_iface->set_events (window, native_event_mask);
}
/* Inherit parent redirect if we don't have our own */
@ -1653,6 +1659,7 @@ gdk_window_ensure_native (GdkWindow *window)
GdkWindowAttr attributes;
GdkWindowObject *above;
GList listhead;
GdkWindowImplIface *impl_iface;
g_return_val_if_fail (GDK_IS_WINDOW (window), FALSE);
@ -1679,13 +1686,17 @@ gdk_window_ensure_native (GdkWindow *window)
attributes.colormap = gdk_drawable_get_colormap (window);
old_impl = private->impl;
_gdk_window_impl_new (window, (GdkWindow *)private->parent, screen, visual,
get_native_event_mask (private), &attributes, GDK_WA_COLORMAP);
_gdk_window_impl_new (window, (GdkWindow *)private->parent,
screen, visual,
get_native_event_mask (private),
&attributes, GDK_WA_COLORMAP);
new_impl = private->impl;
private->impl = old_impl;
change_impl (private, private, new_impl);
impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
/* Native window creation will put the native window topmost in the
* native parent, which may be wrong wrt the position of the previous
* non-native window wrt to the other non-native children, so correct this.
@ -1696,8 +1707,7 @@ gdk_window_ensure_native (GdkWindow *window)
listhead.data = window;
listhead.prev = NULL;
listhead.next = NULL;
GDK_WINDOW_IMPL_GET_IFACE (private->impl)->restack_under ((GdkWindow *)above,
&listhead);
impl_iface->restack_under ((GdkWindow *)above, &listhead);
}
recompute_visible_regions (private, FALSE, FALSE);
@ -1710,15 +1720,17 @@ gdk_window_ensure_native (GdkWindow *window)
if (!private->input_only)
{
GDK_WINDOW_IMPL_GET_IFACE (private->impl)->set_background (window, &private->bg_color);
impl_iface->set_background (window, &private->bg_color);
if (private->bg_pixmap != NULL)
GDK_WINDOW_IMPL_GET_IFACE (private->impl)->set_back_pixmap (window, private->bg_pixmap);
impl_iface->set_back_pixmap (window, private->bg_pixmap);
}
GDK_WINDOW_IMPL_GET_IFACE (private->impl)->input_shape_combine_region ((GdkWindow *)private, private->input_shape, 0, 0);
impl_iface->input_shape_combine_region (window,
private->input_shape,
0, 0);
if (gdk_window_is_viewable (window))
GDK_WINDOW_IMPL_GET_IFACE (private->impl)->show (window, FALSE);
impl_iface->show (window, FALSE);
return TRUE;
}
@ -1766,6 +1778,7 @@ _gdk_window_destroy_hierarchy (GdkWindow *window,
{
GdkWindowObject *private;
GdkWindowObject *temp_private;
GdkWindowImplIface *impl_iface;
GdkWindow *temp_window;
GdkScreen *screen;
GdkDisplay *display;
@ -1879,13 +1892,14 @@ _gdk_window_destroy_hierarchy (GdkWindow *window,
}
impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
if (private->extension_events)
GDK_WINDOW_IMPL_GET_IFACE (private->impl)->input_window_destroy (window);
impl_iface->input_window_destroy (window);
if (gdk_window_has_impl (private))
{
GDK_WINDOW_IMPL_GET_IFACE (private->impl)->destroy (window, recursing_native, foreign_destroy);
}
impl_iface->destroy (window, recursing_native,
foreign_destroy);
else
{
/* hide to make sure we repaint and break grabs */
@ -2876,6 +2890,7 @@ do_move_region_bits_on_impl (GdkWindowObject *impl_window,
GdkGC *tmp_gc;
GdkRectangle copy_rect;
GdkWindowObject *private;
GdkWindowImplIface *impl_iface;
/* We need to get data from subwindows here, because we might have
* shaped a native window over the moving region (with bg none,
@ -2898,7 +2913,9 @@ do_move_region_bits_on_impl (GdkWindowObject *impl_window,
/* The region area is moved and we queue translations for all expose events
to the source area that were sent prior to the copy */
gdk_region_offset (dest_region, -dx, -dy); /* Move to source region */
GDK_WINDOW_IMPL_GET_IFACE (private->impl)->queue_translation ((GdkWindow *)impl_window,
impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
impl_iface->queue_translation ((GdkWindow *)impl_window,
tmp_gc,
dest_region, dx, dy);
@ -4223,6 +4240,7 @@ gdk_window_clear_region_internal (GdkWindow *window,
gboolean send_expose)
{
GdkWindowObject *private = (GdkWindowObject *)window;
GdkWindowImplIface *impl_iface;
if (private->paint_stack)
gdk_window_clear_backing_region (window, region);
@ -4231,15 +4249,16 @@ gdk_window_clear_region_internal (GdkWindow *window,
if (private->redirect)
gdk_window_clear_backing_region_redirect (window, region);
if (GDK_WINDOW_IMPL_GET_IFACE (private->impl)->clear_region &&
clears_on_native (private))
impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
if (impl_iface->clear_region && clears_on_native (private))
{
GdkRegion *copy;
copy = gdk_region_copy (region);
gdk_region_intersect (copy, private->clip_region_with_children);
gdk_region_intersect (copy,
private->clip_region_with_children);
GDK_WINDOW_IMPL_GET_IFACE (private->impl)->clear_region
(window, copy, send_expose);
impl_iface->clear_region (window, copy, send_expose);
gdk_region_destroy (copy);
}
@ -4900,6 +4919,7 @@ static void
gdk_window_process_updates_internal (GdkWindow *window)
{
GdkWindowObject *private = (GdkWindowObject *)window;
GdkWindowImplIface *impl_iface;
gboolean save_region = FALSE;
GdkRectangle clip_box;
@ -5017,7 +5037,8 @@ gdk_window_process_updates_internal (GdkWindow *window)
* moves and queue antiexposure immediately. No need to do
* any tricks */
gdk_window_flush_outstanding_moves (window);
save_region = GDK_WINDOW_IMPL_GET_IFACE (private->impl)->queue_antiexpose (window, update_area);
impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
save_region = impl_iface->queue_antiexpose (window, update_area);
}
/* Render the invalid areas to the implicit paint, by sending exposes.
@ -5037,7 +5058,10 @@ gdk_window_process_updates_internal (GdkWindow *window)
* optimization we just avoid doing it at all in that case.
*/
if (private->implicit_paint != NULL) /* didn't flush implicit paint */
save_region = GDK_WINDOW_IMPL_GET_IFACE (private->impl)->queue_antiexpose (window, update_area);
{
impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
save_region = impl_iface->queue_antiexpose (window, update_area);
}
gdk_window_end_implicit_paint (window);
}
@ -5968,6 +5992,7 @@ gdk_window_raise_internal (GdkWindow *window)
GdkWindowObject *above;
GList *native_children;
GList *l, listhead;
GdkWindowImplIface *impl_iface;
if (parent)
{
@ -5975,6 +6000,7 @@ gdk_window_raise_internal (GdkWindow *window)
parent->children = g_list_prepend (parent->children, window);
}
impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
/* Just do native raise for toplevels */
if (gdk_window_is_toplevel (private) ||
/* The restack_under codepath should work correctly even if the parent
@ -5984,7 +6010,7 @@ gdk_window_raise_internal (GdkWindow *window)
when using native windows */
(gdk_window_has_impl (private) && gdk_window_has_impl (parent)))
{
GDK_WINDOW_IMPL_GET_IFACE (private->impl)->raise (window);
impl_iface->raise (window);
}
else if (gdk_window_has_impl (private))
{
@ -5994,11 +6020,11 @@ gdk_window_raise_internal (GdkWindow *window)
listhead.data = window;
listhead.next = NULL;
listhead.prev = NULL;
GDK_WINDOW_IMPL_GET_IFACE (private->impl)->restack_under ((GdkWindow *)above,
impl_iface->restack_under ((GdkWindow *)above,
&listhead);
}
else
GDK_WINDOW_IMPL_GET_IFACE (private->impl)->raise (window);
impl_iface->raise (window);
}
else
{
@ -6009,13 +6035,13 @@ gdk_window_raise_internal (GdkWindow *window)
above = find_native_sibling_above (parent, private);
if (above)
GDK_WINDOW_IMPL_GET_IFACE (private->impl)->restack_under ((GdkWindow *)above,
impl_iface->restack_under ((GdkWindow *)above,
native_children);
else
{
/* Right order, since native_children is bottom-topmost first */
for (l = native_children; l != NULL; l = l->next)
GDK_WINDOW_IMPL_GET_IFACE (private->impl)->raise (l->data);
impl_iface->raise (l->data);
}
g_list_free (native_children);
@ -6030,6 +6056,7 @@ set_viewable (GdkWindowObject *w,
gboolean val)
{
GdkWindowObject *child;
GdkWindowImplIface *impl_iface;
GList *l;
if (w->viewable == val)
@ -6076,10 +6103,11 @@ set_viewable (GdkWindowObject *w,
* root window, so we make an exception for all toplevels.
*/
impl_iface = GDK_WINDOW_IMPL_GET_IFACE (w->impl);
if (val)
GDK_WINDOW_IMPL_GET_IFACE (w->impl)->show ((GdkWindow *)w, FALSE);
impl_iface->show ((GdkWindow *)w, FALSE);
else
GDK_WINDOW_IMPL_GET_IFACE (w->impl)->hide ((GdkWindow *)w);
impl_iface->hide ((GdkWindow *)w);
return TRUE;
}
@ -6110,6 +6138,7 @@ static void
gdk_window_show_internal (GdkWindow *window, gboolean raise)
{
GdkWindowObject *private;
GdkWindowImplIface *impl_iface;
gboolean was_mapped, was_viewable;
gboolean did_show;
@ -6146,9 +6175,11 @@ gdk_window_show_internal (GdkWindow *window, gboolean raise)
Dunno if this is strictly needed but its what happened pre-csw.
Also show if not done by gdk_window_update_viewable. */
if (gdk_window_has_impl (private) && (was_viewable || !did_show))
GDK_WINDOW_IMPL_GET_IFACE (private->impl)->show ((GdkWindow *)private,
!did_show ?
was_mapped : TRUE);
{
impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
impl_iface->show ((GdkWindow *)private,
!did_show ? was_mapped : TRUE);
}
if (!was_mapped && !gdk_window_has_impl (private))
{
@ -6243,6 +6274,7 @@ gdk_window_lower_internal (GdkWindow *window)
{
GdkWindowObject *private = (GdkWindowObject *)window;
GdkWindowObject *parent = private->parent;
GdkWindowImplIface *impl_iface;
GdkWindowObject *above;
GList *native_children;
GList *l, listhead;
@ -6253,6 +6285,7 @@ gdk_window_lower_internal (GdkWindow *window)
parent->children = g_list_append (parent->children, window);
}
impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
/* Just do native lower for toplevels */
if (gdk_window_is_toplevel (private) ||
/* The restack_under codepath should work correctly even if the parent
@ -6262,7 +6295,7 @@ gdk_window_lower_internal (GdkWindow *window)
when using native windows */
(gdk_window_has_impl (private) && gdk_window_has_impl (parent)))
{
GDK_WINDOW_IMPL_GET_IFACE (private->impl)->lower (window);
impl_iface->lower (window);
}
else if (gdk_window_has_impl (private))
{
@ -6272,11 +6305,10 @@ gdk_window_lower_internal (GdkWindow *window)
listhead.data = window;
listhead.next = NULL;
listhead.prev = NULL;
GDK_WINDOW_IMPL_GET_IFACE (private->impl)->restack_under ((GdkWindow *)above,
&listhead);
impl_iface->restack_under ((GdkWindow *)above, &listhead);
}
else
GDK_WINDOW_IMPL_GET_IFACE (private->impl)->raise (window);
impl_iface->raise (window);
}
else
{
@ -6287,13 +6319,13 @@ gdk_window_lower_internal (GdkWindow *window)
above = find_native_sibling_above (parent, private);
if (above)
GDK_WINDOW_IMPL_GET_IFACE (private->impl)->restack_under ((GdkWindow *)above,
impl_iface->restack_under ((GdkWindow *)above,
native_children);
else
{
/* Right order, since native_children is bottom-topmost first */
for (l = native_children; l != NULL; l = l->next)
GDK_WINDOW_IMPL_GET_IFACE (private->impl)->raise (l->data);
impl_iface->raise (l->data);
}
g_list_free (native_children);
@ -6393,6 +6425,7 @@ void
gdk_window_hide (GdkWindow *window)
{
GdkWindowObject *private;
GdkWindowImplIface *impl_iface;
gboolean was_mapped, did_hide;
g_return_if_fail (GDK_IS_WINDOW (window));
@ -6444,7 +6477,10 @@ gdk_window_hide (GdkWindow *window)
/* Hide foreign window as those are not handled by update_viewable. */
if (gdk_window_has_impl (private) && (!did_hide))
GDK_WINDOW_IMPL_GET_IFACE (private->impl)->hide ((GdkWindow *)private);
{
impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
impl_iface->hide (window);
}
recompute_visible_regions (private, TRUE, FALSE);
@ -6478,6 +6514,7 @@ void
gdk_window_withdraw (GdkWindow *window)
{
GdkWindowObject *private;
GdkWindowImplIface *impl_iface;
gboolean was_mapped;
g_return_if_fail (GDK_IS_WINDOW (window));
@ -6490,7 +6527,8 @@ gdk_window_withdraw (GdkWindow *window)
if (gdk_window_has_impl (private))
{
GDK_WINDOW_IMPL_GET_IFACE (private->impl)->withdraw (window);
impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
impl_iface->withdraw (window);
if (was_mapped)
{
@ -6522,9 +6560,9 @@ gdk_window_set_events (GdkWindow *window,
GdkEventMask event_mask)
{
GdkWindowObject *private;
GdkWindowImplIface *impl_iface;
GdkDisplay *display;
g_return_if_fail (GDK_IS_WINDOW (window));
private = (GdkWindowObject *) window;
@ -6540,8 +6578,11 @@ gdk_window_set_events (GdkWindow *window,
private->event_mask = event_mask;
if (gdk_window_has_impl (private))
GDK_WINDOW_IMPL_GET_IFACE (private->impl)->set_events (window,
{
impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
impl_iface->set_events (window,
get_native_event_mask (private));
}
}
@ -6577,7 +6618,7 @@ gdk_window_move_resize_toplevel (GdkWindow *window,
{
GdkWindowObject *private;
GdkRegion *old_region, *new_region;
GdkWindowObject *impl_window;
GdkWindowImplIface *impl_iface;
gboolean expose;
int old_x, old_y, old_abs_x, old_abs_y;
int dx, dy;
@ -6588,8 +6629,6 @@ gdk_window_move_resize_toplevel (GdkWindow *window,
expose = FALSE;
old_region = NULL;
impl_window = gdk_window_get_impl_window (private);
old_x = private->x;
old_y = private->y;
@ -6602,7 +6641,8 @@ gdk_window_move_resize_toplevel (GdkWindow *window,
old_region = gdk_region_copy (private->clip_region);
}
GDK_WINDOW_IMPL_GET_IFACE (private->impl)->move_resize (window, with_move, x, y, width, height);
impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
impl_iface->move_resize (window, with_move, x, y, width, height);
dx = private->x - old_x;
dy = private->y - old_y;
@ -6638,13 +6678,19 @@ move_native_children (GdkWindowObject *private)
{
GList *l;
GdkWindowObject *child;
GdkWindowImplIface *impl_iface;
for (l = private->children; l; l = l->next)
{
child = l->data;
if (child->impl != private->impl)
GDK_WINDOW_IMPL_GET_IFACE (child->impl)->move_resize ((GdkWindow *)child, TRUE, child->x, child->y, child->width, child->height);
{
impl_iface = GDK_WINDOW_IMPL_GET_IFACE (child->impl);
impl_iface->move_resize ((GdkWindow *)child, TRUE,
child->x, child->y,
child->width, child->height);
}
else
move_native_children (child);
}
@ -6720,6 +6766,7 @@ gdk_window_move_resize_internal (GdkWindow *window,
GdkRegion *old_region, *new_region, *copy_area;
GdkRegion *old_native_child_region, *new_native_child_region;
GdkWindowObject *impl_window;
GdkWindowImplIface *impl_iface;
gboolean expose;
int old_x, old_y, old_abs_x, old_abs_y;
int dx, dy;
@ -6806,9 +6853,13 @@ gdk_window_move_resize_internal (GdkWindow *window,
if (gdk_window_has_impl (private))
{
impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
/* Do the actual move after recomputing things, as this will have set the shape to
the now correct one, thus avoiding copying regions that should not be copied. */
GDK_WINDOW_IMPL_GET_IFACE (private->impl)->move_resize (window, TRUE, private->x, private->y, private->width, private->height);
impl_iface->move_resize (window, TRUE,
private->x, private->y,
private->width, private->height);
}
else if (old_abs_x != private->abs_x ||
old_abs_y != private->abs_y)
@ -7153,6 +7204,7 @@ gdk_window_set_background (GdkWindow *window,
{
GdkWindowObject *private;
GdkColormap *colormap = gdk_drawable_get_colormap (window);
GdkWindowImplIface *impl_iface;
g_return_if_fail (GDK_IS_WINDOW (window));
@ -7171,7 +7223,10 @@ gdk_window_set_background (GdkWindow *window,
if (!GDK_WINDOW_DESTROYED (window) &&
gdk_window_has_impl (private) &&
!private->input_only)
GDK_WINDOW_IMPL_GET_IFACE (private->impl)->set_background (window, &private->bg_color);
{
impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
impl_iface->set_background (window, &private->bg_color);
}
}
/**
@ -7206,6 +7261,7 @@ gdk_window_set_back_pixmap (GdkWindow *window,
gboolean parent_relative)
{
GdkWindowObject *private;
GdkWindowImplIface *impl_iface;
g_return_if_fail (GDK_IS_WINDOW (window));
g_return_if_fail (pixmap == NULL || !parent_relative);
@ -7234,7 +7290,10 @@ gdk_window_set_back_pixmap (GdkWindow *window,
if (!GDK_WINDOW_DESTROYED (window) &&
gdk_window_has_impl (private) &&
!private->input_only)
GDK_WINDOW_IMPL_GET_IFACE (private->impl)->set_back_pixmap (window, private->bg_pixmap);
{
impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
impl_iface->set_back_pixmap (window, private->bg_pixmap);
}
}
/**
@ -7280,6 +7339,7 @@ gdk_window_set_cursor (GdkWindow *window,
GdkCursor *cursor)
{
GdkWindowObject *private;
GdkWindowImplIface *impl_iface;
GdkDisplay *display;
g_return_if_fail (GDK_IS_WINDOW (window));
@ -7301,7 +7361,10 @@ gdk_window_set_cursor (GdkWindow *window,
if (_gdk_native_windows ||
private->window_type == GDK_WINDOW_ROOT ||
private->window_type == GDK_WINDOW_FOREIGN)
GDK_WINDOW_IMPL_GET_IFACE (private->impl)->set_cursor (window, cursor);
{
impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
impl_iface->set_cursor (window, cursor);
}
else if (_gdk_window_event_parent_of (window, display->pointer_info.window_under_pointer))
update_cursor (display);
@ -7350,6 +7413,7 @@ gdk_window_get_geometry (GdkWindow *window,
gint *depth)
{
GdkWindowObject *private, *parent;
GdkWindowImplIface *impl_iface;
if (!window)
{
@ -7367,7 +7431,8 @@ gdk_window_get_geometry (GdkWindow *window,
{
if (gdk_window_has_impl (private))
{
GDK_WINDOW_IMPL_GET_IFACE (private->impl)->get_geometry (window, x, y,
impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
impl_iface->get_geometry (window, x, y,
width, height,
depth);
/* This reports the position wrt to the native parent, we need to convert
@ -7416,6 +7481,7 @@ gdk_window_get_origin (GdkWindow *window,
gint *y)
{
GdkWindowObject *private;
GdkWindowImplIface *impl_iface;
g_return_val_if_fail (GDK_IS_WINDOW (window), 0);
@ -7430,7 +7496,8 @@ gdk_window_get_origin (GdkWindow *window,
private = (GdkWindowObject *) window;
GDK_WINDOW_IMPL_GET_IFACE (private->impl)->get_root_coords (window,
impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
impl_iface->get_root_coords (window,
private->abs_x,
private->abs_y,
x, y);
@ -7459,6 +7526,7 @@ gdk_window_get_root_coords (GdkWindow *window,
gint *root_y)
{
GdkWindowObject *private;
GdkWindowImplIface *impl_iface;
g_return_if_fail (GDK_IS_WINDOW (window));
@ -7473,7 +7541,8 @@ gdk_window_get_root_coords (GdkWindow *window,
return;
}
GDK_WINDOW_IMPL_GET_IFACE (private->impl)->get_root_coords (window,
impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
impl_iface->get_root_coords (window,
x + private->abs_x,
y + private->abs_y,
root_x, root_y);
@ -7501,6 +7570,7 @@ gdk_window_get_deskrelative_origin (GdkWindow *window,
gint *y)
{
GdkWindowObject *private;
GdkWindowImplIface *impl_iface;
gboolean return_val = FALSE;
gint tx = 0;
gint ty = 0;
@ -7511,7 +7581,8 @@ gdk_window_get_deskrelative_origin (GdkWindow *window,
if (!GDK_WINDOW_DESTROYED (window))
{
return_val = GDK_WINDOW_IMPL_GET_IFACE (private->impl)->get_deskrelative_origin (window, &tx, &ty);
impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
return_val = impl_iface->get_deskrelative_origin (window, &tx, &ty);
if (x)
*x = tx + private->abs_x;
@ -7807,6 +7878,7 @@ gdk_window_input_shape_combine_region (GdkWindow *window,
gint offset_y)
{
GdkWindowObject *private;
GdkWindowImplIface *impl_iface;
g_return_if_fail (GDK_IS_WINDOW (window));
@ -7827,7 +7899,10 @@ gdk_window_input_shape_combine_region (GdkWindow *window,
private->input_shape = NULL;
if (gdk_window_has_impl (private))
GDK_WINDOW_IMPL_GET_IFACE (private->impl)->input_shape_combine_region ((GdkWindow *)private, private->input_shape, 0, 0);
{
impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
impl_iface->input_shape_combine_region (window, private->input_shape, 0, 0);
}
/* Pointer may have e.g. moved outside window due to the input mask change */
_gdk_synthesize_crossing_events_for_geometry_change (window);
@ -7920,13 +7995,17 @@ gdk_window_set_static_gravities (GdkWindow *window,
gboolean use_static)
{
GdkWindowObject *private;
GdkWindowImplIface *impl_iface;
g_return_val_if_fail (GDK_IS_WINDOW (window), FALSE);
private = (GdkWindowObject *) window;
if (gdk_window_has_impl (private))
return GDK_WINDOW_IMPL_GET_IFACE (private->impl)->set_static_gravities (window, use_static);
{
impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
return impl_iface->set_static_gravities (window, use_static);
}
return FALSE;
}
@ -8325,6 +8404,7 @@ static void
update_cursor (GdkDisplay *display)
{
GdkWindowObject *pointer_window, *cursor_window, *parent, *toplevel;
GdkWindowImplIface *impl_iface;
GdkPointerGrabInfo *grab;
pointer_window = (GdkWindowObject *)display->pointer_info.window_under_pointer;
@ -8345,8 +8425,8 @@ update_cursor (GdkDisplay *display)
/* Set all cursors on toplevel, otherwise its tricky to keep track of
* which native window has what cursor set. */
toplevel = (GdkWindowObject *)get_event_toplevel ((GdkWindow *)pointer_window);
GDK_WINDOW_IMPL_GET_IFACE (toplevel->impl)->set_cursor
((GdkWindow *)toplevel, cursor_window->cursor);
impl_iface = GDK_WINDOW_IMPL_GET_IFACE (toplevel->impl);
impl_iface->set_cursor ((GdkWindow *)toplevel, cursor_window->cursor);
}
static void
@ -8850,6 +8930,7 @@ send_crossing_event (GdkDisplay *display,
GdkEvent *event;
guint32 event_mask;
GdkPointerGrabInfo *grab;
GdkWindowImplIface *impl_iface;
grab = _gdk_display_has_pointer_grab (display, serial);
@ -8864,8 +8945,11 @@ send_crossing_event (GdkDisplay *display,
event_mask = GDK_ENTER_NOTIFY_MASK;
if (window->extension_events != 0)
GDK_WINDOW_IMPL_GET_IFACE (window->impl)->input_window_crossing ((GdkWindow *)window,
{
impl_iface = GDK_WINDOW_IMPL_GET_IFACE (window->impl);
impl_iface->input_window_crossing ((GdkWindow *)window,
type == GDK_ENTER_NOTIFY);
}
if (window->event_mask & event_mask)
{