summaryrefslogtreecommitdiff
path: root/ChangeLog.pre-2-6
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@src.gnome.org>2000-03-28 01:24:44 +0000
committerOwen Taylor <otaylor@src.gnome.org>2000-03-28 01:24:44 +0000
commit8098546227671a5d082fdf8f4811ee3ffca7f6d8 (patch)
treed1857c89ee73451cbb04bbf595c0dc8bade55987 /ChangeLog.pre-2-6
parent4238d406e928d1afd95ab0c6ae51b6a37f9780ea (diff)
downloadgtk+-8098546227671a5d082fdf8f4811ee3ffca7f6d8.tar.gz
Merge no-flicker branch into HEAD
Diffstat (limited to 'ChangeLog.pre-2-6')
-rw-r--r--ChangeLog.pre-2-6176
1 files changed, 176 insertions, 0 deletions
diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6
index 57509b88e8..77d464c22e 100644
--- a/ChangeLog.pre-2-6
+++ b/ChangeLog.pre-2-6
@@ -1,3 +1,179 @@
+Thu Feb 24 23:58:21 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
+ toplevel windows and their immediate children by their parents,
+ since the size of toplevel windows is out of our immediate
+ control and we don't get any real benefit from trying to track
+ this size for clipping.
+
+ * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
+ for input_only windows.
+
+ * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
+ to fix some hacks and make sure that we don't try to set the
+ background of input only windows.
+
+Thu Feb 24 18:11:46 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
+ the _really_ internal stuff, and leave gdkprivate.h for the fake private
+ stuff that we've traditionally exposed.
+
+ * gdk/**.c: Use gdkinternals.h where appropriate.
+
+ * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
+ not include gdkprivate-x11.h, move all stuff of conceivable public
+ interest into gdkx.h; keep all really private stuff in
+ uninstalled header gdkprivate-x11.h.
+
+ * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
+ image->image_put on windows through a new function _gdk_window_draw_image()
+ to allow us to do backing store for images. (Sort of ugly)
+
+ * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
+ contexts locally so that we can offset them properly when drawing
+ onto backing pixmaps.
+
+ * gdk/gdkinput.h: Reindented
+
+ * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
+ pixmap or color for the window, so we can properly initialize
+ our double-buffer pixmaps, and also so that we temporarily set
+ a background of None while scrolling.
+
+ * gdk/gdkregion.h: Revise region boolean operators to have an
+ interface that is actually convenient - switch from creating new
+ regions on every op, to "methods" that modify existing regions
+ (A = A OP B). 3 argument forms which allow dest == src, would also
+ be possible, but the current interfaces seem to map nicely
+ onto what needs to be done. (There is quite a lot of region
+ code in GDK now.)
+
+ * gdk/gdkregion.h: Add constructor from rectangle and a copy
+ operator.
+
+ * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
+ gdkpoly-generic.h: Copy region code from Xlib, switch it over
+ to 32 bit coordinates, modify it to be mostly GTK+ style
+ and to have interfaces that match gdkregion.h.
+
+ * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
+ double-buffered drawing. gdk_window_begin_paint_{rect,region}()
+ create a backing pixmap and redirect all drawing to
+ that backing pixmap until a matching gdk_window_end_paint().
+
+ * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
+ Create a special drawable class for GtkWindow's that
+ redirects the drawing to the backing pixmap as necessary
+ and then calls the real operations in _gdk_windowing_window_class.
+
+ * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
+ Store invalid region for each window. Generate expose events for invalid
+ region in an idle. This replaces both the expose compression
+ and the redrawing queuing in GTK+. It is both more efficient and
+ simpler than either one individually and far more so then the
+ combination.
+
+ * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
+ Emulate 32 bit coordinates for windows with 16 bit coordinates
+ by offsetting drawing, guffaw scrolling techniques and
+ mapping/unmapping child windows as necessary.
+
+ * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
+ where, when invalid regions are processed, the region is stored,
+ and if expose events come in that are detectably duplicate
+ the processed exposes (by comparison of event serial numbers),
+ the stored region is subtracted out of those exposes.
+
+ * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
+ regions newly exposed when scrolling or resizing windows.
+ This, combined with forcing processesing of queued invalidated
+ regions, gives nice flicker-free scrolling.
+
+ * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
+ invalidated regions after every scroll.
+
+ * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
+ emulation in GDK. Its, for all practical purposes just a
+ GtkViewport/GtkFixed hybrid now.
+
+ * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
+ (16-bit) structures as necessary instead of just casting.
+
+ * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
+ in terms of the structures from gdkregion-generic.c, using appropriate
+ offsets from GDK to X11 coordinates. Cache clip mask and
+ origin and ts origin locally and only flush to the server
+ when drawing, to avoid constantly setting and resetting these
+ values when offsetting GC's for scrolling and backing pixmaps.
+
+ * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
+
+ * gtk/gtkcontainer.c: Call process_all_updates at end
+ of resizing to reduce flicker. (Avoids having redraw
+ lag arbitrarily behind resize under some circumstances)
+
+ * gtk/gtkentry.c: Remove old backing store code, and simply take
+ advantage of the new backing store capabilities of GDK.
+
+ * gtk/gtkmain.c: Simple implementation of widget backing
+ store - simply push a paint while handling each expose.
+ (Should really be configurable widget for widget.)
+
+ * gtk/gtkwidget.c: Remove all the old complicated redraw
+ code, and simply invalidate the GDK windows from
+ gdk_window_queue_clear(), etc. (Sigh, so much carefully
+ debugged complexity ... gone to the winds.)
+
+ Remove all the code for suppressing expose events while
+ resizes are pending; this isn't needed since the invalid
+ areas won't be processed until after the resizes are
+ processed, since they are in a lower priority idle.
+
+Thu Feb 24 15:37:41 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
+ and height of dest rectangle for non-intersecting rectangles.
+
+Sun Feb 20 16:47:31 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtkwidget.h: Make GtkAllocation just a typedef
+ for GdkRectangle.
+
+Sun Feb 20 11:27:00 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gdk/gdk{events,image,private,types,window}.h
+ gdk/x11/gdkinputprivate.h: Change all coordinates
+ from int16 to int. Also, Change width and height from
+ unsigned to signed to avoid all the stupid C
+ signedness bugs.
+
+Sat Feb 19 12:01:53 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
+ Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
+ Add some more detailed checking.
+
+ * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
+ New function to retrieve the depth of a drawable.
+
+ * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
+ field, reorder fields to save memory.
+
+Mon Dec 13 14:06:03 1999 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
+ of the background image instead of scaling the background down to
+ a line.
+
+ * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
+ which temporarily set slider to wrong size.
+
+ * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
+ queue_clear().
+
+Wed Nov 17 18:36:05 1999 Owen Taylor <otaylor@redhat.com>
+
2000-03-23 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkpaned.c (gtk_paned_get_position): add getter.