diff options
| author | Krzysztof Kosi??ski <tweenk.pl@gmail.com> | 2011-07-28 05:04:08 +0000 |
|---|---|---|
| committer | Krzysztof KosiĆski <tweenk.pl@gmail.com> | 2011-07-28 05:04:08 +0000 |
| commit | 905b8a96963f78358abfd109c0c49758c6fe4e9d (patch) | |
| tree | f36eff88e8cc148264f9ea46df7b525c6a9ea80e /src/display/nr-arena.cpp | |
| parent | Add deferred allocation functionality to DrawingSurface (diff) | |
| download | inkscape-905b8a96963f78358abfd109c0c49758c6fe4e9d.tar.gz inkscape-905b8a96963f78358abfd109c0c49758c6fe4e9d.zip | |
Per-item render cache.
Cache some offscreen data to facilitate smoother navigation.
(bzr r10347.1.20)
Diffstat (limited to 'src/display/nr-arena.cpp')
| -rw-r--r-- | src/display/nr-arena.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/display/nr-arena.cpp b/src/display/nr-arena.cpp index 5747de26c..735d44e9e 100644 --- a/src/display/nr-arena.cpp +++ b/src/display/nr-arena.cpp @@ -151,6 +151,17 @@ nr_arena_set_renderoffscreen (NRArena *arena) } +void +nr_arena_set_cache_limit (NRArena *arena, Geom::OptIntRect const &cache_limit) +{ + arena->cache_limit = cache_limit; + for (std::set<NRArenaItem *>::iterator i = arena->cached_items.begin(); + i != arena->cached_items.end(); ++i) + { + nr_arena_item_request_update(*i, NR_ARENA_ITEM_STATE_CACHE, FALSE); + } +} + #define FLOAT_TO_UINT8(f) (int(f*255)) #define RGBA_R(v) ((v) >> 24) #define RGBA_G(v) (((v) >> 16) & 0xff) |
