X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fdisplay%2Fnr-filter-gaussian.h;h=c6b0b72b962c5de540978a7d0523a9f54dc2fd1c;hb=4ef05efc2175d330cdd17e09e855b1daf1436c38;hp=445364a6cff89eaaaaa0e6210516d036b62319b6;hpb=36a048753a41b465ae130b361fb3b68c605e3e86;p=inkscape.git diff --git a/src/display/nr-filter-gaussian.h b/src/display/nr-filter-gaussian.h index 445364a6c..c6b0b72b9 100644 --- a/src/display/nr-filter-gaussian.h +++ b/src/display/nr-filter-gaussian.h @@ -4,26 +4,38 @@ /* * 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 "libnr/nr-pixblock.h" #include "libnr/nr-matrix.h" +enum { + BLUR_QUALITY_BEST = 2, + BLUR_QUALITY_BETTER = 1, + BLUR_QUALITY_NORMAL = 0, + BLUR_QUALITY_WORSE = -1, + BLUR_QUALITY_WORST = -2 +}; + namespace NR { class FilterGaussian : public FilterPrimitive { public: FilterGaussian(); static FilterPrimitive *create(); + virtual ~FilterGaussian(); - virtual int render(NRPixBlock **pb, Matrix const &trans); + virtual int render(FilterSlot &slot, Matrix const &trans); virtual int get_enlarge(Matrix const &m); /** @@ -46,22 +58,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); - } };