index 58e2fae6efab6042e78925f1f498dcc1d68a7486..63e618dcf8fc2f297a2d98cbb7328ea1f922f191 100644 (file)
--- a/src/filter-chemistry.cpp
+++ b/src/filter-chemistry.cpp
* bulia byak
* Niko Kiirala
*
- * Copyright (C) 2006,2007 authors
+ * Copyright (C) 2006-2008 authors
*
* Released under GNU GPL, read the file 'COPYING' for more information
*/
#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"
}
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);
// 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)
{
- NR::Maybe<NR::Rect> 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 = 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));
}
/**
gdouble radius)
{
if (!item->style || !item->style->filter.set) {
- //return new_filter_gaussian_blur_from_item(document, item, radius);
+ return new_filter_simple_from_item(document, item, "normal", radius);
}
SPFilter *filter = SP_FILTER(item->style->getFilter());
}
// Determine the required standard deviation value
- NR::Matrix i2d = 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
- NR::Maybe<NR::Rect> 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.
}
return x;
}
+ return 0.0;
}
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 :