diff options
| author | Felipe Corr??a da Silva Sanches <juca@members.fsf.org> | 2008-02-23 04:27:03 +0000 |
|---|---|---|
| committer | jucablues <jucablues@users.sourceforge.net> | 2008-02-23 04:27:03 +0000 |
| commit | 7f1194d336b4e8e784096451f90094a0ad9bd051 (patch) | |
| tree | eb5a24e32124e8972f9483eb09d85edd7fd32ee9 /src/display/pixblock-transform.cpp | |
| parent | some more german (diff) | |
| download | inkscape-7f1194d336b4e8e784096451f90094a0ad9bd051.tar.gz inkscape-7f1194d336b4e8e784096451f90094a0ad9bd051.zip | |
partial fix sent by jfb for bug #188814
(bzr r4829)
Diffstat (limited to 'src/display/pixblock-transform.cpp')
| -rw-r--r-- | src/display/pixblock-transform.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/display/pixblock-transform.cpp b/src/display/pixblock-transform.cpp index ab9d2e68b..abe0f90c0 100644 --- a/src/display/pixblock-transform.cpp +++ b/src/display/pixblock-transform.cpp @@ -21,6 +21,7 @@ using std::floor; #include "display/nr-filter-utils.h" +#include "libnr/nr-blit.h" #include "libnr/nr-pixblock.h" #include "libnr/nr-matrix.h" @@ -148,6 +149,13 @@ void transform_bicubic(NRPixBlock *to, NRPixBlock *from, Matrix &trans) return; } + if (from->mode != to->mode){ + NRPixBlock *o_from = from; + from = new NRPixBlock; + nr_pixblock_setup_fast(from, to->mode, o_from->area.x0, o_from->area.y0, o_from->area.x1, o_from->area.y1, false); + nr_blit_pixblock_pixblock(from, o_from); + } + // Precalculate sizes of source and destination pixblocks int from_width = from->area.x1 - from->area.x0; int from_height = from->area.y1 - from->area.y0; |
