[gimp] app: switch gimpbrush-transform.c to C++
- From: N/A <ell src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: switch gimpbrush-transform.c to C++
- Date: Wed, 4 Apr 2018 21:53:58 +0000 (UTC)
commit 565f1f2aa45bc74581e707c25f5667aac69612c2
Author: Ell <ell_se yahoo com>
Date: Wed Apr 4 16:53:00 2018 -0400
app: switch gimpbrush-transform.c to C++
The next commit is going to parallelize gimpbrush-transform using
the gimp_parallel_distribute_foo() functions. To spare us a lot of
boilerplate code, we're going to use C++ lambdas as callback
arguments to these functions.
This commit does the initial conversion of gimpbrush-transform.c to
C++, renaming it to gimpbrush-transform.cc. We do this in a
separate commit, so that the changes are small enough for git to
register this as a renamed file, rather than a new file, so that we
don't lose the file's history.
app/core/Makefile.am | 2 +-
...impbrush-transform.c => gimpbrush-transform.cc} | 61 +++++++++++---------
2 files changed, 34 insertions(+), 29 deletions(-)
---
diff --git a/app/core/Makefile.am b/app/core/Makefile.am
index c3dbeb4..7634dbf 100644
--- a/app/core/Makefile.am
+++ b/app/core/Makefile.am
@@ -84,7 +84,7 @@ libappcore_a_sources = \
gimpbrush-load.c \
gimpbrush-load.h \
gimpbrush-private.h \
- gimpbrush-transform.c \
+ gimpbrush-transform.cc \
gimpbrush-transform.h \
gimpbrushcache.c \
gimpbrushcache.h \
diff --git a/app/core/gimpbrush-transform.c b/app/core/gimpbrush-transform.cc
similarity index 96%
rename from app/core/gimpbrush-transform.c
rename to app/core/gimpbrush-transform.cc
index e1e9fd4..5fcdf26 100644
--- a/app/core/gimpbrush-transform.c
+++ b/app/core/gimpbrush-transform.cc
@@ -24,6 +24,9 @@
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <gegl.h>
+extern "C"
+{
+
#include "libgimpmath/gimpmath.h"
#include "core-types.h"
@@ -123,8 +126,8 @@ gimp_brush_real_transform_mask (GimpBrush *brush,
gint dest_height;
gint blur_radius;
gint x, y;
- gdouble blx, brx, tlx, trx;
- gdouble bly, bry, tly, try;
+ gdouble b_lx, b_rx, t_lx, t_rx;
+ gdouble b_ly, b_ry, t_ly, t_ry;
gdouble src_tl_to_tr_delta_x;
gdouble src_tl_to_tr_delta_y;
gdouble src_tl_to_bl_delta_x;
@@ -238,23 +241,23 @@ gimp_brush_real_transform_mask (GimpBrush *brush,
return result;
}*/
- gimp_matrix3_transform_point (&matrix, 0, 0, &tlx, &tly);
- gimp_matrix3_transform_point (&matrix, dest_width, 0, &trx, &try);
- gimp_matrix3_transform_point (&matrix, 0, dest_height, &blx, &bly);
- gimp_matrix3_transform_point (&matrix, dest_width, dest_height, &brx, &bry);
+ gimp_matrix3_transform_point (&matrix, 0, 0, &t_lx, &t_ly);
+ gimp_matrix3_transform_point (&matrix, dest_width, 0, &t_rx, &t_ry);
+ gimp_matrix3_transform_point (&matrix, 0, dest_height, &b_lx, &b_ly);
+ gimp_matrix3_transform_point (&matrix, dest_width, dest_height, &b_rx, &b_ry);
/* in image space, calc U (what was horizontal originally)
* note: double precision
*/
- src_tl_to_tr_delta_x = trx - tlx;
- src_tl_to_tr_delta_y = try - tly;
+ src_tl_to_tr_delta_x = t_rx - t_lx;
+ src_tl_to_tr_delta_y = t_ry - t_ly;
/* in image space, calc V (what was vertical originally)
* note: double precision
*/
- src_tl_to_bl_delta_x = blx - tlx;
- src_tl_to_bl_delta_y = bly - tly;
+ src_tl_to_bl_delta_x = b_lx - t_lx;
+ src_tl_to_bl_delta_y = b_ly - t_ly;
/* speed optimized, note conversion to int precision */
src_walk_ux_i = (gint) ((src_tl_to_tr_delta_x / dest_width) * int_multiple);
@@ -265,12 +268,12 @@ gimp_brush_real_transform_mask (GimpBrush *brush,
/* initialize current position in source space to the start position (tl)
* speed optimized, note conversion to int precision
*/
- src_space_cur_pos_x_i = (gint) (tlx* int_multiple);
- src_space_cur_pos_y_i = (gint) (tly* int_multiple);
+ src_space_cur_pos_x_i = (gint) (t_lx* int_multiple);
+ src_space_cur_pos_y_i = (gint) (t_ly* int_multiple);
src_space_cur_pos_x = (gint) (src_space_cur_pos_x_i >> fraction_bits);
src_space_cur_pos_y = (gint) (src_space_cur_pos_y_i >> fraction_bits);
- src_space_row_start_x_i = (gint) (tlx* int_multiple);
- src_space_row_start_y_i = (gint) (tly* int_multiple);
+ src_space_row_start_x_i = (gint) (t_lx* int_multiple);
+ src_space_row_start_y_i = (gint) (t_ly* int_multiple);
for (y = 0; y < dest_height; y++)
@@ -416,8 +419,8 @@ gimp_brush_real_transform_pixmap (GimpBrush *brush,
gint dest_height;
gint blur_radius;
gint x, y;
- gdouble blx, brx, tlx, trx;
- gdouble bly, bry, tly, try;
+ gdouble b_lx, b_rx, t_lx, t_rx;
+ gdouble b_ly, b_ry, t_ly, t_ry;
gdouble src_tl_to_tr_delta_x;
gdouble src_tl_to_tr_delta_y;
gdouble src_tl_to_bl_delta_x;
@@ -523,23 +526,23 @@ gimp_brush_real_transform_pixmap (GimpBrush *brush,
dest = gimp_temp_buf_get_data (result);
src = gimp_temp_buf_get_data (source);
- gimp_matrix3_transform_point (&matrix, 0, 0, &tlx, &tly);
- gimp_matrix3_transform_point (&matrix, dest_width, 0, &trx, &try);
- gimp_matrix3_transform_point (&matrix, 0, dest_height, &blx, &bly);
- gimp_matrix3_transform_point (&matrix, dest_width, dest_height, &brx, &bry);
+ gimp_matrix3_transform_point (&matrix, 0, 0, &t_lx, &t_ly);
+ gimp_matrix3_transform_point (&matrix, dest_width, 0, &t_rx, &t_ry);
+ gimp_matrix3_transform_point (&matrix, 0, dest_height, &b_lx, &b_ly);
+ gimp_matrix3_transform_point (&matrix, dest_width, dest_height, &b_rx, &b_ry);
/* in image space, calc U (what was horizontal originally)
* note: double precision
*/
- src_tl_to_tr_delta_x = trx - tlx;
- src_tl_to_tr_delta_y = try - tly;
+ src_tl_to_tr_delta_x = t_rx - t_lx;
+ src_tl_to_tr_delta_y = t_ry - t_ly;
/* in image space, calc V (what was vertical originally)
* note: double precision
*/
- src_tl_to_bl_delta_x = blx - tlx;
- src_tl_to_bl_delta_y = bly - tly;
+ src_tl_to_bl_delta_x = b_lx - t_lx;
+ src_tl_to_bl_delta_y = b_ly - t_ly;
/* speed optimized, note conversion to int precision */
src_walk_ux_i = (gint) ((src_tl_to_tr_delta_x / dest_width)* int_multiple);
@@ -550,12 +553,12 @@ gimp_brush_real_transform_pixmap (GimpBrush *brush,
/* initialize current position in source space to the start position (tl)
* speed optimized, note conversion to int precision
*/
- src_space_cur_pos_x_i = (gint) (tlx* int_multiple);
- src_space_cur_pos_y_i = (gint) (tly* int_multiple);
+ src_space_cur_pos_x_i = (gint) (t_lx* int_multiple);
+ src_space_cur_pos_y_i = (gint) (t_ly* int_multiple);
src_space_cur_pos_x = (gint) (src_space_cur_pos_x_i >> fraction_bits);
src_space_cur_pos_y = (gint) (src_space_cur_pos_y_i >> fraction_bits);
- src_space_row_start_x_i = (gint) (tlx* int_multiple);
- src_space_row_start_y_i = (gint) (tly* int_multiple);
+ src_space_row_start_x_i = (gint) (t_lx* int_multiple);
+ src_space_row_start_y_i = (gint) (t_ly* int_multiple);
for (y = 0; y < dest_height; y++)
@@ -952,3 +955,5 @@ gimp_brush_transform_adjust_hardness_matrix (gdouble width,
(1.0 - scale) * width / 2.0,
(1.0 - scale) * height / 2.0);
}
+
+} /* extern "C" */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]