app: add gimp_brush_core_get_brush_pixmap()
In GimpBrushCore, replace the private gimp_brush_core_transform_pixmap() function with a public gimp_brush_core_get_brush_pixmap() function, which, similarly to gimp_brush_core_get_brush_mask(), returns the transformed brush pixmap, and can be used by subclasses.
This commit is contained in:
@ -103,10 +103,6 @@ static const GimpTempBuf *
|
|||||||
gimp_brush_core_transform_mask (GimpBrushCore *core,
|
gimp_brush_core_transform_mask (GimpBrushCore *core,
|
||||||
GimpBrush *brush,
|
GimpBrush *brush,
|
||||||
GeglNode *op);
|
GeglNode *op);
|
||||||
static const GimpTempBuf *
|
|
||||||
gimp_brush_core_transform_pixmap (GimpBrushCore *core,
|
|
||||||
GimpBrush *brush,
|
|
||||||
GeglNode *op);
|
|
||||||
|
|
||||||
static void gimp_brush_core_invalidate_cache (GimpBrush *brush,
|
static void gimp_brush_core_invalidate_cache (GimpBrush *brush,
|
||||||
GimpBrushCore *core);
|
GimpBrushCore *core);
|
||||||
@ -1046,33 +1042,6 @@ gimp_brush_core_transform_mask (GimpBrushCore *core,
|
|||||||
return core->transform_brush;
|
return core->transform_brush;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const GimpTempBuf *
|
|
||||||
gimp_brush_core_transform_pixmap (GimpBrushCore *core,
|
|
||||||
GimpBrush *brush,
|
|
||||||
GeglNode *op)
|
|
||||||
{
|
|
||||||
const GimpTempBuf *pixmap;
|
|
||||||
|
|
||||||
if (core->scale <= 0.0)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
pixmap = gimp_brush_transform_pixmap (brush,
|
|
||||||
op,
|
|
||||||
core->scale,
|
|
||||||
core->aspect_ratio,
|
|
||||||
core->angle,
|
|
||||||
core->reflect,
|
|
||||||
core->hardness);
|
|
||||||
|
|
||||||
if (pixmap == core->transform_pixmap)
|
|
||||||
return pixmap;
|
|
||||||
|
|
||||||
core->transform_pixmap = pixmap;
|
|
||||||
core->subsample_cache_invalid = TRUE;
|
|
||||||
|
|
||||||
return core->transform_pixmap;
|
|
||||||
}
|
|
||||||
|
|
||||||
const GimpTempBuf *
|
const GimpTempBuf *
|
||||||
gimp_brush_core_get_brush_mask (GimpBrushCore *core,
|
gimp_brush_core_get_brush_mask (GimpBrushCore *core,
|
||||||
const GimpCoords *coords,
|
const GimpCoords *coords,
|
||||||
@ -1115,6 +1084,32 @@ gimp_brush_core_get_brush_mask (GimpBrushCore *core,
|
|||||||
g_return_val_if_reached (NULL);
|
g_return_val_if_reached (NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const GimpTempBuf *
|
||||||
|
gimp_brush_core_get_brush_pixmap (GimpBrushCore *core,
|
||||||
|
GeglNode *op)
|
||||||
|
{
|
||||||
|
const GimpTempBuf *pixmap;
|
||||||
|
|
||||||
|
if (core->scale <= 0.0)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
pixmap = gimp_brush_transform_pixmap (core->brush,
|
||||||
|
op,
|
||||||
|
core->scale,
|
||||||
|
core->aspect_ratio,
|
||||||
|
core->angle,
|
||||||
|
core->reflect,
|
||||||
|
core->hardness);
|
||||||
|
|
||||||
|
if (pixmap == core->transform_pixmap)
|
||||||
|
return pixmap;
|
||||||
|
|
||||||
|
core->transform_pixmap = pixmap;
|
||||||
|
core->subsample_cache_invalid = TRUE;
|
||||||
|
|
||||||
|
return core->transform_pixmap;
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
gimp_brush_core_eval_transform_dynamics (GimpBrushCore *core,
|
gimp_brush_core_eval_transform_dynamics (GimpBrushCore *core,
|
||||||
GimpDrawable *drawable,
|
GimpDrawable *drawable,
|
||||||
@ -1238,7 +1233,7 @@ gimp_brush_core_color_area_with_pixmap (GimpBrushCore *core,
|
|||||||
g_return_if_fail (gimp_brush_get_pixmap (core->brush) != NULL);
|
g_return_if_fail (gimp_brush_get_pixmap (core->brush) != NULL);
|
||||||
|
|
||||||
/* scale the brush */
|
/* scale the brush */
|
||||||
pixmap = gimp_brush_core_transform_pixmap (core, core->brush, op);
|
pixmap = gimp_brush_core_get_brush_pixmap (core, op);
|
||||||
|
|
||||||
if (! pixmap)
|
if (! pixmap)
|
||||||
return;
|
return;
|
||||||
|
@ -136,6 +136,9 @@ const GimpTempBuf * gimp_brush_core_get_brush_mask
|
|||||||
GeglNode *op,
|
GeglNode *op,
|
||||||
GimpBrushApplicationMode brush_hardness,
|
GimpBrushApplicationMode brush_hardness,
|
||||||
gdouble dynamic_hardness);
|
gdouble dynamic_hardness);
|
||||||
|
const GimpTempBuf * gimp_brush_core_get_brush_pixmap
|
||||||
|
(GimpBrushCore *core,
|
||||||
|
GeglNode *op);
|
||||||
|
|
||||||
void gimp_brush_core_eval_transform_dynamics
|
void gimp_brush_core_eval_transform_dynamics
|
||||||
(GimpBrushCore *paint_core,
|
(GimpBrushCore *paint_core,
|
||||||
|
Reference in New Issue
Block a user