summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: f67f8f7)
raw | patch | inline | side by side (parent: f67f8f7)
author | buliabyak <buliabyak@users.sourceforge.net> | |
Sat, 3 Mar 2007 03:42:31 +0000 (03:42 +0000) | ||
committer | buliabyak <buliabyak@users.sourceforge.net> | |
Sat, 3 Mar 2007 03:42:31 +0000 (03:42 +0000) |
src/display/nr-arena-shape.cpp | patch | blob | history |
index b8bfee05c3447ceb26d35919b2554192fdee8c5f..b9a7fc737bdc67b311b0ada9dd71fe55c4de63d4 100644 (file)
@@ -853,10 +853,13 @@ nr_arena_shape_render(cairo_t *ct, NRArenaItem *item, NRRectL *area, NRPixBlock
bool outline = (NR_ARENA_ITEM(shape)->arena->rendermode == RENDERMODE_OUTLINE);
- if (outline) {
+ if (outline) { // cairo outline rendering
+
pb->empty = FALSE;
- return cairo_arena_shape_render_outline (ct, item, NR::Point(pb->area.x0, pb->area.y0));
- }
+ unsigned int ret = cairo_arena_shape_render_outline (ct, item, NR::Point(pb->area.x0, pb->area.y0));
+ if (ret & NR_ARENA_ITEM_STATE_INVALID) return ret;
+
+ } else {
if ( shape->delayed_shp ) {
if ( nr_rect_l_test_intersect(area, &item->bbox) ) {
@@ -972,10 +975,11 @@ nr_arena_shape_render(cairo_t *ct, NRArenaItem *item, NRRectL *area, NRPixBlock
nr_pixblock_release(&m);
}
- /* Just compose children into parent buffer */
+ } // non-cairo non-outline branch
+
+ /* Render markers into parent buffer */
for (NRArenaItem *child = shape->markers; child != NULL; child = child->next) {
- unsigned int ret;
- ret = nr_arena_item_invoke_render(ct, child, area, pb, flags);
+ unsigned int ret = nr_arena_item_invoke_render(ct, child, area, pb, flags);
if (ret & NR_ARENA_ITEM_STATE_INVALID) return ret;
}