[cairo-commit] goocanvas ChangeLog,1.113,1.114 TODO,1.32,1.33
Damon Chaplin
commit at pdx.freedesktop.org
Fri May 11 09:30:57 PDT 2007
- Previous message: [cairo-commit] test/.valgrind-suppressions
- Next message: [cairo-commit] goocanvas/demo Makefile.am, 1.13, 1.14 demo-large-items.c, NONE, 1.1 demo-large-line.c, NONE, 1.1 demo-large-line.h, NONE, 1.1 demo-large-rect.c, NONE, 1.1 demo-large-rect.h, NONE, 1.1 demo-table.c, 1.2, 1.3 demo.c, 1.26, 1.27 mv-demo-table.c, 1.2, 1.3
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Committed by: damon
Update of /cvs/cairo/goocanvas
In directory kemper:/tmp/cvs-serv11649
Modified Files:
ChangeLog TODO
Log Message:
2007-05-11 Damon Chaplin <damon at gnome.org>
* demo/demo-large-rect.c:
* demo/demo-large-line.c:
* demo/demo-large-items.c: new demo and items to show how to create a
very large canvas and very large items.
* src/goocanvasitemsimple.c (goo_canvas_item_simple_get_line_width):
added utility function to get an item's line width.
Also changed default line width property value to 2.0, and returned
canvas line width setting if item's line width isn't set.
* src/goocanvasrect.c (goo_canvas_rect_update):
* src/goocanvaspolyline.c (goo_canvas_polyline_reconfigure_arrows): use
the above function to get the line width.
Index: ChangeLog
===================================================================
RCS file: /cvs/cairo/goocanvas/ChangeLog,v
retrieving revision 1.113
retrieving revision 1.114
diff -u -d -r1.113 -r1.114
--- ChangeLog 30 Apr 2007 21:09:45 -0000 1.113
+++ ChangeLog 11 May 2007 16:30:46 -0000 1.114
@@ -1,3 +1,19 @@
+2007-05-11 Damon Chaplin <damon at gnome.org>
+
+ * demo/demo-large-rect.c:
+ * demo/demo-large-line.c:
+ * demo/demo-large-items.c: new demo and items to show how to create a
+ very large canvas and very large items.
+
+ * src/goocanvasitemsimple.c (goo_canvas_item_simple_get_line_width):
+ added utility function to get an item's line width.
+ Also changed default line width property value to 2.0, and returned
+ canvas line width setting if item's line width isn't set.
+
+ * src/goocanvasrect.c (goo_canvas_rect_update):
+ * src/goocanvaspolyline.c (goo_canvas_polyline_reconfigure_arrows): use
+ the above function to get the line width.
+
2007-04-30 Damon Chaplin <damon at gnome.org>
* src/goocanvas.c (goo_canvas_create_cairo_context): if the GooCanvas
Index: TODO
===================================================================
RCS file: /cvs/cairo/goocanvas/TODO,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -d -r1.32 -r1.33
--- TODO 30 Apr 2007 21:09:45 -0000 1.32
+++ TODO 11 May 2007 16:30:46 -0000 1.33
@@ -9,6 +9,12 @@
errors. Maybe we should extend any bounds returned from cairo slightly to
cover the maximum possible errors.
+ o goo_canvas_set_bounds() doesn't update the display correctly. Currently
+ you need to do something like goo_canvas_set_scale() afterwards.
+
+ o button press events are generating leave-notify and enter-notify signals.
+ Seems to be a GTK+/X problem.
+
Features definitely needed:
@@ -18,15 +24,29 @@
o Need a function to setup a given cairo context with the defaults settings
of a GooCanvas, e.g. default line width.
+ o Check canvas and all items can be completely configured with properties
+ so that GtkBuilder can be used to load hierarchies of items/models.
+ Add "root-item" and "root-item-model" properties? Will GtkBuilder be able
+ to handle the tree of items/models like that? What about GUI builders?
+ How can gradients be specified by object properties?
+
Possible additional features:
o "scale-x" and "scale-y" properties to allow setting different horizontal
and vertical scales. We already seem to support this internally.
+ o "scale-line-width" boolean property to specify if the line width scales
+ with the canvas? The item bounds will change at different scale settings.
+
+ o Need a way to efficiently notify items about changes in canvas scale, if
+ they request it. Could use something similar to the update flags.
o "integer-layout" property for GooCanvas so all containers like
GooCanvasTable do layout in integers (i.e. on the pixel grid).
+ o Change GooCanvasStyle so it doesn't expose GValues in the API.
+ Use get/set_boolean/int/double/boxed() instead.
+
o Caching of rendered items to improve performance. Items would have a cache
option with choices like Never, Always and WhenVisible.
o Sticky items that don't move at all as the canvas is scrolled & zoomed.
@@ -35,3 +55,22 @@
o Support using system color names, like SVG, e.g. "ActiveBorder".
This helps you write widget-like items that fit in with the rest of GTK+.
+
+Requests from GTK+ people:
+
+ o Use separate GooCanvasContainer[Model] interfaces? May help bindings.
+ o Implicit bounds - goo_canvas_set_bounds_implicit (gboolean from_origin,
+ gdouble border_width);
+ Also add properties like "implicit-bounds", "bounds-from-origin",
+ "bounds-border".
+ o GooCanvasWidget width & height are redundant - use widget's requested size.
+ o Make PathCommand and LineDash structs opaque.
+ o Use floating flag and sink() for objects.
+ o Use 1-byte integer percentage for xalign/yalign instead of doubles?
+ o Make it easy to add a border and background to items. "border-width",
+ "border-color" and "background-color" properties? Might also need "x-pad",
+ "y-pad", "x-radius", "y-radius" etc. Maybe have a related border item.
+ o Link/URL item, or enable URLs in the markup of text items.
+ o A button item, with different children displayed for different states,
+ maybe with optional automatic prelighting.
+
- Previous message: [cairo-commit] test/.valgrind-suppressions
- Next message: [cairo-commit] goocanvas/demo Makefile.am, 1.13, 1.14 demo-large-items.c, NONE, 1.1 demo-large-line.c, NONE, 1.1 demo-large-line.h, NONE, 1.1 demo-large-rect.c, NONE, 1.1 demo-large-rect.h, NONE, 1.1 demo-table.c, 1.2, 1.3 demo.c, 1.26, 1.27 mv-demo-table.c, 1.2, 1.3
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the cairo-commit
mailing list