Code

make arena remember its parent canvasarena, if any (so that an arenaitem can get...
authorbuliabyak <buliabyak@users.sourceforge.net>
Mon, 19 Mar 2007 03:04:08 +0000 (03:04 +0000)
committerbuliabyak <buliabyak@users.sourceforge.net>
Mon, 19 Mar 2007 03:04:08 +0000 (03:04 +0000)
src/display/canvas-arena.cpp
src/display/nr-arena.cpp
src/display/nr-arena.h

index de43ec80dcf3f7d3702b61917ee0093a2adffd6d..bb60cdc938cd32ba481bb923a73d90562add9415 100644 (file)
@@ -101,6 +101,7 @@ sp_canvas_arena_init (SPCanvasArena *arena)
        arena->sticky = FALSE;
 
        arena->arena = NRArena::create();
+       arena->arena->canvasarena = arena;
        arena->root = NRArenaGroup::create(arena->arena);
        nr_arena_group_set_transparent (NR_ARENA_GROUP (arena->root), TRUE);
 
index e6d0105fbd76f1fc7f569e49278ab508f9dd98b4..7c0664d16a6b394164e2ec3cc1016ab977aa563b 100644 (file)
@@ -54,6 +54,7 @@ nr_arena_init (NRArena *arena)
        arena->delta = 0; // to be set by desktop from prefs
        arena->rendermode = RENDERMODE_NORMAL; // default is normal render
        arena->outlinecolor = 0xff; // black; to be set by desktop from bg color
+       arena->canvasarena = NULL; 
 }
 
 static void
index 245ce14db6513aae7c155064f744fcbdf8752a99..89cb58f39bb37eee10616b4cf2d92028408954a3 100644 (file)
@@ -36,6 +36,8 @@ enum {
        RENDERMODE_OUTLINE
 };
 
+struct SPCanvasArena;
+
 struct NRArena : public NRActiveObject {
        static NRArena *create() {
                return reinterpret_cast<NRArena *>(nr_object_new(NR_TYPE_ARENA));
@@ -44,6 +46,7 @@ struct NRArena : public NRActiveObject {
        double delta;
        int rendermode;
        guint32 outlinecolor;
+       SPCanvasArena *canvasarena; // may be NULL is this arena is not the screen but used for export etc.
 };
 
 struct NRArenaClass : public NRActiveObjectClass {