head 1.9; access; symbols goocanvas-0-4:1.4.0.2 GOO_CANVAS_0_4_ANCHOR:1.4 V0_3:1.3 V0_2:1.1.1.1 DAMON:1.1.1; locks; strict; comment @# @; 1.9 date 2008.04.27.11.51.36; author damon; state Exp; branches; next 1.8; commitid SOILJRpOUq1p3K0t; 1.8 date 2007.08.14.10.50.46; author damon; state Exp; branches; next 1.7; 1.7 date 2007.04.03.09.58.05; author damon; state Exp; branches; next 1.6; 1.6 date 2007.02.27.14.45.07; author damon; state Exp; branches; next 1.5; 1.5 date 2007.02.17.13.48.34; author damon; state Exp; branches; next 1.4; 1.4 date 2006.08.24.08.06.22; author damon; state Exp; branches; next 1.3; 1.3 date 2006.04.24.15.14.33; author damon; state Exp; branches; next 1.2; 1.2 date 2006.04.22.19.17.28; author damon; state Exp; branches; next 1.1; 1.1 date 2005.12.15.15.32.00; author damon; state Exp; branches 1.1.1.1; next ; commitid 2dcb43a18c6f4567; 1.1.1.1 date 2005.12.15.15.32.00; author damon; state Exp; branches; next ; commitid 2dcb43a18c6f4567; desc @@ 1.9 log @0.10 release @ text @ GooCanvas 0.10 (Apr 27 2008) ============== o Added support for a border and grid lines to GooCanvasTable, with "horz-grid-line-width", "vert-grid-line-width", "x-border-spacing" and "y-border-spacing" properties. o Added "clear-background" property to GooCanvas, to allow subclasses to paint their own background if desired. o Fixed crash when rendering a GooCanvasTable that hasn't been updated. o Fixed possible infinite loop in GooCanvasTable layout. o Added goo_canvas_text_get_natural_extents() to get the natural extents of the text. o Made "stroke-color-rgba" and "fill-color-rgba" properties read/write. o Added goo_canvas_item_get_simple_transform() and goo_canvas_item_model_get_simple_transform(), which do the opposite of the set_simple_transform() functions. o Improved documentation on general architecture and creating new items. GooCanvas 0.9 (Aug 13 2007) ============= o Added "scale-x" and "scale-y" properties to GooCanvas, so the horizontal and vertical scale can be set independently. o Added "integer-layout" property to GooCanvas, so all layout can be done to the nearest integer (useful for widgets). o Added "automatic-bounds", "bounds-from-origin" and "bounds-padding" properties, used to calculate the canvas bounds automatically. o Added "wrap" property to GooCanvasText, to specify how to wrap text. o Added demo code to show how to create very large items. o Reduced flicker when scrolling. o Fixed crash when changing a GooCanvasPathModel. o Fixed crash in animation code. o Fixed bug that meant the canvas wasn't redrawn properly when the bounds were changed. o Fixed problem when calculating item sizes before the canvas is realized. o Fixed problems calculating bounds of items with empty fills or strokes. GooCanvas 0.8 (Apr 3 2007) ============= o Added support for "width-for-height" layout - items whose requested height changes according to their allocated width (typically text items). o Added "background-color" and "background-color-rgb" properties to GooCanvas. o Added "ellipsize" property to GooCanvasText. o Added goo_canvas_item_remove() and goo_canvas_item_model_remove() convenience functions to remove an item or model from the canvas. o Fixed bug removing widget items. o Fixed bug which meant that the fill pattern couldn't be reset to NULL. o Fixed the item event signals, so that returning TRUE from a handler stops the signal emission. o Added a few things that will be needed to support tooltips, when GTK+ 2.12 is available. (Though I don't want to depend on GTK+ 2.12 yet.) o Added "const" to arguments, where appropriate. GooCanvas 0.7 (Feb 27 2007) ============= o Added goo_canvas_get_items_at() and goo_canvas_get_items_in_area() to get all the items at a given point or in a given area. o Use CAIRO_ANTIALIAS_GRAY as the default antialiasing mode, since that is what is recommended by cairo for unhinted text. o Added "hint-metrics" style property, so people can use hinted text if they want to (though they shouldn't change the canvas scale in that case, as the bounds of the text item may become incorrect). o Unref all objects in dispose methods rather than finalize, to help bindings. o Remove embedded widgets properly. o Clip GooCanvasTable children if needed. o Set the clip path in goo_canvas_render() if needed. o Use the ink rects & the logical rects to calculate the text item bounds. o Copied GTK+ build stuff for generating goocanvasmarshal.[hc] and goocanvasenumtypes.[hc], so hopefully it is easier to build on Windows. o Fixed a few other minor bugs. GooCanvas 0.6 (Feb 17 2007) ============= o Major rewrite to make the model optional, so people can choose to have either a simple canvas or a model/view canvas. The standard items can be used in either scenario. o Added support for cascading style properties (things like fill color, stroke width, font etc.). Properties use a GQuark for a unique identifier, and a GValue for the property value, so they are very flexible. o Added GooCanvasTable item to layout child items. o Made it much easier to create new items, by subclassing GooCanvasItemSimple which handles most of the work. See demo/demo-item.c for a simple item. o Added support for different units - pixels, points, inches or millimeters, and allow setting of vertical and horizontal resolution (dpi). o Added workaround for cairo's 16-bit limit, to support large canvases. o Added demo/scalability-demo which creates 100,000 items over a large canvas. It takes a few seconds to create all the items, but once created it seems to work fast enough. o Improved the animation code, supporting relative or absolute values for the x, y, scale and rotation. o Added "clip-path" and "clip-fill-rule" to specify a clip path for an item. GooCanvas 0.5 (Oct 10 2006) ============= o This was just a development release previewing the new optional model-view rewrite. GooCanvas 0.4 (Aug 24 2006) ============= o Many minor changes to support the PyGooCanvas python bindings. o Added goo_canvas_view_get_item_view() to get views of particular items, to make it easier to setup signal handlers for simple canvases. (See demo/simple-demo.c for a demo of this.) o Support transforms on item views as well as on items. GooCanvas 0.3 (Apr 24 2006) ============= o New GooCanvasPath item (similar to SVG path element). o Accessibility support. o Keyboard focus navigation. o API documentation. o Convenience functions for coordinate conversions. o Smooth scrolling & zooming. o Zoom-independent text layout. o Render part or all of canvas to a cairo_t, for ps/pdf output. o New "visibility" and "visibility-threshold" properties for items. o New "pointer-events" property specifying which parts of items get events. GooCanvas 0.2 (Dec 5 2005) ============= o Affine transformations for all items. o Event handling, including support for pointer grabs. o Support for simple animation. o Finished port of FooCanvas demo, and added test for pointer grabs. GooCanvas 0.1 (Nov 17 2005) ============= o Basic items working. o Model/view split. o Interfaces for items & views. @ 1.8 log @released 0.9 @ text @d3 19 @ 1.7 log @2007-04-03 Damon Chaplin * Released GooCanvas 0.8 2007-04-03 Damon Chaplin * demo/mv-demo.c (create_canvas_primitives): * demo/demo.c (create_canvas_primitives): set the maximum scale to 50, since if we go above that we hit the cairo 16-bit limit and the large rectangle isn't painted correctly. * src/goocanvasitemsimple.c (goo_canvas_item_simple_install_common_properties): improved docs for fill/stroke properties. * src/goocanvaswidget.c (goo_canvas_widget_new) (goo_canvas_widget_set_widget): keep our own reference to the widget, rather than just relying on the canvas widget's reference. Otherwise once the widget is removed from the canvas we have an invalid pointer. @ text @d3 24 @ 1.6 log @2007-02-27 Damon Chaplin * Released GooCanvas 0.7 2007-02-27 Damon Chaplin * src/goocanvas.c (goo_canvas_get_items_in_area): new function to get items inside or outside a given area. * demo/demo.c: added little test for goo_canvas_get_items_at() and goo_canvas_get_items_in_area(). @ text @d3 19 @ 1.5 log @2007-02-17 Damon Chaplin * Released GooCanvas 0.6 2007-02-17 Damon Chaplin * src/goocanvasitemsimple.h (struct _GooCanvasItemSimpleClass): renamed create_path, update, paint and get_item_at class methods to simple_create_path, simple_update, simple_paint and simple_get_item_at. This avoids confusion with the GooCanvasItem interface methods with the same name (and may avoid problems with language bindings etc.) * src/goocanvasellipse.c (goo_canvas_ellipse_class_init): * src/goocanvasimage.c (goo_canvas_image_class_init): * src/goocanvaspath.c (goo_canvas_path_class_init): * src/goocanvaspolyline.c (goo_canvas_polyline_class_init): * src/goocanvasrect.c (goo_canvas_rect_class_init): * src/goocanvastext.c (goo_canvas_text_class_init): * src/goocanvaswidget.c (goo_canvas_widget_class_init): * demo/demo-item.c (goo_demo_item_class_init): * src/goocanvasitemsimple.c: updated use of above class methods. * src/goocanvasgroup.c (goo_canvas_group_update): handle children with empty bounds (i.e. ignore their bounds when computing the group's bounds). * src/goocanvastable.c (goo_canvas_table_paint) (goo_canvas_table_get_item_at): * src/goocanvasgroup.c (goo_canvas_group_get_item_at) (goo_canvas_group_paint): don't check the child bounds here. Leave it up to the children to do that. * src/goocanvasitemsimple.c (goo_canvas_item_simple_get_item_at) (goo_canvas_item_simple_paint): check the item's bounds here. @ text @d3 20 @ 1.4 log @2006-08-24 Damon Chaplin * Released GooCanvas 0.4 2006-08-24 Damon Chaplin * src/*.c: updated docs to point to goo_canvas_view_get_item_view() as a simple alternative for setting up signal handlers. * src/goocanvasview.c (goo_canvas_view_pointer_ungrab): only call gdk_display_pointer_ungrab() if we have an active pointer grab. So maybe we can now use goo_canvas_view_pointer_ungrab() to ungrab passive grabs on canvas item views (need to test this though). @ text @d2 31 @ 1.3 log @2006-04-24 Damon Chaplin * Released GooCanvas 0.3 2006-04-24 Damon Chaplin * src/goocanvasview.c: added "model", "scale", "anchor", "x1", "y1", "x2", "y2" properties, and goo_canvas_view_get_bounds() and goo_canvas_view_get_scale() accessors. Removed goo_canvas_view_set_anchor() as the property should be enough. (I think we should only have accessor functions for major properties.) @ text @d2 10 @ 1.2 log @2006-04-22 Damon Chaplin * src/goocanvasview.c: added support for keyboard focus navigation. (I still need to make it scroll to show the focused item if needed.) * demo/demo-focus.c: new demo page to test keyboard focus navigation. * src/goocanvasitemview.c: added "focus-in-event" & "focus-out-event" signals. * src/goocanvasitemsimple.c (goo_canvas_item_simple_get_path_bounds): make sure we do min/max over all points of bounds. * src/goocanvasview.c (goo_canvas_view_focus_out): emit "focus_out_event", not "focus_in_event". @ text @d2 1 a2 1 GooCanvas 0.3 (Apr ? 2006) @ 1.1 log @Initial revision @ text @d1 31 @ 1.1.1.1 log @Cairo canvas widget for GTK+ @ text @@