diff options
| author | bulia byak <buliabyak@gmail.com> | 2007-02-27 05:50:17 +0000 |
|---|---|---|
| committer | buliabyak <buliabyak@users.sourceforge.net> | 2007-02-27 05:50:17 +0000 |
| commit | 1cb293c383d8eb9c38cfe4ffababe934bb5f5fcd (patch) | |
| tree | 8ee03f9044b1b1540f3b6b64fa7374b0eb80c6fd /src/display | |
| parent | added new paint bucket; changed some colors; resaved with less precision and ... (diff) | |
| download | inkscape-1cb293c383d8eb9c38cfe4ffababe934bb5f5fcd.tar.gz inkscape-1cb293c383d8eb9c38cfe4ffababe934bb5f5fcd.zip | |
more comments
(bzr r2458)
Diffstat (limited to 'src/display')
| -rw-r--r-- | src/display/canvas-arena.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/display/canvas-arena.cpp b/src/display/canvas-arena.cpp index a7615b3d7..863d86f7c 100644 --- a/src/display/canvas-arena.cpp +++ b/src/display/canvas-arena.cpp @@ -248,9 +248,15 @@ sp_canvas_arena_render (SPCanvasItem *item, SPCanvasBuf *buf) } } -/* fixme: RGB transformed bitmap blit is not implemented (Lauris) */ -/* And even if it would be, unless it uses MMX there is little reason to go RGB */ -// CAIRO FIXME: undefine this so that arena renders directly into SPCanvasBuf, without blitting and squishing (32bpp -> 24bpp packed) from a pixblock +/* +This define chooses between two modes: When on, arena renders into a temporary +32bpp buffer, and the result is then squished into the SPCanvasBuf. When off, arena +renders directly to SPCanvasBuf. However currently this gives no speed advantage, +perhaps because the lack of squishing is offset by the need for arena items to render +to the inconvenient (and probably slower) 24bpp buffer. When SPCanvasBuf is +switched to 32bpp and cairo drawing, however, this define should be removed to +streamline rendering. +*/ #define STRICT_RGBA for (y = buf->rect.y0; y < buf->rect.y1; y += sh) { @@ -282,6 +288,7 @@ sp_canvas_arena_render (SPCanvasItem *item, SPCanvasBuf *buf) pb.visible_area = buf->visible_rect; if (pb.data.px != NULL) { nr_arena_item_invoke_render (arena->root, &area, &pb, 0); + // this does the 32->24 squishing, using an assembler routine: nr_blit_pixblock_pixblock (&cb, &pb); } nr_pixblock_release (&pb); |
