[gimp] app: remove the entire brush boundary code from GimpBrushCore
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: remove the entire brush boundary code from GimpBrushCore
- Date: Mon, 4 Apr 2011 19:25:04 +0000 (UTC)
commit d008fcd588fd123fb411053c0bc835b19f930d46
Author: Michael Natterer <mitch gimp org>
Date: Mon Apr 4 21:24:41 2011 +0200
app: remove the entire brush boundary code from GimpBrushCore
app/paint/gimpbrushcore.c | 175 ---------------------------------------------
app/paint/gimpbrushcore.h | 13 ----
2 files changed, 0 insertions(+), 188 deletions(-)
---
diff --git a/app/paint/gimpbrushcore.c b/app/paint/gimpbrushcore.c
index 6fd1813..b20779e 100644
--- a/app/paint/gimpbrushcore.c
+++ b/app/paint/gimpbrushcore.c
@@ -25,29 +25,24 @@
#include "paint-types.h"
-#include "base/boundary.h"
#include "base/pixel-region.h"
#include "base/temp-buf.h"
#include "paint-funcs/paint-funcs.h"
#include "core/gimpbrush.h"
-#include "core/gimpbrushgenerated.h"
#include "core/gimpdrawable.h"
#include "core/gimpdynamics.h"
#include "core/gimpdynamicsoutput.h"
#include "core/gimperror.h"
#include "core/gimpimage.h"
#include "core/gimpmarshal.h"
-#include "core/gimpbrush-transform.h"
#include "gimpbrushcore.h"
#include "gimpbrushcore-kernels.h"
-
#include "gimppaintoptions.h"
-
#include "gimp-intl.h"
@@ -216,11 +211,6 @@ gimp_brush_core_init (GimpBrushCore *core)
core->rand = g_rand_new ();
- core->brush_bound_segs = NULL;
- core->n_brush_bound_segs = 0;
- core->brush_bound_width = 0;
- core->brush_bound_height = 0;
-
for (i = 0; i < BRUSH_CORE_SOLID_SUBSAMPLE; i++)
{
for (j = 0; j < BRUSH_CORE_SOLID_SUBSAMPLE; j++)
@@ -310,15 +300,6 @@ gimp_brush_core_finalize (GObject *object)
core->dynamics = NULL;
}
- if (core->brush_bound_segs)
- {
- g_free (core->brush_bound_segs);
- core->brush_bound_segs = NULL;
- core->n_brush_bound_segs = 0;
- core->brush_bound_width = 0;
- core->brush_bound_height = 0;
- }
-
G_OBJECT_CLASS (parent_class)->finalize (object);
}
@@ -894,15 +875,6 @@ gimp_brush_core_real_set_brush (GimpBrushCore *core,
core->main_brush = NULL;
}
- if (core->brush_bound_segs)
- {
- g_free (core->brush_bound_segs);
- core->brush_bound_segs = NULL;
- core->n_brush_bound_segs = 0;
- core->brush_bound_width = 0;
- core->brush_bound_height = 0;
- }
-
core->main_brush = brush;
if (core->main_brush)
@@ -948,153 +920,6 @@ gimp_brush_core_set_dynamics (GimpBrushCore *core,
}
void
-gimp_brush_core_create_boundary (GimpBrushCore *core,
- GimpPaintOptions *paint_options)
-{
- TempBuf *mask = NULL;
- gdouble scale;
-
- g_return_if_fail (GIMP_IS_BRUSH_CORE (core));
- g_return_if_fail (core->main_brush != NULL);
- g_return_if_fail (core->brush_bound_segs == NULL);
-
- scale = paint_options->brush_size /
- MAX (core->main_brush->mask->width,
- core->main_brush->mask->height);
-
- if (scale > 0.0)
- {
- scale = gimp_brush_clamp_scale (core->main_brush, scale);
-
- /* Generated brushes are a bit special */
- if (GIMP_IS_BRUSH_GENERATED (core->main_brush))
- {
- GimpBrushGenerated *generated_brush;
- gdouble ratio;
-
- generated_brush = GIMP_BRUSH_GENERATED (core->main_brush);
-
- ratio = gimp_brush_generated_get_aspect_ratio (generated_brush);
-
- g_signal_handlers_block_by_func (generated_brush,
- gimp_brush_core_invalidate_cache,
- core);
-
- gimp_brush_generated_set_aspect_ratio (generated_brush, 1.0);
-
- mask = gimp_brush_transform_mask (core->main_brush,
- 1.0, 0.0, 0.0, 1.0);
-
- gimp_brush_generated_set_aspect_ratio (generated_brush, ratio);
-
- g_signal_handlers_unblock_by_func (generated_brush,
- gimp_brush_core_invalidate_cache,
- core);
- }
- else
- {
- mask = gimp_brush_transform_mask (core->main_brush,
- 1.0, 0.0, 0.0, 1.0);
- }
- }
-
- if (mask)
- {
- PixelRegion PR = { 0, };
-
- pixel_region_init_temp_buf (&PR, mask,
- 0, 0, mask->width, mask->height);
-
- /* Large, complex brush outlines are a performance problem.
- * Smooth the mask in order to obtain a simpler boundary.
- */
- if (mask->width > 32 && mask->height > 32)
- smooth_region (&PR);
-
- core->brush_bound_segs = boundary_find (&PR, BOUNDARY_WITHIN_BOUNDS,
- 0, 0, PR.w, PR.h,
- 0,
- &core->n_brush_bound_segs);
-
- core->brush_bound_width = mask->width;
- core->brush_bound_height = mask->height;
-
- temp_buf_free (mask);
- }
-}
-
-gboolean
-gimp_brush_core_get_transform (GimpBrushCore *core,
- GimpMatrix3 *matrix)
-{
- gdouble scale;
- gdouble angle;
- gdouble aspect_ratio;
- gdouble height;
- gdouble width;
- gdouble scale_x = core->scale;
- gdouble scale_y = core->scale;
-
- g_return_val_if_fail (GIMP_IS_BRUSH_CORE (core), FALSE);
- g_return_val_if_fail (matrix != 0, FALSE);
- g_return_val_if_fail (core->main_brush != NULL, FALSE);
- g_return_val_if_fail (core->brush_bound_segs != NULL, FALSE);
-
- gimp_matrix3_identity (matrix);
-
- scale = core->scale;
- angle = core->angle;
- aspect_ratio = core->aspect_ratio;
-
- /* Generated brushes have their angle applied on top of base angle */
- if (GIMP_IS_BRUSH_GENERATED (core->main_brush))
- {
- GimpBrushGenerated *generated_brush;
- gdouble base_angle;
-
- generated_brush = GIMP_BRUSH_GENERATED (core->main_brush);
-
- base_angle = gimp_brush_generated_get_angle (generated_brush);
-
- angle = angle + base_angle / 360;
-
- if (aspect_ratio == 0.0)
- aspect_ratio = (gimp_brush_generated_get_aspect_ratio (generated_brush) - 1) / 19.0 * 20.0;
- }
-
- height = core->brush_bound_width;
- width = core->brush_bound_height;
-
- if (aspect_ratio < 0.0)
- {
- scale_x = scale * (1.0 - (fabs (aspect_ratio) / 20.0));
- scale_y = scale;
- }
- else if (aspect_ratio > 0.0)
- {
- scale_x = scale;
- scale_y = scale * (1.0 - (aspect_ratio / 20.0));
- }
-
-
- if (scale > 0.0)
- {
- scale = gimp_brush_clamp_scale (core->main_brush, scale);
-
- gimp_brush_transform_matrix (height, width,
- scale, aspect_ratio, angle, matrix);
-
- /* FIXME. Do noy use scale_x/scale_y */
- core->transformed_brush_bound_width = core->brush_bound_width * scale_x;
- core->transformed_brush_bound_height = core->brush_bound_height * scale_y;
-
- return TRUE;
- }
-
- return FALSE;
-}
-
-void
gimp_brush_core_paste_canvas (GimpBrushCore *core,
GimpDrawable *drawable,
const GimpCoords *coords,
diff --git a/app/paint/gimpbrushcore.h b/app/paint/gimpbrushcore.h
index 2381f52..2bbd149 100644
--- a/app/paint/gimpbrushcore.h
+++ b/app/paint/gimpbrushcore.h
@@ -82,14 +82,6 @@ struct _GimpBrushCore
gdouble jitter_lut_y[BRUSH_CORE_JITTER_LUTSIZE];
GRand *rand;
-
- /* don't use these... */
- BoundSeg *brush_bound_segs;
- gint n_brush_bound_segs;
- gint brush_bound_width;
- gint brush_bound_height;
- gint transformed_brush_bound_width;
- gint transformed_brush_bound_height;
};
struct _GimpBrushCoreClass
@@ -119,11 +111,6 @@ void gimp_brush_core_set_brush (GimpBrushCore *core,
void gimp_brush_core_set_dynamics (GimpBrushCore *core,
GimpDynamics *dynamics);
-void gimp_brush_core_create_boundary(GimpBrushCore *core,
- GimpPaintOptions *options);
-gboolean gimp_brush_core_get_transform (GimpBrushCore *core,
- GimpMatrix3 *matrix);
-
void gimp_brush_core_paste_canvas (GimpBrushCore *core,
GimpDrawable *drawable,
const GimpCoords *coords,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]