[cairo-commit] goocanvas/src goocanvasellipse.c, 1.5, 1.6 goocanvasellipseview.c, 1.11, 1.12 goocanvasgroup.c, 1.12, 1.13 goocanvasgroupview.c, 1.19, 1.20 goocanvasimage.c, 1.6, 1.7 goocanvasimageview.c, 1.15, 1.16 goocanvasitemview.c, 1.13, 1.14 goocanvaspath.c, 1.5, 1.6 goocanvaspathview.c, 1.9, 1.10 goocanvaspolyline.c, 1.5, 1.6 goocanvaspolylineview.c, 1.16, 1.17 goocanvasrect.c, 1.5, 1.6 goocanvasrectview.c, 1.11, 1.12 goocanvastext.c, 1.5, 1.6 goocanvastextview.c, 1.17, 1.18 goocanvasview.c, 1.28, 1.29

Damon Chaplin commit at pdx.freedesktop.org
Thu Aug 24 01:06:25 PDT 2006


Committed by: damon

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

Modified Files:
	goocanvasellipse.c goocanvasellipseview.c goocanvasgroup.c 
	goocanvasgroupview.c goocanvasimage.c goocanvasimageview.c 
	goocanvasitemview.c goocanvaspath.c goocanvaspathview.c 
	goocanvaspolyline.c goocanvaspolylineview.c goocanvasrect.c 
	goocanvasrectview.c goocanvastext.c goocanvastextview.c 
	goocanvasview.c 
Log Message:
2006-08-24  Damon Chaplin  <damon at gnome.org>

	* Released GooCanvas 0.4

2006-08-24  Damon Chaplin  <damon at gnome.org>

	* 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).



Index: goocanvasellipse.c
===================================================================
RCS file: /cvs/cairo/goocanvas/src/goocanvasellipse.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- goocanvasellipse.c	27 May 2006 19:31:44 -0000	1.5
+++ goocanvasellipse.c	24 Aug 2006 08:06:23 -0000	1.6
@@ -26,7 +26,7 @@
  *
  * To respond to events such as mouse clicks on the ellipse you must connect
  * to the signal handlers of the corresponding #GooCanvasEllipseView objects.
- * (See #GooCanvasView::item-view-created.)
+ * (See goo_canvas_view_get_item_view() and #GooCanvasView::item-view-created.)
  */
 #include <config.h>
 #include <math.h>

Index: goocanvasellipseview.c
===================================================================
RCS file: /cvs/cairo/goocanvas/src/goocanvasellipseview.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- goocanvasellipseview.c	27 May 2006 19:31:44 -0000	1.11
+++ goocanvasellipseview.c	24 Aug 2006 08:06:23 -0000	1.12
@@ -21,8 +21,9 @@
  *
  * To respond to events such as mouse clicks in the ellipse view you can
  * connect to one of the #GooCanvasItemView signals such as
- * #GooCanvasItemView::button_press_event. You can connect to these signals
- * when the view is created. (See #GooCanvasView::item-view-created.)
+ * #GooCanvasItemView::button-press-event. You can connect to these signals
+ * when the view is created. (See goo_canvas_view_get_item_view() and
+ * #GooCanvasView::item-view-created.)
  */
 #include <config.h>
 #include <math.h>

Index: goocanvasgroup.c
===================================================================
RCS file: /cvs/cairo/goocanvas/src/goocanvasgroup.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- goocanvasgroup.c	26 Jul 2006 15:45:43 -0000	1.12
+++ goocanvasgroup.c	24 Aug 2006 08:06:23 -0000	1.13
@@ -26,7 +26,7 @@
  *
  * To respond to events such as mouse clicks on the group you must connect
  * to the signal handlers of the corresponding #GooCanvasGroupView objects.
- * (See #GooCanvasView::item-view-created.)
+ * (See goo_canvas_view_get_item_view() and #GooCanvasView::item-view-created.)
  */
 #include <config.h>
 #include <glib/gi18n-lib.h>

Index: goocanvasgroupview.c
===================================================================
RCS file: /cvs/cairo/goocanvas/src/goocanvasgroupview.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- goocanvasgroupview.c	23 Aug 2006 11:56:05 -0000	1.19
+++ goocanvasgroupview.c	24 Aug 2006 08:06:23 -0000	1.20
@@ -20,10 +20,11 @@
  * Applications do not normally need to create item views themselves, as
  * they are created automatically by #GooCanvasView when needed.
  *
- * To respond to events such as mouse clicks in the group view you can
+ * To respond to events such as mouse clicks in the ellipse view you can
  * connect to one of the #GooCanvasItemView signals such as
- * #GooCanvasItemView::button_press_event. You can connect to these signals
- * when the view is created. (See #GooCanvasView::item-view-created.)
+ * #GooCanvasItemView::button-press-event. You can connect to these signals
+ * when the view is created. (See goo_canvas_view_get_item_view() and
+ * #GooCanvasView::item-view-created.)
  */
 #include <config.h>
 #include <gtk/gtk.h>

Index: goocanvasimage.c
===================================================================
RCS file: /cvs/cairo/goocanvas/src/goocanvasimage.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- goocanvasimage.c	27 May 2006 19:31:44 -0000	1.6
+++ goocanvasimage.c	24 Aug 2006 08:06:23 -0000	1.7
@@ -26,7 +26,7 @@
  *
  * To respond to events such as mouse clicks on the image you must connect
  * to the signal handlers of the corresponding #GooCanvasImageView objects.
- * (See #GooCanvasView::item-view-created.)
+ * (See goo_canvas_view_get_item_view() and #GooCanvasView::item-view-created.)
  */
 #include <config.h>
 #include <glib/gi18n-lib.h>

Index: goocanvasimageview.c
===================================================================
RCS file: /cvs/cairo/goocanvas/src/goocanvasimageview.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- goocanvasimageview.c	8 Aug 2006 21:58:13 -0000	1.15
+++ goocanvasimageview.c	24 Aug 2006 08:06:23 -0000	1.16
@@ -19,10 +19,11 @@
  * Applications do not normally need to create item views themselves, as
  * they are created automatically by #GooCanvasView when needed.
  *
- * To respond to events such as mouse clicks in the image view you can
+ * To respond to events such as mouse clicks in the ellipse view you can
  * connect to one of the #GooCanvasItemView signals such as
- * #GooCanvasItemView::button_press_event. You can connect to these signals
- * when the view is created. (See #GooCanvasView::item-view-created.)
+ * #GooCanvasItemView::button-press-event. You can connect to these signals
+ * when the view is created. (See goo_canvas_view_get_item_view() and
+ * #GooCanvasView::item-view-created.)
  */
 #include <config.h>
 #include <gtk/gtk.h>

Index: goocanvasitemview.c
===================================================================
RCS file: /cvs/cairo/goocanvas/src/goocanvasitemview.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- goocanvasitemview.c	26 Jul 2006 15:08:19 -0000	1.13
+++ goocanvasitemview.c	24 Aug 2006 08:06:23 -0000	1.14
@@ -610,7 +610,10 @@
  * @view: a #GooCanvasItemView.
  * @bounds: a #GooCanvasBounds to return the bounds in.
  * 
- * Gets the bounds of the item.
+ * Gets the bounds of the item view.
+ *
+ * Note that the bounds includes the entire fill and stroke extents of the
+ * item view, whether they are painted or not.
  **/
 void
 goo_canvas_item_view_get_bounds  (GooCanvasItemView   *view,

Index: goocanvaspath.c
===================================================================
RCS file: /cvs/cairo/goocanvas/src/goocanvaspath.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- goocanvaspath.c	27 May 2006 19:31:44 -0000	1.5
+++ goocanvaspath.c	24 Aug 2006 08:06:23 -0000	1.6
@@ -31,7 +31,7 @@
  *
  * To respond to events such as mouse clicks on the path you must connect
  * to the signal handlers of the corresponding #GooCanvasPathView objects.
- * (See #GooCanvasView::item-view-created.)
+ * (See goo_canvas_view_get_item_view() and #GooCanvasView::item-view-created.)
  */
 #include <config.h>
 #include <glib/gi18n-lib.h>

Index: goocanvaspathview.c
===================================================================
RCS file: /cvs/cairo/goocanvas/src/goocanvaspathview.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- goocanvaspathview.c	27 May 2006 19:31:44 -0000	1.9
+++ goocanvaspathview.c	24 Aug 2006 08:06:23 -0000	1.10
@@ -19,10 +19,11 @@
  * Applications do not normally need to create item views themselves, as
  * they are created automatically by #GooCanvasView when needed.
  *
- * To respond to events such as mouse clicks in the path view you can
+ * To respond to events such as mouse clicks in the ellipse view you can
  * connect to one of the #GooCanvasItemView signals such as
- * #GooCanvasItemView::button_press_event. You can connect to these signals
- * when the view is created. (See #GooCanvasView::item-view-created.)
+ * #GooCanvasItemView::button-press-event. You can connect to these signals
+ * when the view is created. (See goo_canvas_view_get_item_view() and
+ * #GooCanvasView::item-view-created.)
  */
 #include <config.h>
 #include <math.h>

Index: goocanvaspolyline.c
===================================================================
RCS file: /cvs/cairo/goocanvas/src/goocanvaspolyline.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- goocanvaspolyline.c	27 May 2006 19:31:44 -0000	1.5
+++ goocanvaspolyline.c	24 Aug 2006 08:06:23 -0000	1.6
@@ -27,7 +27,7 @@
  *
  * To respond to events such as mouse clicks on the polyline you must connect
  * to the signal handlers of the corresponding #GooCanvasPolylineView objects.
- * (See #GooCanvasView::item-view-created.)
+ * (See goo_canvas_view_get_item_view() and #GooCanvasView::item-view-created.)
  */
 #include <config.h>
 #include <math.h>

Index: goocanvaspolylineview.c
===================================================================
RCS file: /cvs/cairo/goocanvas/src/goocanvaspolylineview.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- goocanvaspolylineview.c	8 Aug 2006 21:58:13 -0000	1.16
+++ goocanvaspolylineview.c	24 Aug 2006 08:06:23 -0000	1.17
@@ -19,10 +19,11 @@
  * Applications do not normally need to create item views themselves, as
  * they are created automatically by #GooCanvasView when needed.
  *
- * To respond to events such as mouse clicks in the polyline view you can
+ * To respond to events such as mouse clicks in the ellipse view you can
  * connect to one of the #GooCanvasItemView signals such as
- * #GooCanvasItemView::button_press_event. You can connect to these signals
- * when the view is created. (See #GooCanvasView::item-view-created.)
+ * #GooCanvasItemView::button-press-event. You can connect to these signals
+ * when the view is created. (See goo_canvas_view_get_item_view() and
+ * #GooCanvasView::item-view-created.)
  */
 #include <config.h>
 #include <gtk/gtk.h>

Index: goocanvasrect.c
===================================================================
RCS file: /cvs/cairo/goocanvas/src/goocanvasrect.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- goocanvasrect.c	27 May 2006 19:31:44 -0000	1.5
+++ goocanvasrect.c	24 Aug 2006 08:06:23 -0000	1.6
@@ -26,7 +26,7 @@
  *
  * To respond to events such as mouse clicks on the rect you must connect
  * to the signal handlers of the corresponding #GooCanvasRectView objects.
- * (See #GooCanvasView::item-view-created.)
+ * (See goo_canvas_view_get_item_view() and #GooCanvasView::item-view-created.)
  */
 #include <config.h>
 #include <glib/gi18n-lib.h>

Index: goocanvasrectview.c
===================================================================
RCS file: /cvs/cairo/goocanvas/src/goocanvasrectview.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- goocanvasrectview.c	27 May 2006 19:31:44 -0000	1.11
+++ goocanvasrectview.c	24 Aug 2006 08:06:23 -0000	1.12
@@ -19,10 +19,11 @@
  * Applications do not normally need to create item views themselves, as
  * they are created automatically by #GooCanvasView when needed.
  *
- * To respond to events such as mouse clicks in the rect view you can
+ * To respond to events such as mouse clicks in the ellipse view you can
  * connect to one of the #GooCanvasItemView signals such as
- * #GooCanvasItemView::button_press_event. You can connect to these signals
- * when the view is created. (See #GooCanvasView::item-view-created.)
+ * #GooCanvasItemView::button-press-event. You can connect to these signals
+ * when the view is created. (See goo_canvas_view_get_item_view() and
+ * #GooCanvasView::item-view-created.)
  */
 #include <config.h>
 #include <math.h>

Index: goocanvastext.c
===================================================================
RCS file: /cvs/cairo/goocanvas/src/goocanvastext.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- goocanvastext.c	27 May 2006 19:31:44 -0000	1.5
+++ goocanvastext.c	24 Aug 2006 08:06:23 -0000	1.6
@@ -26,7 +26,7 @@
  *
  * To respond to events such as mouse clicks on the text you must connect
  * to the signal handlers of the corresponding #GooCanvasTextView objects.
- * (See #GooCanvasView::item-view-created.)
+ * (See goo_canvas_view_get_item_view() and #GooCanvasView::item-view-created.)
  */
 #include <config.h>
 #include <glib/gi18n-lib.h>

Index: goocanvastextview.c
===================================================================
RCS file: /cvs/cairo/goocanvas/src/goocanvastextview.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- goocanvastextview.c	8 Aug 2006 21:58:13 -0000	1.17
+++ goocanvastextview.c	24 Aug 2006 08:06:23 -0000	1.18
@@ -19,10 +19,11 @@
  * Applications do not normally need to create item views themselves, as
  * they are created automatically by #GooCanvasView when needed.
  *
- * To respond to events such as mouse clicks in the text view you can
+ * To respond to events such as mouse clicks in the ellipse view you can
  * connect to one of the #GooCanvasItemView signals such as
- * #GooCanvasItemView::button_press_event. You can connect to these signals
- * when the view is created. (See #GooCanvasView::item-view-created.)
+ * #GooCanvasItemView::button-press-event. You can connect to these signals
+ * when the view is created. (See goo_canvas_view_get_item_view() and
+ * #GooCanvasView::item-view-created.)
  */
 #include <config.h>
 #include <string.h>

Index: goocanvasview.c
===================================================================
RCS file: /cvs/cairo/goocanvas/src/goocanvasview.c,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -d -r1.28 -r1.29
--- goocanvasview.c	23 Aug 2006 11:56:05 -0000	1.28
+++ goocanvasview.c	24 Aug 2006 08:06:23 -0000	1.29
@@ -585,7 +585,20 @@
  * @item: a #GooCanvasItem.
  * 
  * Gets the view for the given #GooCanvasItem.
- * 
+ *
+ * For simple applications you can use this function to set up signal handlers
+ * for your item views, e.g.
+ *
+ * <informalexample><programlisting>
+ *    item_view = goo_canvas_view_get_item_view (GOO_CANVAS_VIEW (canvas),
+ *                                               my_item);
+ *    g_signal_connect (item_view, "button_press_event",
+ *                      (GtkSignalFunc) on_my_item_view_button_press, NULL);
+ * </programlisting></informalexample>
+ *
+ * More complex applications may want to use the
+ * #GooCanvasView::item-view-created signal to hook up their signal handlers.
+ *
  * Returns: the view for the given #GooCanvasItem, or %NULL if no view has been
  *  created for it yet.
  **/
@@ -2172,8 +2185,10 @@
   if (canvas_view->pointer_grab_item_view != item_view)
     return;
 
+  /* If it is an active pointer grab, ungrab it explicitly. */
   display = gtk_widget_get_display (GTK_WIDGET (canvas_view));
-  gdk_display_pointer_ungrab (display, time);
+  if (gdk_display_pointer_is_grabbed (display))
+    gdk_display_pointer_ungrab (display, time);
 
   /* We set the pointer item view back to the view it was in before the
      grab, so we'll synthesize enter/leave notify events as appropriate. */



More information about the cairo-commit mailing list