app: add a protected gimp_tool_transform_grid_get_handle() function

... which can be used by subclasses to retrieve the currently-
active handle.
This commit is contained in:
Ell 2020-01-06 16:37:12 +02:00
parent 0f697b897f
commit 4ddf1afb44
2 changed files with 29 additions and 12 deletions

View File

@ -196,7 +196,8 @@ static gboolean gimp_tool_transform_grid_get_cursor (GimpToolWidget *
GimpCursorModifier *modifier); GimpCursorModifier *modifier);
static GimpTransformHandle static GimpTransformHandle
gimp_tool_transform_grid_get_handle (GimpToolTransformGrid *grid, gimp_tool_transform_grid_get_handle_for_coords
(GimpToolTransformGrid *grid,
const GimpCoords *coords); const GimpCoords *coords);
static void gimp_tool_transform_grid_update_hilight (GimpToolTransformGrid *grid); static void gimp_tool_transform_grid_update_hilight (GimpToolTransformGrid *grid);
static void gimp_tool_transform_grid_update_box (GimpToolTransformGrid *grid); static void gimp_tool_transform_grid_update_box (GimpToolTransformGrid *grid);
@ -1983,7 +1984,7 @@ gimp_tool_transform_grid_hit (GimpToolWidget *widget,
GimpToolTransformGrid *grid = GIMP_TOOL_TRANSFORM_GRID (widget); GimpToolTransformGrid *grid = GIMP_TOOL_TRANSFORM_GRID (widget);
GimpTransformHandle handle; GimpTransformHandle handle;
handle = gimp_tool_transform_grid_get_handle (grid, coords); handle = gimp_tool_transform_grid_get_handle_for_coords (grid, coords);
if (handle != GIMP_TRANSFORM_HANDLE_NONE) if (handle != GIMP_TRANSFORM_HANDLE_NONE)
return GIMP_HIT_DIRECT; return GIMP_HIT_DIRECT;
@ -2001,7 +2002,7 @@ gimp_tool_transform_grid_hover (GimpToolWidget *widget,
GimpToolTransformGridPrivate *private = grid->private; GimpToolTransformGridPrivate *private = grid->private;
GimpTransformHandle handle; GimpTransformHandle handle;
handle = gimp_tool_transform_grid_get_handle (grid, coords); handle = gimp_tool_transform_grid_get_handle_for_coords (grid, coords);
if (handle == GIMP_TRANSFORM_HANDLE_NONE) if (handle == GIMP_TRANSFORM_HANDLE_NONE)
{ {
@ -2303,8 +2304,8 @@ gimp_tool_transform_grid_get_cursor (GimpToolWidget *widget,
} }
static GimpTransformHandle static GimpTransformHandle
gimp_tool_transform_grid_get_handle (GimpToolTransformGrid *grid, gimp_tool_transform_grid_get_handle_for_coords (GimpToolTransformGrid *grid,
const GimpCoords *coords) const GimpCoords *coords)
{ {
GimpToolTransformGridPrivate *private = grid->private; GimpToolTransformGridPrivate *private = grid->private;
GimpTransformHandle i; GimpTransformHandle i;
@ -2478,3 +2479,15 @@ gimp_tool_transform_grid_new (GimpDisplayShell *shell,
"y2", y2, "y2", y2,
NULL); NULL);
} }
/* protected functions */
GimpTransformHandle
gimp_tool_transform_grid_get_handle (GimpToolTransformGrid *grid)
{
g_return_val_if_fail (GIMP_IS_TOOL_TRANSFORM_GRID (grid),
GIMP_TRANSFORM_HANDLE_NONE);
return grid->private->handle;
}

View File

@ -82,14 +82,18 @@ struct _GimpToolTransformGridClass
}; };
GType gimp_tool_transform_grid_get_type (void) G_GNUC_CONST; GType gimp_tool_transform_grid_get_type (void) G_GNUC_CONST;
GimpToolWidget * gimp_tool_transform_grid_new (GimpDisplayShell *shell, GimpToolWidget * gimp_tool_transform_grid_new (GimpDisplayShell *shell,
const GimpMatrix3 *transform, const GimpMatrix3 *transform,
gdouble x1, gdouble x1,
gdouble y1, gdouble y1,
gdouble x2, gdouble x2,
gdouble y2); gdouble y2);
/* protected functions */
GimpTransformHandle gimp_tool_transform_grid_get_handle (GimpToolTransformGrid *grid);
#endif /* __GIMP_TOOL_TRANSFORM_GRID_H__ */ #endif /* __GIMP_TOOL_TRANSFORM_GRID_H__ */