X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fdisplay%2Fnr-filter-gaussian.h;h=3ff3e3d22bf36a8945eff324a72207279539f7a3;hb=77eda576f455eeb23c7b92510f38bc60738473ab;hp=af6dc0d2a3386146365479cdf07875f3bf3db3f9;hpb=11aeef8c10cbb3d91fb17a03c2048815814803c1;p=inkscape.git diff --git a/src/display/nr-filter-gaussian.h b/src/display/nr-filter-gaussian.h index af6dc0d2a..3ff3e3d22 100644 --- a/src/display/nr-filter-gaussian.h +++ b/src/display/nr-filter-gaussian.h @@ -7,6 +7,7 @@ * Authors: * Niko Kiirala * bulia byak + * Jasper van de Gronde * * Copyright (C) 2006 authors * @@ -15,8 +16,10 @@ #include "display/nr-filter-primitive.h" #include "display/nr-filter-slot.h" +#include "display/nr-filter-units.h" #include "libnr/nr-pixblock.h" #include "libnr/nr-matrix.h" +#include "libnr/nr-rect-l.h" enum { BLUR_QUALITY_BEST = 2, @@ -34,8 +37,9 @@ public: static FilterPrimitive *create(); virtual ~FilterGaussian(); - virtual int render(FilterSlot &slot, Matrix const &trans); - virtual int get_enlarge(Matrix const &m); + virtual int render(FilterSlot &slot, FilterUnits const &units); + virtual void area_enlarge(NRRectL &area, Matrix const &m); + virtual FilterTraits get_input_traits(); /** * Set the standard deviation value for gaussian blur. Deviation along @@ -57,22 +61,6 @@ public: private: double _deviation_x; double _deviation_y; - - int _kernel_size(Matrix const &trans); - void _make_kernel(double *kernel, double deviation, double expansion); - int _effect_area_scr_x(Matrix const &trans); - int _effect_area_scr_y(Matrix const &trans); - int _effect_subsample_step(int scr_len_x, int quality); - int _effect_subsample_step_log2(int scr_len_x, int quality); - - inline int _min(int const a, int const b) - { - return ((a < b) ? a : b); - } - inline int _max(int const a, int const b) - { - return ((a > b) ? a : b); - } };