X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Ffilter-chemistry.cpp;h=63e618dcf8fc2f297a2d98cbb7328ea1f922f191;hb=c1156e043a8df3fbd660d0353bcfb573a2f6c4d8;hp=af8cfbfa1df0f6c674e06364bb8c1e06dc1a8adc;hpb=8b9a820756fdf348239872236be2257f854e094a;p=inkscape.git diff --git a/src/filter-chemistry.cpp b/src/filter-chemistry.cpp index af8cfbfa1..63e618dcf 100644 --- a/src/filter-chemistry.cpp +++ b/src/filter-chemistry.cpp @@ -21,7 +21,7 @@ #include "filter-chemistry.h" #include "filter-enums.h" -#include "sp-feblend.h" +#include "filters/blend.h" #include "sp-filter.h" #include "sp-filter-reference.h" #include "sp-gaussian-blur.h" @@ -115,7 +115,7 @@ SPFilter *new_filter(SPDocument *document) } SPFilterPrimitive * -filter_add_primitive(SPFilter *filter, const NR::FilterPrimitiveType type) +filter_add_primitive(SPFilter *filter, const Inkscape::Filters::FilterPrimitiveType type) { Inkscape::XML::Document *xml_doc = sp_document_repr_doc(filter->document); @@ -125,43 +125,43 @@ filter_add_primitive(SPFilter *filter, const NR::FilterPrimitiveType type) // set default values switch(type) { - case NR::NR_FILTER_BLEND: + case Inkscape::Filters::NR_FILTER_BLEND: repr->setAttribute("blend", "normal"); break; - case NR::NR_FILTER_COLORMATRIX: + case Inkscape::Filters::NR_FILTER_COLORMATRIX: break; - case NR::NR_FILTER_COMPONENTTRANSFER: + case Inkscape::Filters::NR_FILTER_COMPONENTTRANSFER: break; - case NR::NR_FILTER_COMPOSITE: + case Inkscape::Filters::NR_FILTER_COMPOSITE: break; - case NR::NR_FILTER_CONVOLVEMATRIX: + case Inkscape::Filters::NR_FILTER_CONVOLVEMATRIX: repr->setAttribute("order", "3 3"); repr->setAttribute("kernelMatrix", "0 0 0 0 0 0 0 0 0"); break; - case NR::NR_FILTER_DIFFUSELIGHTING: + case Inkscape::Filters::NR_FILTER_DIFFUSELIGHTING: break; - case NR::NR_FILTER_DISPLACEMENTMAP: + case Inkscape::Filters::NR_FILTER_DISPLACEMENTMAP: break; - case NR::NR_FILTER_FLOOD: + case Inkscape::Filters::NR_FILTER_FLOOD: break; - case NR::NR_FILTER_GAUSSIANBLUR: + case Inkscape::Filters::NR_FILTER_GAUSSIANBLUR: repr->setAttribute("stdDeviation", "1"); break; - case NR::NR_FILTER_IMAGE: + case Inkscape::Filters::NR_FILTER_IMAGE: break; - case NR::NR_FILTER_MERGE: + case Inkscape::Filters::NR_FILTER_MERGE: break; - case NR::NR_FILTER_MORPHOLOGY: + case Inkscape::Filters::NR_FILTER_MORPHOLOGY: break; - case NR::NR_FILTER_OFFSET: + case Inkscape::Filters::NR_FILTER_OFFSET: repr->setAttribute("dx", "0"); repr->setAttribute("dy", "0"); break; - case NR::NR_FILTER_SPECULARLIGHTING: + case Inkscape::Filters::NR_FILTER_SPECULARLIGHTING: break; - case NR::NR_FILTER_TILE: + case Inkscape::Filters::NR_FILTER_TILE: break; - case NR::NR_FILTER_TURBULENCE: + case Inkscape::Filters::NR_FILTER_TURBULENCE: break; default: break; @@ -319,20 +319,20 @@ 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) { - boost::optional const r = sp_item_bbox_desktop(item, SPItem::GEOMETRIC_BBOX); + Geom::OptRect const r = sp_item_bbox_desktop(item, SPItem::GEOMETRIC_BBOX); double width; double height; if (r) { - width = r->extent(NR::X); - height= r->extent(NR::Y); + width = r->dimensions()[Geom::X]; + height= r->dimensions()[Geom::Y]; } else { width = height = 0; } - NR::Matrix i2d = from_2geom(sp_item_i2d_affine (item) ); + Geom::Matrix i2d (sp_item_i2d_affine (item) ); - return (new_filter_blend_gaussian_blur (document, mode, radius, NR::expansion(i2d), NR::expansionX(i2d), NR::expansionY(i2d), width, height)); + return (new_filter_blend_gaussian_blur (document, mode, radius, i2d.descrim(), i2d.expansionX(), i2d.expansionY(), width, height)); } /** @@ -367,27 +367,27 @@ modify_filter_gaussian_blur_from_item(SPDocument *document, SPItem *item, } // Determine the required standard deviation value - NR::Matrix i2d = from_2geom(sp_item_i2d_affine (item)); - double expansion = NR::expansion(i2d); + Geom::Matrix i2d (sp_item_i2d_affine (item)); + double expansion = i2d.descrim(); double stdDeviation = radius; if (expansion != 0) stdDeviation /= expansion; // Get the object size - boost::optional const r = sp_item_bbox_desktop(item, SPItem::GEOMETRIC_BBOX); + Geom::OptRect const r = sp_item_bbox_desktop(item, SPItem::GEOMETRIC_BBOX); double width; double height; if (r) { - width = r->extent(NR::X); - height= r->extent(NR::Y); + width = r->dimensions()[Geom::X]; + height= r->dimensions()[Geom::Y]; } else { width = height = 0; } // Set the filter effects area Inkscape::XML::Node *repr = SP_OBJECT_REPR(item->style->getFilter()); - set_filter_area(repr, radius, expansion, NR::expansionX(i2d), - NR::expansionY(i2d), width, height); + set_filter_area(repr, radius, expansion, i2d.expansionX(), + i2d.expansionY(), width, height); // Search for gaussian blur primitives. If found, set the stdDeviation // of the first one and return. @@ -492,4 +492,4 @@ double get_single_gaussian_blur_radius(SPFilter *filter) 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 :