X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fdisplay%2Fnr-filter-gaussian.h;h=3ff3e3d22bf36a8945eff324a72207279539f7a3;hb=77eda576f455eeb23c7b92510f38bc60738473ab;hp=c3bf398c99f4bbf376d2dc013bf3e9ace59f73d1;hpb=a72861cd83f11ef8b1247abca181a3ad31df0307;p=inkscape.git diff --git a/src/display/nr-filter-gaussian.h b/src/display/nr-filter-gaussian.h index c3bf398c9..3ff3e3d22 100644 --- a/src/display/nr-filter-gaussian.h +++ b/src/display/nr-filter-gaussian.h @@ -4,17 +4,30 @@ /* * Gaussian blur renderer * - * Author: + * Authors: * Niko Kiirala + * bulia byak + * Jasper van de Gronde * - * Copyright (C) 2006 Niko Kiirala + * Copyright (C) 2006 authors * * Released under GNU GPL, read the file 'COPYING' for more information */ #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, + BLUR_QUALITY_BETTER = 1, + BLUR_QUALITY_NORMAL = 0, + BLUR_QUALITY_WORSE = -1, + BLUR_QUALITY_WORST = -2 +}; namespace NR { @@ -24,8 +37,9 @@ public: static FilterPrimitive *create(); virtual ~FilterGaussian(); - virtual int render(NRPixBlock **pb, 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 @@ -47,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 _effect_subsample_step_log2(int scr_len_x); - - 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); - } };