summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNiko Kiirala <niko@kiirala.com>2006-06-22 08:07:44 +0000
committerkiirala <kiirala@users.sourceforge.net>2006-06-22 08:07:44 +0000
commit3adf78b136c13d7d98e5e01ff62350643f4a475f (patch)
tree264c2c51342d11c01d2cc68396b7e2f51f2caab4
parentremove 'non virtual destructor' warning (diff)
downloadinkscape-3adf78b136c13d7d98e5e01ff62350643f4a475f.tar.gz
inkscape-3adf78b136c13d7d98e5e01ff62350643f4a475f.zip
Added virtual destructors for filter primitives. Corrected
attributes-test: filterRes, filterUnits, primitiveUnits and stdDeviation are now recognized. (bzr r1259)
-rw-r--r--src/attributes-test.h8
-rw-r--r--src/display/nr-filter-gaussian.cpp5
-rw-r--r--src/display/nr-filter-gaussian.h1
-rw-r--r--src/display/nr-filter-primitive.cpp5
-rw-r--r--src/display/nr-filter-primitive.h4
5 files changed, 17 insertions, 6 deletions
diff --git a/src/attributes-test.h b/src/attributes-test.h
index 8bf6c70cb..c71b8f04c 100644
--- a/src/attributes-test.h
+++ b/src/attributes-test.h
@@ -105,8 +105,8 @@ struct {char const *attr; bool supported;} const all_attrs[] = {
{"fill-opacity", true},
{"fill-rule", true},
{"filter", true},
- {"filterRes", false},
- {"filterUnits", false},
+ {"filterRes", true},
+ {"filterUnits", true},
{"flood-color", true},
{"flood-opacity", true},
{"font-family", true},
@@ -214,7 +214,7 @@ struct {char const *attr; bool supported;} const all_attrs[] = {
{"pointsAtZ", false},
{"preserveAlpha", false},
{"preserveAspectRatio", true},
- {"primitiveUnits", false},
+ {"primitiveUnits", true},
{"r", true},
{"radius", false},
{"refX", true},
@@ -238,7 +238,7 @@ struct {char const *attr; bool supported;} const all_attrs[] = {
{"specularExponent", false},
{"spreadMethod", true},
{"startOffset", true},
- {"stdDeviation", false},
+ {"stdDeviation", true},
{"stemh", false},
{"stemv", false},
{"stitchTiles", false},
diff --git a/src/display/nr-filter-gaussian.cpp b/src/display/nr-filter-gaussian.cpp
index e31d903f1..255627fa1 100644
--- a/src/display/nr-filter-gaussian.cpp
+++ b/src/display/nr-filter-gaussian.cpp
@@ -33,6 +33,11 @@ FilterPrimitive *FilterGaussian::create()
return new FilterGaussian();
}
+FilterGaussian::~FilterGaussian()
+{
+ // Nothing to do here
+}
+
int FilterGaussian::_kernel_size(Matrix const &trans)
{
int length_x = _effect_area_scr_x(trans);
diff --git a/src/display/nr-filter-gaussian.h b/src/display/nr-filter-gaussian.h
index 445364a6c..c3bf398c9 100644
--- a/src/display/nr-filter-gaussian.h
+++ b/src/display/nr-filter-gaussian.h
@@ -22,6 +22,7 @@ class FilterGaussian : public FilterPrimitive {
public:
FilterGaussian();
static FilterPrimitive *create();
+ virtual ~FilterGaussian();
virtual int render(NRPixBlock **pb, Matrix const &trans);
virtual int get_enlarge(Matrix const &m);
diff --git a/src/display/nr-filter-primitive.cpp b/src/display/nr-filter-primitive.cpp
index 6bdbf9a41..e69a499d4 100644
--- a/src/display/nr-filter-primitive.cpp
+++ b/src/display/nr-filter-primitive.cpp
@@ -29,6 +29,11 @@ FilterPrimitive::FilterPrimitive()
_region_height.set(SVGLength::PERCENT, 100, 0);
}
+FilterPrimitive::~FilterPrimitive()
+{
+ // Nothing to do here
+}
+
int FilterPrimitive::render(NRPixBlock **pb, NRMatrix const *trans) {
if(trans) {
return this->render(pb, *trans);
diff --git a/src/display/nr-filter-primitive.h b/src/display/nr-filter-primitive.h
index 4a7bdb140..64625f4c2 100644
--- a/src/display/nr-filter-primitive.h
+++ b/src/display/nr-filter-primitive.h
@@ -21,8 +21,8 @@ namespace NR {
class FilterPrimitive {
public:
FilterPrimitive();
- virtual ~FilterPrimitive()
- {}
+ virtual ~FilterPrimitive();
+
int render(NRPixBlock **pb, NRMatrix const *trans);
virtual int render(NRPixBlock **pb, Matrix const &trans) = 0;
virtual int get_enlarge(Matrix const &m);