From 19b37bce67d4b4999d5a3df70788cff53fdaf13e Mon Sep 17 00:00:00 2001 From: Federico Mena Quintero Date: Wed, 21 Jun 2000 01:07:07 +0000 Subject: Plane hacking; scrolling engine is officially done(tm) now2000-06-20 Federico Mena Quintero * image-view.c (paint_rectangle): Special-case zoom == 1.0 to unconditionally use GDK_INTERP_NEAREST. Pixops should optimize this itself, but things seem to be slower if you use other interpolation types even when the zoom is 1.0. Also, short-circuit the fastest case to not create a temporary pixbuf and thus avoid a memcpy(). (request_paint_area): Short-circuit NEAREST interpolation and zoom == 1.0 to paint synchronously. (scroll_to): Use request_paint_area() instead of calling uta_add_rect() directly. This lets us do the short-circuiting there. (ImageViewPrivate): Added a second microtile array for interpolated drawing. (remove_dirty_region): Free both utas. (paint_iteration_idle): Handle both utas. This is the core of two-pass scrolling: when a rectangle is pulled from the first uta, add it to the second uta. (scroll_to): Handle both utas. --- TODO | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'TODO') diff --git a/TODO b/TODO index 739e9d06..70c48071 100644 --- a/TODO +++ b/TODO @@ -3,12 +3,9 @@ Federico Mena-Quintero (federico@gimp.org). * Finish the ImageView widget: - - Re-center the offsets when changing the zoom factor. - - - Scrolling using gdk_window_copy_area(). This also requires - writing uta_copy_area() for uta.c. - - - Finish uta.c:uta_find_first_glom_rect(). + - Write a "fast" version of uta.c:uta_find_first_glom_rect(). + Right now we just have a hacked version of libart's + function. - Figure out what to do with the color correction tables; we are not using them right now. -- cgit v1.2.1