Commit 73c5da41 authored by Alexander Larsson's avatar Alexander Larsson Committed by Alexander Larsson

Add a shortcut if the window and the current clip_region doesn't overlap.

2001-02-13  Alexander Larsson  <alla@lysator.liu.se>

	* gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
	Add a shortcut if the window and the current clip_region doesn't
	overlap. This is needed when there are a lot of windows in a
	window. The layout test in testgtk is a good test.

	* gdk/linux-fb/gdkwindow-fb.c:
	Whitespace fix.
parent 94137863
2001-02-13 Alexander Larsson <alla@lysator.liu.se>
* gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
Add a shortcut if the window and the current clip_region doesn't
overlap. This is needed when there are a lot of windows in a
window. The layout test in testgtk is a good test.
* gdk/linux-fb/gdkwindow-fb.c:
Whitespace fix.
2001-02-13 Sven Neumann <sven@convergence.de>
* demos/testanimation.c: replaced deprecated gtk_drawing_area_size
......
2001-02-13 Alexander Larsson <alla@lysator.liu.se>
* gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
Add a shortcut if the window and the current clip_region doesn't
overlap. This is needed when there are a lot of windows in a
window. The layout test in testgtk is a good test.
* gdk/linux-fb/gdkwindow-fb.c:
Whitespace fix.
2001-02-13 Sven Neumann <sven@convergence.de>
* demos/testanimation.c: replaced deprecated gtk_drawing_area_size
......
2001-02-13 Alexander Larsson <alla@lysator.liu.se>
* gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
Add a shortcut if the window and the current clip_region doesn't
overlap. This is needed when there are a lot of windows in a
window. The layout test in testgtk is a good test.
* gdk/linux-fb/gdkwindow-fb.c:
Whitespace fix.
2001-02-13 Sven Neumann <sven@convergence.de>
* demos/testanimation.c: replaced deprecated gtk_drawing_area_size
......
2001-02-13 Alexander Larsson <alla@lysator.liu.se>
* gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
Add a shortcut if the window and the current clip_region doesn't
overlap. This is needed when there are a lot of windows in a
window. The layout test in testgtk is a good test.
* gdk/linux-fb/gdkwindow-fb.c:
Whitespace fix.
2001-02-13 Sven Neumann <sven@convergence.de>
* demos/testanimation.c: replaced deprecated gtk_drawing_area_size
......
2001-02-13 Alexander Larsson <alla@lysator.liu.se>
* gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
Add a shortcut if the window and the current clip_region doesn't
overlap. This is needed when there are a lot of windows in a
window. The layout test in testgtk is a good test.
* gdk/linux-fb/gdkwindow-fb.c:
Whitespace fix.
2001-02-13 Sven Neumann <sven@convergence.de>
* demos/testanimation.c: replaced deprecated gtk_drawing_area_size
......
2001-02-13 Alexander Larsson <alla@lysator.liu.se>
* gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
Add a shortcut if the window and the current clip_region doesn't
overlap. This is needed when there are a lot of windows in a
window. The layout test in testgtk is a good test.
* gdk/linux-fb/gdkwindow-fb.c:
Whitespace fix.
2001-02-13 Sven Neumann <sven@convergence.de>
* demos/testanimation.c: replaced deprecated gtk_drawing_area_size
......
2001-02-13 Alexander Larsson <alla@lysator.liu.se>
* gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
Add a shortcut if the window and the current clip_region doesn't
overlap. This is needed when there are a lot of windows in a
window. The layout test in testgtk is a good test.
* gdk/linux-fb/gdkwindow-fb.c:
Whitespace fix.
2001-02-13 Sven Neumann <sven@convergence.de>
* demos/testanimation.c: replaced deprecated gtk_drawing_area_size
......
......@@ -2,6 +2,7 @@
#include "gdkprivate-fb.h"
#include "mi.h"
#include <string.h>
#include <gdkregion-generic.h>
#include <pango/pangoft2.h>
#include <freetype/ftglyph.h>
......@@ -398,6 +399,14 @@ gdk_fb_clip_region (GdkDrawable *drawable,
continue;
impl_private = GDK_DRAWABLE_IMPL_FBDATA(cur->data);
/* This shortcut is really necessary for performance when there are a lot of windows */
if (impl_private->llim_x >= real_clip_region->extents.x2 ||
impl_private->lim_x <= real_clip_region->extents.x1 ||
impl_private->llim_y >= real_clip_region->extents.y2 ||
impl_private->lim_y <= real_clip_region->extents.y1)
continue;
draw_rect.x = impl_private->llim_x;
draw_rect.y = impl_private->llim_y;
draw_rect.width = impl_private->lim_x - draw_rect.x;
......
......@@ -1041,7 +1041,6 @@ gdk_fb_window_move_resize (GdkWindow *window,
send_expose_events = FALSE;
if (private->mapped && send_expose_events)
old_region = gdk_fb_clip_region (GDK_DRAWABLE_IMPL(window), NULL, TRUE, FALSE, FALSE);
dx = x - private->x;
......
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