Commit 6a184ba2 authored by Alexander Larsson's avatar Alexander Larsson Committed by Alexander Larsson
Browse files

Use gdk_window_invalidate_rect instead of gdk_window_invalidate_rect_clear

2001-01-15  Alexander Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkwindow-fb.c:
	Use gdk_window_invalidate_rect instead of
	gdk_window_invalidate_rect_clear to minimise flashing.
	When hiding windows you need to clear the root window though.
parent c288355f
2001-01-15 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkwindow-fb.c:
Use gdk_window_invalidate_rect instead of
gdk_window_invalidate_rect_clear to minimise flashing.
When hiding windows you need to clear the root window though.
2001-01-15 Alexander Larsson <alexl@redhat.com> 2001-01-15 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkdrawable-fb2.c: * gdk/linux-fb/gdkdrawable-fb2.c:
......
2001-01-15 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkwindow-fb.c:
Use gdk_window_invalidate_rect instead of
gdk_window_invalidate_rect_clear to minimise flashing.
When hiding windows you need to clear the root window though.
2001-01-15 Alexander Larsson <alexl@redhat.com> 2001-01-15 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkdrawable-fb2.c: * gdk/linux-fb/gdkdrawable-fb2.c:
......
2001-01-15 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkwindow-fb.c:
Use gdk_window_invalidate_rect instead of
gdk_window_invalidate_rect_clear to minimise flashing.
When hiding windows you need to clear the root window though.
2001-01-15 Alexander Larsson <alexl@redhat.com> 2001-01-15 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkdrawable-fb2.c: * gdk/linux-fb/gdkdrawable-fb2.c:
......
2001-01-15 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkwindow-fb.c:
Use gdk_window_invalidate_rect instead of
gdk_window_invalidate_rect_clear to minimise flashing.
When hiding windows you need to clear the root window though.
2001-01-15 Alexander Larsson <alexl@redhat.com> 2001-01-15 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkdrawable-fb2.c: * gdk/linux-fb/gdkdrawable-fb2.c:
......
2001-01-15 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkwindow-fb.c:
Use gdk_window_invalidate_rect instead of
gdk_window_invalidate_rect_clear to minimise flashing.
When hiding windows you need to clear the root window though.
2001-01-15 Alexander Larsson <alexl@redhat.com> 2001-01-15 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkdrawable-fb2.c: * gdk/linux-fb/gdkdrawable-fb2.c:
......
2001-01-15 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkwindow-fb.c:
Use gdk_window_invalidate_rect instead of
gdk_window_invalidate_rect_clear to minimise flashing.
When hiding windows you need to clear the root window though.
2001-01-15 Alexander Larsson <alexl@redhat.com> 2001-01-15 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkdrawable-fb2.c: * gdk/linux-fb/gdkdrawable-fb2.c:
......
2001-01-15 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkwindow-fb.c:
Use gdk_window_invalidate_rect instead of
gdk_window_invalidate_rect_clear to minimise flashing.
When hiding windows you need to clear the root window though.
2001-01-15 Alexander Larsson <alexl@redhat.com> 2001-01-15 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkdrawable-fb2.c: * gdk/linux-fb/gdkdrawable-fb2.c:
......
...@@ -281,12 +281,19 @@ _gdk_windowing_window_destroy (GdkWindow *window, ...@@ -281,12 +281,19 @@ _gdk_windowing_window_destroy (GdkWindow *window,
_gdk_selection_window_destroyed (window); _gdk_selection_window_destroyed (window);
/* Invalidate the area. */
r.x = private->x; r.x = private->x;
r.y = private->y; r.y = private->y;
r.width = GDK_DRAWABLE_IMPL_FBDATA (window)->width; r.width = GDK_DRAWABLE_IMPL_FBDATA (window)->width;
r.height = GDK_DRAWABLE_IMPL_FBDATA (window)->height; r.height = GDK_DRAWABLE_IMPL_FBDATA (window)->height;
gdk_window_invalidate_rect_clear ((GdkWindow *)private->parent, &r); /* Clear the root window, as it might be visible under
the destroyed window */
gdk_window_clear_area (gdk_parent_root,
r.x,
r.y,
r.width,
r.height);
/* Invalidate the rect */
gdk_window_invalidate_rect ((GdkWindow *)private->parent, &r, TRUE);
} }
static gboolean static gboolean
...@@ -747,7 +754,7 @@ gdk_window_show (GdkWindow *window) ...@@ -747,7 +754,7 @@ gdk_window_show (GdkWindow *window)
rect.y = GDK_DRAWABLE_IMPL_FBDATA (window)->llim_y; rect.y = GDK_DRAWABLE_IMPL_FBDATA (window)->llim_y;
rect.width = GDK_DRAWABLE_IMPL_FBDATA (window)->lim_x - rect.x; rect.width = GDK_DRAWABLE_IMPL_FBDATA (window)->lim_x - rect.x;
rect.height = GDK_DRAWABLE_IMPL_FBDATA (window)->lim_y - rect.y; rect.height = GDK_DRAWABLE_IMPL_FBDATA (window)->lim_y - rect.y;
gdk_window_invalidate_rect_clear (gdk_parent_root, &rect); gdk_window_invalidate_rect (gdk_parent_root, &rect, TRUE);
} }
} }
} }
...@@ -789,7 +796,17 @@ gdk_window_hide (GdkWindow *window) ...@@ -789,7 +796,17 @@ gdk_window_hide (GdkWindow *window)
gdk_pointer_ungrab (GDK_CURRENT_TIME); gdk_pointer_ungrab (GDK_CURRENT_TIME);
if (window == _gdk_fb_keyboard_grab_window) if (window == _gdk_fb_keyboard_grab_window)
gdk_keyboard_ungrab (GDK_CURRENT_TIME); gdk_keyboard_ungrab (GDK_CURRENT_TIME);
gdk_window_invalidate_rect_clear (gdk_parent_root, &r);
/* Clear the root window, as it might be visible under
the hidden window*/
gdk_window_clear_area (gdk_parent_root,
r.x,
r.y,
r.width,
r.height);
/* Invalidate the rect */
gdk_window_invalidate_rect (gdk_parent_root, &r, TRUE);
if (do_hide) if (do_hide)
gdk_fb_cursor_unhide (); gdk_fb_cursor_unhide ();
} }
...@@ -1173,7 +1190,7 @@ gdk_window_reparent (GdkWindow *window, ...@@ -1173,7 +1190,7 @@ gdk_window_reparent (GdkWindow *window,
r.height = GDK_DRAWABLE_IMPL_FBDATA (window)->lim_y - r.y; r.height = GDK_DRAWABLE_IMPL_FBDATA (window)->lim_y - r.y;
gdk_region_union_with_rect (region, &r); gdk_region_union_with_rect (region, &r);
gdk_window_invalidate_region_clear (gdk_parent_root, region); gdk_window_invalidate_region (gdk_parent_root, region, TRUE);
gdk_region_destroy (region); gdk_region_destroy (region);
} }
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment