app: remove GimpDisplayShell parameters from all GimpCanvasItem vfuncs

and get the shell from gimp_canvas_item_get_shell() if needed.  Remove
some cairo_translate() that didn't have any effect and were leftovers
from a very early canvas item code.
This commit is contained in:
Michael Natterer 2013-04-18 15:45:08 +02:00
parent 59c7d42530
commit 0add37a6cc
23 changed files with 416 additions and 511 deletions

View File

@ -77,10 +77,8 @@ static void gimp_canvas_arc_get_property (GObject *object,
GValue *value,
GParamSpec *pspec);
static void gimp_canvas_arc_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr);
static cairo_region_t * gimp_canvas_arc_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell);
static cairo_region_t * gimp_canvas_arc_get_extents (GimpCanvasItem *item);
G_DEFINE_TYPE (GimpCanvasArc, gimp_canvas_arc,
@ -262,7 +260,6 @@ gimp_canvas_arc_transform (GimpCanvasItem *item,
static void
gimp_canvas_arc_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr)
{
GimpCanvasArcPrivate *private = GET_PRIVATE (item);
@ -287,8 +284,7 @@ gimp_canvas_arc_draw (GimpCanvasItem *item,
}
static cairo_region_t *
gimp_canvas_arc_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell)
gimp_canvas_arc_get_extents (GimpCanvasItem *item)
{
GimpCanvasArcPrivate *private = GET_PRIVATE (item);
cairo_region_t *region;

View File

@ -75,10 +75,8 @@ static void gimp_canvas_boundary_get_property (GObject *obj
GValue *value,
GParamSpec *pspec);
static void gimp_canvas_boundary_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr);
static cairo_region_t * gimp_canvas_boundary_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell);
static cairo_region_t * gimp_canvas_boundary_get_extents (GimpCanvasItem *item);
G_DEFINE_TYPE (GimpCanvasBoundary, gimp_canvas_boundary,
@ -287,7 +285,6 @@ gimp_canvas_boundary_transform (GimpCanvasItem *item,
static void
gimp_canvas_boundary_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr)
{
GimpCanvasBoundaryPrivate *private = GET_PRIVATE (item);
@ -305,8 +302,7 @@ gimp_canvas_boundary_draw (GimpCanvasItem *item,
}
static cairo_region_t *
gimp_canvas_boundary_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell)
gimp_canvas_boundary_get_extents (GimpCanvasItem *item)
{
GimpCanvasBoundaryPrivate *private = GET_PRIVATE (item);
cairo_rectangle_int_t rectangle;

View File

@ -77,10 +77,8 @@ static void gimp_canvas_corner_get_property (GObject *objec
GValue *value,
GParamSpec *pspec);
static void gimp_canvas_corner_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr);
static cairo_region_t * gimp_canvas_corner_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell);
static cairo_region_t * gimp_canvas_corner_get_extents (GimpCanvasItem *item);
G_DEFINE_TYPE (GimpCanvasCorner, gimp_canvas_corner,
@ -393,7 +391,6 @@ gimp_canvas_corner_transform (GimpCanvasItem *item,
static void
gimp_canvas_corner_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr)
{
gdouble x, y;
@ -407,8 +404,7 @@ gimp_canvas_corner_draw (GimpCanvasItem *item,
}
static cairo_region_t *
gimp_canvas_corner_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell)
gimp_canvas_corner_get_extents (GimpCanvasItem *item)
{
cairo_rectangle_int_t rectangle;
gdouble x, y;

View File

@ -70,10 +70,8 @@ static void gimp_canvas_cursor_get_property (GObject *objec
GValue *value,
GParamSpec *pspec);
static void gimp_canvas_cursor_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr);
static cairo_region_t * gimp_canvas_cursor_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell);
static cairo_region_t * gimp_canvas_cursor_get_extents (GimpCanvasItem *item);
G_DEFINE_TYPE (GimpCanvasCursor, gimp_canvas_cursor,
@ -164,7 +162,6 @@ gimp_canvas_cursor_get_property (GObject *object,
static void
gimp_canvas_cursor_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr)
{
GimpCanvasCursorPrivate *private = GET_PRIVATE (item);
@ -183,8 +180,7 @@ gimp_canvas_cursor_draw (GimpCanvasItem *item,
}
static cairo_region_t *
gimp_canvas_cursor_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell)
gimp_canvas_cursor_get_extents (GimpCanvasItem *item)
{
GimpCanvasCursorPrivate *private = GET_PRIVATE (item);
cairo_rectangle_int_t rectangle;

View File

@ -71,12 +71,9 @@ static void gimp_canvas_grid_get_property (GObject *object,
GValue *value,
GParamSpec *pspec);
static void gimp_canvas_grid_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr);
static cairo_region_t * gimp_canvas_grid_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell);
static cairo_region_t * gimp_canvas_grid_get_extents (GimpCanvasItem *item);
static void gimp_canvas_grid_stroke (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr);
@ -187,10 +184,10 @@ gimp_canvas_grid_get_property (GObject *object,
static void
gimp_canvas_grid_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr)
{
GimpCanvasGridPrivate *private = GET_PRIVATE (item);
GimpDisplayShell *shell = gimp_canvas_item_get_shell (item);
GimpImage *image = gimp_canvas_item_get_image (item);
gdouble x, y;
gdouble dx1, dy1, dx2, dy2;
@ -202,7 +199,8 @@ gimp_canvas_grid_draw (GimpCanvasItem *item,
#define CROSSHAIR 2
g_return_if_fail (private->grid->xspacing > 0 && private->grid->yspacing > 0);
g_return_if_fail (private->grid->xspacing > 0 &&
private->grid->yspacing > 0);
/* skip grid drawing when the space between grid lines starts
* disappearing, see bug #599267.
@ -346,8 +344,7 @@ gimp_canvas_grid_draw (GimpCanvasItem *item,
}
static cairo_region_t *
gimp_canvas_grid_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell)
gimp_canvas_grid_get_extents (GimpCanvasItem *item)
{
GimpImage *image = gimp_canvas_item_get_image (item);
cairo_rectangle_int_t rectangle;
@ -374,21 +371,19 @@ gimp_canvas_grid_get_extents (GimpCanvasItem *item,
static void
gimp_canvas_grid_stroke (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr)
{
GimpCanvasGridPrivate *private = GET_PRIVATE (item);
if (private->grid_style)
{
cairo_translate (cr, -shell->offset_x, -shell->offset_y);
gimp_canvas_set_grid_style (gimp_canvas_item_get_canvas (item), cr,
private->grid);
cairo_stroke (cr);
}
else
{
GIMP_CANVAS_ITEM_CLASS (parent_class)->stroke (item, shell, cr);
GIMP_CANVAS_ITEM_CLASS (parent_class)->stroke (item, cr);
}
}

View File

@ -67,12 +67,9 @@ static void gimp_canvas_group_get_property (GObject *object
GValue *value,
GParamSpec *pspec);
static void gimp_canvas_group_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr);
static cairo_region_t * gimp_canvas_group_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell);
static cairo_region_t * gimp_canvas_group_get_extents (GimpCanvasItem *item);
static gboolean gimp_canvas_group_hit (GimpCanvasItem *item,
GimpDisplayShell *shell,
gdouble x,
gdouble y);
@ -182,7 +179,6 @@ gimp_canvas_group_get_property (GObject *object,
static void
gimp_canvas_group_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr)
{
GimpCanvasGroupPrivate *private = GET_PRIVATE (item);
@ -203,8 +199,7 @@ gimp_canvas_group_draw (GimpCanvasItem *item,
}
static cairo_region_t *
gimp_canvas_group_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell)
gimp_canvas_group_get_extents (GimpCanvasItem *item)
{
GimpCanvasGroupPrivate *private = GET_PRIVATE (item);
cairo_region_t *region = NULL;
@ -231,7 +226,6 @@ gimp_canvas_group_get_extents (GimpCanvasItem *item,
static gboolean
gimp_canvas_group_hit (GimpCanvasItem *item,
GimpDisplayShell *shell,
gdouble x,
gdouble y)
{

View File

@ -68,12 +68,9 @@ static void gimp_canvas_guide_get_property (GObject *object
GValue *value,
GParamSpec *pspec);
static void gimp_canvas_guide_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr);
static cairo_region_t * gimp_canvas_guide_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell);
static cairo_region_t * gimp_canvas_guide_get_extents (GimpCanvasItem *item);
static void gimp_canvas_guide_stroke (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr);
@ -211,7 +208,6 @@ gimp_canvas_guide_transform (GimpCanvasItem *item,
static void
gimp_canvas_guide_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr)
{
gdouble x1, y1;
@ -226,8 +222,7 @@ gimp_canvas_guide_draw (GimpCanvasItem *item,
}
static cairo_region_t *
gimp_canvas_guide_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell)
gimp_canvas_guide_get_extents (GimpCanvasItem *item)
{
cairo_rectangle_int_t rectangle;
gdouble x1, y1;
@ -245,21 +240,19 @@ gimp_canvas_guide_get_extents (GimpCanvasItem *item,
static void
gimp_canvas_guide_stroke (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr)
{
GimpCanvasGuidePrivate *private = GET_PRIVATE (item);
if (private->guide_style)
{
cairo_translate (cr, -shell->offset_x, -shell->offset_y);
gimp_canvas_set_guide_style (gimp_canvas_item_get_canvas (item), cr,
gimp_canvas_item_get_highlight (item));
cairo_stroke (cr);
}
else
{
GIMP_CANVAS_ITEM_CLASS (parent_class)->stroke (item, shell, cr);
GIMP_CANVAS_ITEM_CLASS (parent_class)->stroke (item, cr);
}
}

View File

@ -80,12 +80,9 @@ static void gimp_canvas_handle_get_property (GObject *objec
GValue *value,
GParamSpec *pspec);
static void gimp_canvas_handle_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr);
static cairo_region_t * gimp_canvas_handle_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell);
static cairo_region_t * gimp_canvas_handle_get_extents (GimpCanvasItem *item);
static gboolean gimp_canvas_handle_hit (GimpCanvasItem *item,
GimpDisplayShell *shell,
gdouble x,
gdouble y);
@ -294,7 +291,6 @@ gimp_canvas_handle_transform (GimpCanvasItem *item,
static void
gimp_canvas_handle_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr)
{
GimpCanvasHandlePrivate *private = GET_PRIVATE (item);
@ -379,8 +375,7 @@ gimp_canvas_handle_draw (GimpCanvasItem *item,
}
static cairo_region_t *
gimp_canvas_handle_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell)
gimp_canvas_handle_get_extents (GimpCanvasItem *item)
{
GimpCanvasHandlePrivate *private = GET_PRIVATE (item);
cairo_rectangle_int_t rectangle;
@ -421,7 +416,6 @@ gimp_canvas_handle_get_extents (GimpCanvasItem *item,
static gboolean
gimp_canvas_handle_hit (GimpCanvasItem *item,
GimpDisplayShell *shell,
gdouble x,
gdouble y)
{

View File

@ -88,18 +88,13 @@ static void gimp_canvas_item_dispatch_properties_changed (GObject *obj
GParamSpec **pspecs);
static void gimp_canvas_item_real_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr);
static cairo_region_t * gimp_canvas_item_real_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell);
static cairo_region_t * gimp_canvas_item_real_get_extents (GimpCanvasItem *item);
static void gimp_canvas_item_real_stroke (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr);
static void gimp_canvas_item_real_fill (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr);
static gboolean gimp_canvas_item_real_hit (GimpCanvasItem *item,
GimpDisplayShell *shell,
gdouble x,
gdouble y);
@ -280,22 +275,19 @@ gimp_canvas_item_dispatch_properties_changed (GObject *object,
static void
gimp_canvas_item_real_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr)
{
g_warn_if_reached ();
}
static cairo_region_t *
gimp_canvas_item_real_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell)
gimp_canvas_item_real_get_extents (GimpCanvasItem *item)
{
return NULL;
}
static void
gimp_canvas_item_real_stroke (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr)
{
GimpCanvasItemPrivate *private = GET_PRIVATE (item);
@ -312,7 +304,6 @@ gimp_canvas_item_real_stroke (GimpCanvasItem *item,
static void
gimp_canvas_item_real_fill (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr)
{
GimpCanvasItemPrivate *private = GET_PRIVATE (item);
@ -328,7 +319,6 @@ gimp_canvas_item_real_fill (GimpCanvasItem *item,
static gboolean
gimp_canvas_item_real_hit (GimpCanvasItem *item,
GimpDisplayShell *shell,
gdouble x,
gdouble y)
{
@ -338,6 +328,18 @@ gimp_canvas_item_real_hit (GimpCanvasItem *item,
/* public functions */
GimpDisplayShell *
gimp_canvas_item_get_shell (GimpCanvasItem *item)
{
GimpCanvasItemPrivate *private;
g_return_val_if_fail (GIMP_IS_CANVAS_ITEM (item), NULL);
private = GET_PRIVATE (item);
return private->shell;
}
GimpImage *
gimp_canvas_item_get_image (GimpCanvasItem *item)
{
@ -376,7 +378,7 @@ gimp_canvas_item_draw (GimpCanvasItem *item,
if (private->visible)
{
cairo_save (cr);
GIMP_CANVAS_ITEM_GET_CLASS (item)->draw (item, private->shell, cr);
GIMP_CANVAS_ITEM_GET_CLASS (item)->draw (item, cr);
cairo_restore (cr);
}
}
@ -391,7 +393,7 @@ gimp_canvas_item_get_extents (GimpCanvasItem *item)
private = GET_PRIVATE (item);
if (private->visible)
return GIMP_CANVAS_ITEM_GET_CLASS (item)->get_extents (item, private->shell);
return GIMP_CANVAS_ITEM_GET_CLASS (item)->get_extents (item);
return NULL;
}
@ -401,13 +403,9 @@ gimp_canvas_item_hit (GimpCanvasItem *item,
gdouble x,
gdouble y)
{
GimpCanvasItemPrivate *private;
g_return_val_if_fail (GIMP_IS_CANVAS_ITEM (item), FALSE);
private = GET_PRIVATE (item);
return GIMP_CANVAS_ITEM_GET_CLASS (item)->hit (item, private->shell, x, y);
return GIMP_CANVAS_ITEM_GET_CLASS (item)->hit (item, x, y);
}
void
@ -608,6 +606,21 @@ gimp_canvas_item_resume_filling (GimpCanvasItem *item)
private->suspend_filling--;
}
void
gimp_canvas_item_transform (GimpCanvasItem *item,
cairo_t *cr)
{
GimpCanvasItemPrivate *private;
g_return_if_fail (GIMP_IS_CANVAS_ITEM (item));
g_return_if_fail (cr != NULL);
private = GET_PRIVATE (item);
cairo_translate (cr, -private->shell->offset_x, -private->shell->offset_y);
cairo_scale (cr, private->shell->scale_x, private->shell->scale_y);
}
void
gimp_canvas_item_transform_xy (GimpCanvasItem *item,
gdouble x,
@ -671,7 +684,7 @@ _gimp_canvas_item_stroke (GimpCanvasItem *item,
if (private->suspend_stroking == 0)
{
GIMP_CANVAS_ITEM_GET_CLASS (item)->stroke (item, private->shell, cr);
GIMP_CANVAS_ITEM_GET_CLASS (item)->stroke (item, cr);
}
else
{
@ -690,7 +703,7 @@ _gimp_canvas_item_fill (GimpCanvasItem *item,
if (private->suspend_filling == 0)
{
GIMP_CANVAS_ITEM_GET_CLASS (item)->fill (item, private->shell, cr);
GIMP_CANVAS_ITEM_GET_CLASS (item)->fill (item, cr);
}
else
{

View File

@ -50,20 +50,15 @@ struct _GimpCanvasItemClass
/* virtual functions */
void (* draw) (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr);
cairo_region_t * (* get_extents) (GimpCanvasItem *item,
GimpDisplayShell *shell);
cairo_region_t * (* get_extents) (GimpCanvasItem *item);
void (* stroke) (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr);
void (* fill) (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr);
gboolean (* hit) (GimpCanvasItem *item,
GimpDisplayShell *shell,
gdouble x,
gdouble y);
};
@ -71,6 +66,7 @@ struct _GimpCanvasItemClass
GType gimp_canvas_item_get_type (void) G_GNUC_CONST;
GimpDisplayShell * gimp_canvas_item_get_shell (GimpCanvasItem *item);
GimpImage * gimp_canvas_item_get_image (GimpCanvasItem *item);
GtkWidget * gimp_canvas_item_get_canvas (GimpCanvasItem *item);
@ -102,6 +98,8 @@ void gimp_canvas_item_resume_stroking (GimpCanvasItem *item);
void gimp_canvas_item_suspend_filling (GimpCanvasItem *item);
void gimp_canvas_item_resume_filling (GimpCanvasItem *item);
void gimp_canvas_item_transform (GimpCanvasItem *item,
cairo_t *cr);
void gimp_canvas_item_transform_xy (GimpCanvasItem *item,
gdouble x,
gdouble y,

View File

@ -70,12 +70,9 @@ static void gimp_canvas_layer_boundary_get_property (GObject
GValue *value,
GParamSpec *pspec);
static void gimp_canvas_layer_boundary_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr);
static cairo_region_t * gimp_canvas_layer_boundary_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell);
static cairo_region_t * gimp_canvas_layer_boundary_get_extents (GimpCanvasItem *item);
static void gimp_canvas_layer_boundary_stroke (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr);
@ -164,35 +161,31 @@ gimp_canvas_layer_boundary_get_property (GObject *object,
static void
gimp_canvas_layer_boundary_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr)
{
GimpCanvasLayerBoundaryPrivate *private = GET_PRIVATE (item);
if (private->layer)
GIMP_CANVAS_ITEM_CLASS (parent_class)->draw (item, shell, cr);
GIMP_CANVAS_ITEM_CLASS (parent_class)->draw (item, cr);
}
static cairo_region_t *
gimp_canvas_layer_boundary_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell)
gimp_canvas_layer_boundary_get_extents (GimpCanvasItem *item)
{
GimpCanvasLayerBoundaryPrivate *private = GET_PRIVATE (item);
if (private->layer)
return GIMP_CANVAS_ITEM_CLASS (parent_class)->get_extents (item, shell);
return GIMP_CANVAS_ITEM_CLASS (parent_class)->get_extents (item);
return NULL;
}
static void
gimp_canvas_layer_boundary_stroke (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr)
{
GimpCanvasLayerBoundaryPrivate *private = GET_PRIVATE (item);
cairo_translate (cr, -shell->offset_x, -shell->offset_y);
gimp_canvas_set_layer_style (gimp_canvas_item_get_canvas (item), cr,
private->layer);
cairo_stroke (cr);

View File

@ -69,10 +69,8 @@ static void gimp_canvas_line_get_property (GObject *object,
GValue *value,
GParamSpec *pspec);
static void gimp_canvas_line_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr);
static cairo_region_t * gimp_canvas_line_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell);
static cairo_region_t * gimp_canvas_line_get_extents (GimpCanvasItem *item);
G_DEFINE_TYPE (GimpCanvasLine, gimp_canvas_line, GIMP_TYPE_CANVAS_ITEM)
@ -206,7 +204,6 @@ gimp_canvas_line_transform (GimpCanvasItem *item,
static void
gimp_canvas_line_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr)
{
gdouble x1, y1;
@ -221,8 +218,7 @@ gimp_canvas_line_draw (GimpCanvasItem *item,
}
static cairo_region_t *
gimp_canvas_line_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell)
gimp_canvas_line_get_extents (GimpCanvasItem *item)
{
cairo_rectangle_int_t rectangle;
gdouble x1, y1;

View File

@ -34,12 +34,9 @@
/* local function prototypes */
static void gimp_canvas_passe_partout_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr);
static cairo_region_t * gimp_canvas_passe_partout_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell);
static cairo_region_t * gimp_canvas_passe_partout_get_extents (GimpCanvasItem *item);
static void gimp_canvas_passe_partout_fill (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr);
@ -66,22 +63,21 @@ gimp_canvas_passe_partout_init (GimpCanvasPassePartout *passe_partout)
static void
gimp_canvas_passe_partout_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr)
{
GimpDisplayShell *shell = gimp_canvas_item_get_shell (item);
gint w, h;
gimp_display_shell_draw_get_scaled_image_size (shell, &w, &h);
cairo_rectangle (cr, - shell->offset_x, - shell->offset_y, w, h);
GIMP_CANVAS_ITEM_CLASS (parent_class)->draw (item, shell, cr);
GIMP_CANVAS_ITEM_CLASS (parent_class)->draw (item, cr);
}
static cairo_region_t *
gimp_canvas_passe_partout_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell)
gimp_canvas_passe_partout_get_extents (GimpCanvasItem *item)
{
GimpDisplayShell *shell = gimp_canvas_item_get_shell (item);
cairo_rectangle_int_t rectangle;
cairo_region_t *inner;
cairo_region_t *outer;
@ -94,7 +90,7 @@ gimp_canvas_passe_partout_get_extents (GimpCanvasItem *item,
outer = cairo_region_create_rectangle (&rectangle);
inner = GIMP_CANVAS_ITEM_CLASS (parent_class)->get_extents (item, shell);
inner = GIMP_CANVAS_ITEM_CLASS (parent_class)->get_extents (item);
cairo_region_subtract (outer, inner);
@ -103,11 +99,8 @@ gimp_canvas_passe_partout_get_extents (GimpCanvasItem *item,
static void
gimp_canvas_passe_partout_fill (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr)
{
cairo_translate (cr, -shell->offset_x, -shell->offset_y);
cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD);
cairo_clip (cr);

View File

@ -75,12 +75,9 @@ static void gimp_canvas_path_get_property (GObject *object,
GValue *value,
GParamSpec *pspec);
static void gimp_canvas_path_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr);
static cairo_region_t * gimp_canvas_path_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell);
static cairo_region_t * gimp_canvas_path_get_extents (GimpCanvasItem *item);
static void gimp_canvas_path_stroke (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr);
@ -223,7 +220,6 @@ gimp_canvas_path_get_property (GObject *object,
static void
gimp_canvas_path_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr)
{
GimpCanvasPathPrivate *private = GET_PRIVATE (item);
@ -231,8 +227,7 @@ gimp_canvas_path_draw (GimpCanvasItem *item,
if (private->path)
{
cairo_save (cr);
cairo_translate (cr, -shell->offset_x, -shell->offset_y);
cairo_scale (cr, shell->scale_x, shell->scale_y);
gimp_canvas_item_transform (item, cr);
cairo_translate (cr, private->x, private->y);
cairo_append_path (cr, private->path);
@ -246,8 +241,7 @@ gimp_canvas_path_draw (GimpCanvasItem *item,
}
static cairo_region_t *
gimp_canvas_path_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell)
gimp_canvas_path_get_extents (GimpCanvasItem *item)
{
GimpCanvasPathPrivate *private = GET_PRIVATE (item);
GtkWidget *canvas = gimp_canvas_item_get_canvas (item);
@ -261,8 +255,7 @@ gimp_canvas_path_get_extents (GimpCanvasItem *item,
cr = gdk_cairo_create (gtk_widget_get_window (canvas));
cairo_save (cr);
cairo_translate (cr, -shell->offset_x, -shell->offset_y);
cairo_scale (cr, shell->scale_x, shell->scale_y);
gimp_canvas_item_transform (item, cr);
cairo_translate (cr, private->x, private->y);
cairo_append_path (cr, private->path);
@ -295,7 +288,6 @@ gimp_canvas_path_get_extents (GimpCanvasItem *item,
static void
gimp_canvas_path_stroke (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr)
{
GimpCanvasPathPrivate *private = GET_PRIVATE (item);
@ -323,7 +315,7 @@ gimp_canvas_path_stroke (GimpCanvasItem *item,
break;
case GIMP_PATH_STYLE_DEFAULT:
GIMP_CANVAS_ITEM_CLASS (parent_class)->stroke (item, shell, cr);
GIMP_CANVAS_ITEM_CLASS (parent_class)->stroke (item, cr);
break;
}
}

View File

@ -69,10 +69,8 @@ static void gimp_canvas_pen_get_property (GObject *object,
guint property_id,
GValue *value,
GParamSpec *pspec);
static cairo_region_t * gimp_canvas_pen_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell);
static cairo_region_t * gimp_canvas_pen_get_extents (GimpCanvasItem *item);
static void gimp_canvas_pen_stroke (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr);
@ -159,13 +157,12 @@ gimp_canvas_pen_get_property (GObject *object,
}
static cairo_region_t *
gimp_canvas_pen_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell)
gimp_canvas_pen_get_extents (GimpCanvasItem *item)
{
GimpCanvasPenPrivate *private = GET_PRIVATE (item);
cairo_region_t *region;
region = GIMP_CANVAS_ITEM_CLASS (parent_class)->get_extents (item, shell);
region = GIMP_CANVAS_ITEM_CLASS (parent_class)->get_extents (item);
if (region)
{
@ -186,7 +183,6 @@ gimp_canvas_pen_get_extents (GimpCanvasItem *item,
static void
gimp_canvas_pen_stroke (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr)
{
GimpCanvasPenPrivate *private = GET_PRIVATE (item);

View File

@ -69,10 +69,8 @@ static void gimp_canvas_polygon_get_property (GObject *obje
GValue *value,
GParamSpec *pspec);
static void gimp_canvas_polygon_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr);
static cairo_region_t * gimp_canvas_polygon_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell);
static cairo_region_t * gimp_canvas_polygon_get_extents (GimpCanvasItem *item);
G_DEFINE_TYPE (GimpCanvasPolygon, gimp_canvas_polygon,
@ -218,7 +216,6 @@ gimp_canvas_polygon_transform (GimpCanvasItem *item,
static void
gimp_canvas_polygon_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr)
{
GimpCanvasPolygonPrivate *private = GET_PRIVATE (item);
@ -245,8 +242,7 @@ gimp_canvas_polygon_draw (GimpCanvasItem *item,
}
static cairo_region_t *
gimp_canvas_polygon_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell)
gimp_canvas_polygon_get_extents (GimpCanvasItem *item)
{
GimpCanvasPolygonPrivate *private = GET_PRIVATE (item);
cairo_rectangle_int_t rectangle;

View File

@ -82,10 +82,8 @@ static void gimp_canvas_progress_get_property (GObject *obj
GValue *value,
GParamSpec *pspec);
static void gimp_canvas_progress_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr);
static cairo_region_t * gimp_canvas_progress_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell);
static cairo_region_t * gimp_canvas_progress_get_extents (GimpCanvasItem *item);
static GimpProgress * gimp_canvas_progress_start (GimpProgress *progress,
const gchar *message,
@ -268,7 +266,6 @@ gimp_canvas_progress_transform (GimpCanvasItem *item,
static void
gimp_canvas_progress_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr)
{
GimpCanvasProgressPrivate *private = GET_PRIVATE (item);
@ -307,8 +304,7 @@ gimp_canvas_progress_draw (GimpCanvasItem *item,
}
static cairo_region_t *
gimp_canvas_progress_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell)
gimp_canvas_progress_get_extents (GimpCanvasItem *item)
{
cairo_rectangle_int_t rectangle;
gdouble x, y;

View File

@ -71,10 +71,8 @@ static void gimp_canvas_rectangle_get_property (GObject *ob
GValue *value,
GParamSpec *pspec);
static void gimp_canvas_rectangle_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr);
static cairo_region_t * gimp_canvas_rectangle_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell);
static cairo_region_t * gimp_canvas_rectangle_get_extents (GimpCanvasItem *item);
G_DEFINE_TYPE (GimpCanvasRectangle, gimp_canvas_rectangle,
@ -246,7 +244,6 @@ gimp_canvas_rectangle_transform (GimpCanvasItem *item,
static void
gimp_canvas_rectangle_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr)
{
GimpCanvasRectanglePrivate *private = GET_PRIVATE (item);
@ -264,8 +261,7 @@ gimp_canvas_rectangle_draw (GimpCanvasItem *item,
}
static cairo_region_t *
gimp_canvas_rectangle_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell)
gimp_canvas_rectangle_get_extents (GimpCanvasItem *item)
{
GimpCanvasRectanglePrivate *private = GET_PRIVATE (item);
cairo_rectangle_int_t rectangle;

View File

@ -76,10 +76,8 @@ static void gimp_canvas_rectangle_guides_get_property (GObject
GValue *value,
GParamSpec *pspec);
static void gimp_canvas_rectangle_guides_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr);
static cairo_region_t * gimp_canvas_rectangle_guides_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell);
static cairo_region_t * gimp_canvas_rectangle_guides_get_extents (GimpCanvasItem *item);
G_DEFINE_TYPE (GimpCanvasRectangleGuides, gimp_canvas_rectangle_guides,
@ -270,7 +268,6 @@ draw_vline (cairo_t *cr,
static void
gimp_canvas_rectangle_guides_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr)
{
GimpCanvasRectangleGuidesPrivate *private = GET_PRIVATE (item);
@ -358,8 +355,7 @@ gimp_canvas_rectangle_guides_draw (GimpCanvasItem *item,
}
static cairo_region_t *
gimp_canvas_rectangle_guides_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell)
gimp_canvas_rectangle_guides_get_extents (GimpCanvasItem *item)
{
GimpCanvasRectangleGuidesPrivate *private = GET_PRIVATE (item);

View File

@ -74,15 +74,11 @@ static void gimp_canvas_sample_point_get_property (GObject
GValue *value,
GParamSpec *pspec);
static void gimp_canvas_sample_point_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr);
static cairo_region_t * gimp_canvas_sample_point_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell);
static cairo_region_t * gimp_canvas_sample_point_get_extents (GimpCanvasItem *item);
static void gimp_canvas_sample_point_stroke (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr);
static void gimp_canvas_sample_point_fill (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr);
@ -215,7 +211,6 @@ gimp_canvas_sample_point_transform (GimpCanvasItem *item,
static void
gimp_canvas_sample_point_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr)
{
GimpCanvasSamplePointPrivate *private = GET_PRIVATE (item);
@ -257,8 +252,7 @@ gimp_canvas_sample_point_draw (GimpCanvasItem *item,
}
static cairo_region_t *
gimp_canvas_sample_point_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell)
gimp_canvas_sample_point_get_extents (GimpCanvasItem *item)
{
cairo_rectangle_int_t rectangle;
gdouble x, y;
@ -285,7 +279,6 @@ gimp_canvas_sample_point_get_extents (GimpCanvasItem *item,
static void
gimp_canvas_sample_point_stroke (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr)
{
GimpCanvasSamplePointPrivate *private = GET_PRIVATE (item);
@ -298,13 +291,12 @@ gimp_canvas_sample_point_stroke (GimpCanvasItem *item,
}
else
{
GIMP_CANVAS_ITEM_CLASS (parent_class)->stroke (item, shell, cr);
GIMP_CANVAS_ITEM_CLASS (parent_class)->stroke (item, cr);
}
}
static void
gimp_canvas_sample_point_fill (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr)
{
GimpCanvasSamplePointPrivate *private = GET_PRIVATE (item);
@ -317,7 +309,7 @@ gimp_canvas_sample_point_fill (GimpCanvasItem *item,
}
else
{
GIMP_CANVAS_ITEM_CLASS (parent_class)->fill (item, shell, cr);
GIMP_CANVAS_ITEM_CLASS (parent_class)->fill (item, cr);
}
}

View File

@ -71,10 +71,8 @@ static void gimp_canvas_text_cursor_get_property (GObject *
GValue *value,
GParamSpec *pspec);
static void gimp_canvas_text_cursor_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr);
static cairo_region_t * gimp_canvas_text_cursor_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell);
static cairo_region_t * gimp_canvas_text_cursor_get_extents (GimpCanvasItem *item);
G_DEFINE_TYPE (GimpCanvasTextCursor, gimp_canvas_text_cursor,
@ -238,7 +236,6 @@ gimp_canvas_text_cursor_transform (GimpCanvasItem *item,
static void
gimp_canvas_text_cursor_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr)
{
GimpCanvasTextCursorPrivate *private = GET_PRIVATE (item);
@ -267,8 +264,7 @@ gimp_canvas_text_cursor_draw (GimpCanvasItem *item,
}
static cairo_region_t *
gimp_canvas_text_cursor_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell)
gimp_canvas_text_cursor_get_extents (GimpCanvasItem *item)
{
GimpCanvasTextCursorPrivate *private = GET_PRIVATE (item);
cairo_rectangle_int_t rectangle;

View File

@ -79,10 +79,8 @@ static void gimp_canvas_transform_guides_get_property (GObject
GValue *value,
GParamSpec *pspec);
static void gimp_canvas_transform_guides_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr);
static cairo_region_t * gimp_canvas_transform_guides_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell);
static cairo_region_t * gimp_canvas_transform_guides_get_extents (GimpCanvasItem *item);
G_DEFINE_TYPE (GimpCanvasTransformGuides, gimp_canvas_transform_guides,
@ -335,7 +333,6 @@ draw_vline (cairo_t *cr,
static void
gimp_canvas_transform_guides_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr)
{
GimpCanvasTransformGuidesPrivate *private = GET_PRIVATE (item);
@ -523,8 +520,7 @@ gimp_canvas_transform_guides_draw (GimpCanvasItem *item,
}
static cairo_region_t *
gimp_canvas_transform_guides_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell)
gimp_canvas_transform_guides_get_extents (GimpCanvasItem *item)
{
gdouble x1, y1;
gdouble x2, y2;

View File

@ -92,10 +92,8 @@ static void gimp_canvas_transform_preview_get_property (GObject
GParamSpec *pspec);
static void gimp_canvas_transform_preview_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr);
static cairo_region_t * gimp_canvas_transform_preview_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell);
static cairo_region_t * gimp_canvas_transform_preview_get_extents (GimpCanvasItem *item);
static void gimp_canvas_transform_preview_draw_quad (GimpDrawable *texture,
cairo_t *cr,
@ -404,7 +402,6 @@ gimp_canvas_transform_preview_transform (GimpCanvasItem *item,
static void
gimp_canvas_transform_preview_draw (GimpCanvasItem *item,
GimpDisplayShell *shell,
cairo_t *cr)
{
GimpCanvasTransformPreviewPrivate *private = GET_PRIVATE (item);
@ -561,8 +558,7 @@ gimp_canvas_transform_preview_draw (GimpCanvasItem *item,
}
static cairo_region_t *
gimp_canvas_transform_preview_get_extents (GimpCanvasItem *item,
GimpDisplayShell *shell)
gimp_canvas_transform_preview_get_extents (GimpCanvasItem *item)
{
cairo_rectangle_int_t rectangle;