index 8915c88b183218936da514186f8d99cd2d156e9c..0fe4c5947fd6c8bbf28e4e12611c41f61380f8d2 100644 (file)
@@ -168,6 +168,19 @@ int FilterDiffuseLighting::render(FilterSlot &slot, FilterUnits const &units) {
return 0;
}
+void FilterDiffuseLighting::area_enlarge(NRRectL &area, Geom::Matrix const &trans)
+{
+ // TODO: support kernelUnitLength
+ double scalex = std::fabs(trans[0]) + std::fabs(trans[1]);
+ double scaley = std::fabs(trans[2]) + std::fabs(trans[3]);
+
+ //FIXME: no +2 should be there!... (noticable only for big scales at big zoom factor)
+ area.x0 -= (int)(scalex) + 2;
+ area.x1 += (int)(scalex) + 2;
+ area.y0 -= (int)(scaley) + 2;
+ area.y1 += (int)(scaley) + 2;
+}
+
FilterTraits FilterDiffuseLighting::get_input_traits() {
return TRAIT_PARALLER;
}