Code

Yet mor in c++ification
[inkscape.git] / src / filter-chemistry.cpp
index 363663ac3c8c34c946916077a4f73f8bd8cfc9f2..9e0ee8383767f47ff5bf9346a70ada2a6190f81e 100644 (file)
@@ -50,7 +50,7 @@ count_filter_hrefs(SPObject *o, SPFilter *filter)
         i ++;
     }
 
-    for (SPObject *child = sp_object_first_child(o);
+    for (SPObject *child = o->first_child();
          child != NULL; child = SP_OBJECT_NEXT(child)) {
         i += count_filter_hrefs(child, filter);
     }
@@ -101,7 +101,8 @@ SPFilter *new_filter(SPDocument *document)
     repr = xml_doc->createElement("svg:filter");
 
     // Append the new filter node to defs
-    SP_OBJECT_REPR(defs)->appendChild(repr);
+    //SP_OBJECT_REPR(defs)->appendChild(repr);
+       defs->appendChild(repr);
     Inkscape::GC::release(repr);
 
     // get corresponding object
@@ -168,7 +169,9 @@ filter_add_primitive(SPFilter *filter, const Inkscape::Filters::FilterPrimitiveT
     }
 
     //set primitive as child of filter node
-    filter->repr->appendChild(repr);
+       // XML tree being used directly while/where it shouldn't be...
+    //filter->getRepr()->appendChild(repr);
+       filter->appendChild(repr);
     Inkscape::GC::release(repr);
     
     // get corresponding object
@@ -217,7 +220,8 @@ new_filter_gaussian_blur (SPDocument *document, gdouble radius, double expansion
     Inkscape::GC::release(b_repr);
     
     // Append the new filter node to defs
-    SP_OBJECT_REPR(defs)->appendChild(repr);
+    //SP_OBJECT_REPR(defs)->appendChild(repr);
+       defs->appendChild(repr);
     Inkscape::GC::release(repr);
 
     // get corresponding object
@@ -253,7 +257,8 @@ new_filter_blend_gaussian_blur (SPDocument *document, const char *blendmode, gdo
     repr->setAttribute("inkscape:collect", "always");
 
     // Append the new filter node to defs
-    SP_OBJECT_REPR(defs)->appendChild(repr);
+    //SP_OBJECT_REPR(defs)->appendChild(repr);
+       defs->appendChild(repr);
     Inkscape::GC::release(repr);
  
     // get corresponding object
@@ -319,7 +324,7 @@ new_filter_blend_gaussian_blur (SPDocument *document, const char *blendmode, gdo
 SPFilter *
 new_filter_simple_from_item (SPDocument *document, SPItem *item, const char *mode, gdouble radius)
 {
-    Geom::OptRect const r = sp_item_bbox_desktop(item, SPItem::GEOMETRIC_BBOX);
+    Geom::OptRect const r = item->getBboxDesktop(SPItem::GEOMETRIC_BBOX);
 
     double width;
     double height;
@@ -330,7 +335,7 @@ new_filter_simple_from_item (SPDocument *document, SPItem *item, const char *mod
         width = height = 0;
     }
 
-    Geom::Matrix i2d (sp_item_i2d_affine (item) );
+    Geom::Matrix i2d (item->i2d_affine () );
 
     return (new_filter_blend_gaussian_blur (document, mode, radius, i2d.descrim(), i2d.expansionX(), i2d.expansionY(), width, height));
 }
@@ -360,21 +365,22 @@ modify_filter_gaussian_blur_from_item(SPDocument *document, SPItem *item,
         Inkscape::XML::Node *repr;
         repr = SP_OBJECT_REPR(item->style->getFilter())->duplicate(xml_doc);
         SPDefs *defs = (SPDefs *) SP_DOCUMENT_DEFS(document);
-        SP_OBJECT_REPR(defs)->appendChild(repr);
+        //SP_OBJECT_REPR(defs)->appendChild(repr);
+               defs->appendChild(repr);
 
         filter = SP_FILTER( document->getObjectByRepr(repr) );
         Inkscape::GC::release(repr);
     }
 
     // Determine the required standard deviation value
-    Geom::Matrix i2d (sp_item_i2d_affine (item));
+    Geom::Matrix i2d (item->i2d_affine ());
     double expansion = i2d.descrim();
     double stdDeviation = radius;
     if (expansion != 0)
         stdDeviation /= expansion;
 
     // Get the object size
-    Geom::OptRect const r = sp_item_bbox_desktop(item, SPItem::GEOMETRIC_BBOX);
+    Geom::OptRect const r = item->getBboxDesktop(SPItem::GEOMETRIC_BBOX);
     double width;
     double height;
     if (r) {