index f6afc109b114f1608e62b38176b0efca20364afc..3ff3e3d22bf36a8945eff324a72207279539f7a3 100644 (file)
#include "display/nr-filter-primitive.h"
#include "display/nr-filter-slot.h"
#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-pixblock.h"
#include "libnr/nr-matrix.h"
+#include "libnr/nr-rect-l.h"
enum {
BLUR_QUALITY_BEST = 2,
enum {
BLUR_QUALITY_BEST = 2,
static FilterPrimitive *create();
virtual ~FilterGaussian();
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
/**
* Set the standard deviation value for gaussian blur. Deviation along
private:
double _deviation_x;
double _deviation_y;
private:
double _deviation_x;
double _deviation_y;
-
- int _kernel_size(double expansionX, double expansionY);
- void _make_kernel(double *kernel, double deviation, double expansion);
- int _effect_area_scr(double deviation, double expansion);
- 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);
- }
};
};