X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fdisplay%2Fnr-filter-gaussian.h;h=af6dc0d2a3386146365479cdf07875f3bf3db3f9;hb=458474e67b607fee4471a63501d7b83eb2b68439;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..af6dc0d2a 100644 --- a/src/display/nr-filter-gaussian.h +++ b/src/display/nr-filter-gaussian.h @@ -4,18 +4,28 @@ /* * Gaussian blur renderer * - * Author: + * Authors: * Niko Kiirala + * bulia byak * - * 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 { @@ -24,7 +34,7 @@ public: 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); /** @@ -52,8 +62,8 @@ private: 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); + 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) {