diff options
Diffstat (limited to 'widgets')
-rw-r--r-- | widgets/misc/e-calendar-item.c | 13 | ||||
-rw-r--r-- | widgets/misc/e-canvas-background.c | 16 | ||||
-rw-r--r-- | widgets/misc/e-canvas.c | 10 | ||||
-rw-r--r-- | widgets/table/e-table-field-chooser-item.c | 8 | ||||
-rw-r--r-- | widgets/table/e-table-header-item.c | 8 | ||||
-rw-r--r-- | widgets/table/e-table-item.c | 9 | ||||
-rw-r--r-- | widgets/text/e-reflow.c | 18 | ||||
-rw-r--r-- | widgets/text/e-text.c | 14 |
8 files changed, 37 insertions, 59 deletions
diff --git a/widgets/misc/e-calendar-item.c b/widgets/misc/e-calendar-item.c index f5d2f870af..5ca1143c96 100644 --- a/widgets/misc/e-calendar-item.c +++ b/widgets/misc/e-calendar-item.c @@ -90,12 +90,11 @@ static void e_calendar_item_draw_day_numbers (ECalendarItem *calitem, gint start_weekday, gint cells_x, gint cells_y); -static gdouble e_calendar_item_point (GnomeCanvasItem *item, +static GnomeCanvasItem *e_calendar_item_point (GnomeCanvasItem *item, gdouble x, gdouble y, gint cx, - gint cy, - GnomeCanvasItem **actual_item); + gint cy); static void e_calendar_item_stop_selecting (ECalendarItem *calitem, guint32 time); static void e_calendar_item_selection_add_days (ECalendarItem *calitem, @@ -1760,13 +1759,11 @@ e_calendar_item_get_week_number (ECalendarItem *calitem, /* This is supposed to return the nearest item the the point and the distance. Since we are the only item we just return ourself and 0 for the distance. This is needed so that we get button/motion events. */ -static double +static GnomeCanvasItem * e_calendar_item_point (GnomeCanvasItem *item, gdouble x, gdouble y, - gint cx, gint cy, - GnomeCanvasItem **actual_item) + gint cx, gint cy) { - *actual_item = item; - return 0.0; + return item; } static void diff --git a/widgets/misc/e-canvas-background.c b/widgets/misc/e-canvas-background.c index f6179379e4..b2be246f21 100644 --- a/widgets/misc/e-canvas-background.c +++ b/widgets/misc/e-canvas-background.c @@ -371,23 +371,21 @@ ecb_draw (GnomeCanvasItem *item, x1, y1, x2 - x1, y2 - y1); } -static double -ecb_point (GnomeCanvasItem *item, gdouble x, gdouble y, gint cx, gint cy, - GnomeCanvasItem **actual_item) +static GnomeCanvasItem * +ecb_point (GnomeCanvasItem *item, gdouble x, gdouble y, gint cx, gint cy) { ECanvasBackground *ecb = E_CANVAS_BACKGROUND (item); if (ecb->priv->x1 >= 0 && ecb->priv->x1 > x) - return 1.0; + return NULL; if (ecb->priv->x2 >= 0 && ecb->priv->x2 < x) - return 1.0; + return NULL; if (ecb->priv->y1 >= 0 && ecb->priv->y1 > y) - return 1.0; + return NULL; if (ecb->priv->y2 >= 0 && ecb->priv->y2 < y) - return 1.0; - *actual_item = item; + return NULL; - return 0.0; + return item; } static void diff --git a/widgets/misc/e-canvas.c b/widgets/misc/e-canvas.c index dfa529ec6b..0b24b84cb9 100644 --- a/widgets/misc/e-canvas.c +++ b/widgets/misc/e-canvas.c @@ -167,13 +167,12 @@ canvas_emit_event (GnomeCanvas *canvas, * invariant. */ #define HACKISH_AFFINE -static double +static GnomeCanvasItem * gnome_canvas_item_invoke_point (GnomeCanvasItem *item, gdouble x, gdouble y, gint cx, - gint cy, - GnomeCanvasItem **actual_item) + gint cy) { #ifdef HACKISH_AFFINE gdouble i2w[6], w2c[6], i2c[6], c2i[6]; @@ -193,7 +192,7 @@ gnome_canvas_item_invoke_point (GnomeCanvasItem *item, #endif return (* GNOME_CANVAS_ITEM_CLASS (G_OBJECT_GET_CLASS (item))->point) ( - item, x, y, cx, cy, actual_item); + item, x, y, cx, cy); } /* Re-picks the current item in the canvas, based on the event's coordinates. @@ -287,8 +286,7 @@ pick_current_item (GnomeCanvas *canvas, GdkEvent *event) /* find the closest item */ if (canvas->root->flags & GNOME_CANVAS_ITEM_VISIBLE) - gnome_canvas_item_invoke_point (canvas->root, x, y, cx, cy, - &canvas->new_current_item); + canvas->new_current_item = gnome_canvas_item_invoke_point (canvas->root, x, y, cx, cy); else canvas->new_current_item = NULL; } else diff --git a/widgets/table/e-table-field-chooser-item.c b/widgets/table/e-table-field-chooser-item.c index 67beee9d52..20048007d7 100644 --- a/widgets/table/e-table-field-chooser-item.c +++ b/widgets/table/e-table-field-chooser-item.c @@ -522,12 +522,10 @@ etfci_draw (GnomeCanvasItem *item, } } -static double -etfci_point (GnomeCanvasItem *item, gdouble x, gdouble y, gint cx, gint cy, - GnomeCanvasItem **actual_item) +static GnomeCanvasItem * +etfci_point (GnomeCanvasItem *item, gdouble x, gdouble y, gint cx, gint cy) { - *actual_item = item; - return 0.0; + return item; } static gboolean diff --git a/widgets/table/e-table-header-item.c b/widgets/table/e-table-header-item.c index f3ed548463..0f7444285a 100644 --- a/widgets/table/e-table-header-item.c +++ b/widgets/table/e-table-header-item.c @@ -1070,12 +1070,10 @@ ethi_draw (GnomeCanvasItem *item, g_hash_table_destroy (arrows); } -static double -ethi_point (GnomeCanvasItem *item, gdouble x, gdouble y, gint cx, gint cy, - GnomeCanvasItem **actual_item) +static GnomeCanvasItem * +ethi_point (GnomeCanvasItem *item, gdouble x, gdouble y, gint cx, gint cy) { - *actual_item = item; - return 0.0; + return item; } /* diff --git a/widgets/table/e-table-item.c b/widgets/table/e-table-item.c index 7bd0ed4427..d68c69a220 100644 --- a/widgets/table/e-table-item.c +++ b/widgets/table/e-table-item.c @@ -2042,13 +2042,10 @@ exit: cairo_destroy (cr); } -static double -eti_point (GnomeCanvasItem *item, gdouble x, gdouble y, gint cx, gint cy, - GnomeCanvasItem **actual_item) +static GnomeCanvasItem * +eti_point (GnomeCanvasItem *item, gdouble x, gdouble y, gint cx, gint cy) { - *actual_item = item; - - return 0.0; + return item; } static gboolean diff --git a/widgets/text/e-reflow.c b/widgets/text/e-reflow.c index 3e062f0f93..4974fd8f04 100644 --- a/widgets/text/e-reflow.c +++ b/widgets/text/e-reflow.c @@ -43,7 +43,7 @@ static void e_reflow_unrealize (GnomeCanvasItem *item); static void e_reflow_draw (GnomeCanvasItem *item, GdkDrawable *drawable, gint x, gint y, gint width, gint height); static void e_reflow_update (GnomeCanvasItem *item, gdouble affine[6], ArtSVP *clip_path, gint flags); -static gdouble e_reflow_point (GnomeCanvasItem *item, gdouble x, gdouble y, gint cx, gint cy, GnomeCanvasItem **actual_item); +static GnomeCanvasItem *e_reflow_point (GnomeCanvasItem *item, gdouble x, gdouble y, gint cx, gint cy); static void e_reflow_reflow (GnomeCanvasItem *item, gint flags); static void set_empty (EReflow *reflow); @@ -1347,22 +1347,16 @@ e_reflow_update (GnomeCanvasItem *item, gdouble affine[6], ArtSVP *clip_path, gi } } -static double +static GnomeCanvasItem * e_reflow_point (GnomeCanvasItem *item, - gdouble x, gdouble y, gint cx, gint cy, - GnomeCanvasItem **actual_item) + gdouble x, gdouble y, gint cx, gint cy) { - gdouble distance = 1; - - *actual_item = NULL; + GnomeCanvasItem *child; if (GNOME_CANVAS_ITEM_CLASS (e_reflow_parent_class)->point) - distance = GNOME_CANVAS_ITEM_CLASS (e_reflow_parent_class)->point (item, x, y, cx, cy, actual_item); - if ((gint) (distance * item->canvas->pixels_per_unit + 0.5) <= 0 && *actual_item) - return distance; + child = GNOME_CANVAS_ITEM_CLASS (e_reflow_parent_class)->point (item, x, y, cx, cy); - *actual_item = item; - return 0; + return child ? child : item; #if 0 if (y >= E_REFLOW_BORDER_WIDTH && y <= reflow->height - E_REFLOW_BORDER_WIDTH) { gfloat n_x; diff --git a/widgets/text/e-text.c b/widgets/text/e-text.c index 378a8dfc0e..e58d5bf8a2 100644 --- a/widgets/text/e-text.c +++ b/widgets/text/e-text.c @@ -1620,9 +1620,9 @@ e_text_draw (GnomeCanvasItem *item, GdkDrawable *drawable, } /* Point handler for the text item */ -static double +static GnomeCanvasItem * e_text_point (GnomeCanvasItem *item, gdouble x, gdouble y, - gint cx, gint cy, GnomeCanvasItem **actual_item) + gint cx, gint cy) { EText *text; gdouble clip_width; @@ -1630,8 +1630,6 @@ e_text_point (GnomeCanvasItem *item, gdouble x, gdouble y, text = E_TEXT (item); - *actual_item = item; - /* The idea is to build bounding rectangles for each of the lines of * text (clipped by the clipping rectangle, if it is activated) and see * whether the point is inside any of these. If it is, we are done. @@ -1656,17 +1654,17 @@ e_text_point (GnomeCanvasItem *item, gdouble x, gdouble y, cx > text->clip_cx + clip_width || cy < text->clip_cy || cy > text->clip_cy + clip_height) - return 1; + return NULL; if (text->fill_clip_rectangle || !text->text || !*text->text) - return 0; + return item; cx -= text->cx; if (pango_layout_xy_to_index (text->layout, cx, cy, NULL, NULL)) - return 0; + return item; - return 1; + return NULL; } /* Bounds handler for the text item */ |