summaryrefslogtreecommitdiffstats
path: root/src/libnr/nr-blit.cpp
diff options
context:
space:
mode:
authorbulia byak <buliabyak@gmail.com>2006-07-29 17:07:59 +0000
committerbuliabyak <buliabyak@users.sourceforge.net>2006-07-29 17:07:59 +0000
commitd06ccf5bc28b1b6b3ecd7d92721d978b72929034 (patch)
treeb1536d67e420c88fa81cae649e9da9b105f49920 /src/libnr/nr-blit.cpp
parentAdd Miklos's new Cairo PDF rendering (diff)
downloadinkscape-d06ccf5bc28b1b6b3ecd7d92721d978b72929034.tar.gz
inkscape-d06ccf5bc28b1b6b3ecd7d92721d978b72929034.zip
patch for rendering quality and speed from Jasper van de Gronde
(bzr r1503)
Diffstat (limited to 'src/libnr/nr-blit.cpp')
-rw-r--r--src/libnr/nr-blit.cpp24
1 files changed, 12 insertions, 12 deletions
diff --git a/src/libnr/nr-blit.cpp b/src/libnr/nr-blit.cpp
index 2a93bc9bd..b25f0e2a7 100644
--- a/src/libnr/nr-blit.cpp
+++ b/src/libnr/nr-blit.cpp
@@ -270,24 +270,24 @@ nr_blit_pixblock_mask_rgba32 (NRPixBlock *d, NRPixBlock *m, unsigned long rgba)
unsigned int da;
switch (d->mode) {
case NR_PIXBLOCK_MODE_R8G8B8:
- p[0] = NR_COMPOSEN11 (r, a, p[0]);
- p[1] = NR_COMPOSEN11 (g, a, p[1]);
- p[2] = NR_COMPOSEN11 (b, a, p[2]);
+ p[0] = NR_COMPOSEN11_1111 (r, a, p[0]);
+ p[1] = NR_COMPOSEN11_1111 (g, a, p[1]);
+ p[2] = NR_COMPOSEN11_1111 (b, a, p[2]);
p += 3;
break;
case NR_PIXBLOCK_MODE_R8G8B8A8P:
- p[0] = NR_COMPOSENPP (r, a, p[0], p[3]);
- p[1] = NR_COMPOSENPP (g, a, p[1], p[3]);
- p[2] = NR_COMPOSENPP (b, a, p[2], p[3]);
- p[3] = (65025 - (255 - a) * (255 - p[3]) + 127) / 255;
+ p[0] = NR_COMPOSENPP_1111 (r, a, p[0]);
+ p[1] = NR_COMPOSENPP_1111 (g, a, p[1]);
+ p[2] = NR_COMPOSENPP_1111 (b, a, p[2]);
+ p[3] = NR_COMPOSEA_111(a, p[3]);
p += 4;
break;
case NR_PIXBLOCK_MODE_R8G8B8A8N:
- da = 65025 - (255 - a) * (255 - p[3]);
- p[0] = NR_COMPOSENNN_A7 (r, a, p[0], p[3], da);
- p[1] = NR_COMPOSENNN_A7 (g, a, p[1], p[3], da);
- p[2] = NR_COMPOSENNN_A7 (b, a, p[2], p[3], da);
- p[3] = (da + 127) / 255;
+ da = NR_COMPOSEA_112(a, p[3]);
+ p[0] = NR_COMPOSENNN_111121 (r, a, p[0], p[3], da);
+ p[1] = NR_COMPOSENNN_111121 (g, a, p[1], p[3], da);
+ p[2] = NR_COMPOSENNN_111121 (b, a, p[2], p[3], da);
+ p[3] = NR_NORMALIZE_21(da);
p += 4;
break;
default: