diff options
| author | bulia byak <buliabyak@gmail.com> | 2007-03-19 03:04:08 +0000 |
|---|---|---|
| committer | buliabyak <buliabyak@users.sourceforge.net> | 2007-03-19 03:04:08 +0000 |
| commit | 48d8e9955bea172943e3eebc6657cbb6b8fe7a20 (patch) | |
| tree | 52b919e8ea47bcc24e24c5afeb2c0b7895e8e968 /src | |
| parent | use ::upgrade for getting NR::Rect (diff) | |
| download | inkscape-48d8e9955bea172943e3eebc6657cbb6b8fe7a20.tar.gz inkscape-48d8e9955bea172943e3eebc6657cbb6b8fe7a20.zip | |
make arena remember its parent canvasarena, if any (so that an arenaitem can get access to the canvas viewbox for picking optimization)
(bzr r2712)
Diffstat (limited to 'src')
| -rw-r--r-- | src/display/canvas-arena.cpp | 1 | ||||
| -rw-r--r-- | src/display/nr-arena.cpp | 1 | ||||
| -rw-r--r-- | src/display/nr-arena.h | 3 |
3 files changed, 5 insertions, 0 deletions
diff --git a/src/display/canvas-arena.cpp b/src/display/canvas-arena.cpp index de43ec80d..bb60cdc93 100644 --- a/src/display/canvas-arena.cpp +++ b/src/display/canvas-arena.cpp @@ -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); diff --git a/src/display/nr-arena.cpp b/src/display/nr-arena.cpp index e6d0105fb..7c0664d16 100644 --- a/src/display/nr-arena.cpp +++ b/src/display/nr-arena.cpp @@ -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 diff --git a/src/display/nr-arena.h b/src/display/nr-arena.h index 245ce14db..89cb58f39 100644 --- a/src/display/nr-arena.h +++ b/src/display/nr-arena.h @@ -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 { |
