[cairo-commit] goocanvas ChangeLog,1.1.1.1,1.2

Damon Chaplin commit at pdx.freedesktop.org
Wed Mar 22 16:14:01 PST 2006


Committed by: damon

Update of /cvs/cairo/goocanvas
In directory kemper:/tmp/cvs-serv14672

Modified Files:
	ChangeLog 
Log Message:
2006-03-23  Damon Chaplin  <damon at gnome.org>

	* src/goocanvasview.c (goo_canvas_view_scroll_to): freeze the canvas
	while setting the adjustments so we don't redraw twice.



Index: ChangeLog
===================================================================
RCS file: /cvs/cairo/goocanvas/ChangeLog,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -d -r1.1.1.1 -r1.2
--- ChangeLog	15 Dec 2005 15:32:00 -0000	1.1.1.1
+++ ChangeLog	23 Mar 2006 00:13:59 -0000	1.2
@@ -0,0 +1,41 @@
+2006-03-23  Damon Chaplin  <damon at gnome.org>
+
+	* src/goocanvasview.c (goo_canvas_view_scroll_to): freeze the canvas
+	while setting the adjustments so we don't redraw twice.
+
+2006-03-22  Damon Chaplin  <damon at gnome.org>
+
+	* src/goocanvasview.[hc]: convert to a subclass of GtkContainer rather
+	than GtkLayout, since the layout code didn't help much and just added
+	to the confusion. (Getting scrolling/zooming to work smoothly  is
+	pretty difficult.)
+
+	Added a goo_canvas_view_scroll_to() function to scroll to a desired
+	position.
+	
+	Added an anchor setting to specify where to place the contents of the
+	canvas if it is smaller than the allocated widget area. (Like the
+	"center_scroll_region" setting in GnomeCanvas but a bit more general.)
+
+	Mapped a temporary window above the canvas when zooming in/out to
+	stop X from scrolling the canvas contents before it is redrawn.
+	(Idea pinched from FooCanvas.) Though this could possibly cause
+	problems with keyboard input in future, in which case I think we should
+	drop the fancy window scrolling stuff and just scroll ourselves.
+
+	Added an internal freeze_count like GtkLayout used to have. This is
+	used while reconfiguring the scrollbars etc. so we don't scroll more
+	than once (e.g. horizontally then vertically).
+
+	Added coordinate conversion functions to convert between device units
+	and canvas item units or pixels.
+
+	* src/goocanvastextview.[hc]: create a cairo_font_options_t object in
+	the class init function and use it for all created PangoLayouts.
+	This ensures that text is layed out the same at any scale, which
+	also avoids the problems with items not being redrawn properly
+	(since the bounds were slightly wrong). Note that I was using
+	cairo_set_font_options(cr) before, but that isn't picked up by Pango
+	so didn't work. (Font options seem to be associated with surfaces and
+	also with the graphics state which is confusing.)
+



More information about the cairo-commit mailing list