index 4facd94364a8e3867375e8b70e5ace5bdc504efd..683c4f83d45fe859bf13c04a16dd19f9ea7f0c9f 100644 (file)
#include "display/nr-filter-offset.h"
#include "display/nr-filter-slot.h"
+#include "display/nr-filter-units.h"
#include "libnr/nr-blit.h"
#include "libnr/nr-matrix.h"
#include "libnr/nr-pixblock.h"
FilterOffset::~FilterOffset()
{}
-int FilterOffset::render(FilterSlot &slot, Matrix const &trans) {
+int FilterOffset::render(FilterSlot &slot, FilterUnits const &units) {
NRPixBlock *in = slot.get(_input);
- NRPixBlock *out = new NRPixBlock;
-
// Bail out if source image is missing
if (!in) {
g_warning("Missing source image for feOffset (in=%d)", _input);
return 1;
}
+ NRPixBlock *out = new NRPixBlock;
+
+ Matrix trans = units.get_matrix_primitiveunits2pb();
Point offset(dx, dy);
offset *= trans;
offset[X] -= trans[4];