index bc65574ca6982dd9311b3294ce788e5755651e65..1c28fb76fdf7513c548ffbfcd16feb3ae36bfe81 100644 (file)
--- a/src/sp-gaussian-blur.cpp
+++ b/src/sp-gaussian-blur.cpp
-#define __SP_GAUSSIANBLUR_CPP__
-
/** \file
* SVG <gaussianBlur> implementation.
*
* Authors:
* Hugo Rodrigues <haa.rodrigues@gmail.com>
* Niko Kiirala <niko@kiirala.com>
+ * Abhishek Sharma
*
* Copyright (C) 2006,2007 Authors
*
static void sp_gaussianBlur_release(SPObject *object);
static void sp_gaussianBlur_set(SPObject *object, unsigned int key, gchar const *value);
static void sp_gaussianBlur_update(SPObject *object, SPCtx *ctx, guint flags);
-static Inkscape::XML::Node *sp_gaussianBlur_write(SPObject *object, Inkscape::XML::Node *repr, guint flags);
-static void sp_gaussianBlur_build_renderer(SPFilterPrimitive *primitive, NR::Filter *filter);
+static Inkscape::XML::Node *sp_gaussianBlur_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags);
+static void sp_gaussianBlur_build_renderer(SPFilterPrimitive *primitive, Inkscape::Filters::Filter *filter);
static SPFilterPrimitiveClass *gaussianBlur_parent_class;
}
static void
-sp_gaussianBlur_init(SPGaussianBlur *gaussianBlur)
+sp_gaussianBlur_init(SPGaussianBlur */*gaussianBlur*/)
{
}
((SPObjectClass *) gaussianBlur_parent_class)->build(object, document, repr);
}
- sp_object_read_attr(object, "stdDeviation");
+ object->readAttr( "stdDeviation" );
}
sp_gaussianBlur_set(SPObject *object, unsigned int key, gchar const *value)
{
SPGaussianBlur *gaussianBlur = SP_GAUSSIANBLUR(object);
-
+
switch(key) {
case SP_ATTR_STDDEVIATION:
gaussianBlur->stdDeviation.set(value);
static void
sp_gaussianBlur_update(SPObject *object, SPCtx *ctx, guint flags)
{
- if (flags & (SP_OBJECT_MODIFIED_FLAG | SP_OBJECT_STYLE_MODIFIED_FLAG)) {
- sp_object_read_attr(object, "stdDeviation");
+ if (flags & SP_OBJECT_MODIFIED_FLAG) {
+ object->readAttr( "stdDeviation" );
}
if (((SPObjectClass *) gaussianBlur_parent_class)->update) {
* Writes its settings to an incoming repr object, if any.
*/
static Inkscape::XML::Node *
-sp_gaussianBlur_write(SPObject *object, Inkscape::XML::Node *repr, guint flags)
+sp_gaussianBlur_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags)
{
-
- // Inkscape-only object, not copied during an "plain SVG" dump:
- if (flags & SP_OBJECT_WRITE_EXT) {
- if (repr) {
- // is this sane?
- // repr->mergeFrom(SP_OBJECT_REPR(object), "id");
- } else {
- repr = SP_OBJECT_REPR(object)->duplicate(NULL); // FIXME
- }
+ /* TODO: Don't just clone, but create a new repr node and write all
+ * relevant values into it */
+ if (!repr) {
+ repr = SP_OBJECT_REPR(object)->duplicate(doc);
}
if (((SPObjectClass *) gaussianBlur_parent_class)->write) {
- ((SPObjectClass *) gaussianBlur_parent_class)->write(object, repr, flags);
+ ((SPObjectClass *) gaussianBlur_parent_class)->write(object, doc, repr, flags);
}
return repr;
@@ -186,12 +180,12 @@ void sp_gaussianBlur_setDeviation(SPGaussianBlur *blur, float num, float optnum
blur->stdDeviation.setOptNumber(optnum);
}
-static void sp_gaussianBlur_build_renderer(SPFilterPrimitive *primitive, NR::Filter *filter) {
+static void sp_gaussianBlur_build_renderer(SPFilterPrimitive *primitive, Inkscape::Filters::Filter *filter) {
SPGaussianBlur *sp_blur = SP_GAUSSIANBLUR(primitive);
- int handle = filter->add_primitive(NR::NR_FILTER_GAUSSIANBLUR);
- NR::FilterPrimitive *nr_primitive = filter->get_primitive(handle);
- NR::FilterGaussian *nr_blur = dynamic_cast<NR::FilterGaussian*>(nr_primitive);
+ int handle = filter->add_primitive(Inkscape::Filters::NR_FILTER_GAUSSIANBLUR);
+ Inkscape::Filters::FilterPrimitive *nr_primitive = filter->get_primitive(handle);
+ Inkscape::Filters::FilterGaussian *nr_blur = dynamic_cast<Inkscape::Filters::FilterGaussian*>(nr_primitive);
sp_filter_primitive_renderer_common(primitive, nr_primitive);
@@ -214,4 +208,4 @@ static void sp_gaussianBlur_build_renderer(SPFilterPrimitive *primitive, NR::Fil
fill-column:99
End:
*/
-// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :