Mailson Menezes
f798ef22d1
Refactor tiles manager code as suggested by Fabio D'urso
14 years ago
Mailson Menezes
1fc67e9e99
Fix memory leaking on tiles merge
14 years ago
Mailson Menezes
a61e1e0834
Fix annotations bug
...
The annotations created in tiles mode were not shown unless the user
changed the zoom level.
14 years ago
Mailson Menezes
6032dae9b4
Remove request mutex
...
This mutex at tiles manager is not actually necessary since any of the
related code will run on a different thread.
14 years ago
Mailson Menezes
ca89ffe96c
Avoid making unnecessary requests
...
Some requests may take a while to process in a highly zoomed region.
Since those requests are not yet finished, other requests to the same
region are likely to be made (specially if the user is scrolling fast)
and the generator will have to render the same region repeatedly.
Also when changing zoom rapidly some pixmaps can arrive at the tiles
manager when another request has already been posted. This pixmap is not
necessary anymore and should be discarded (the tiles manager will get a
new pixmap anyway).
14 years ago
Mailson Menezes
9b70d1875a
Remove debug painting off tiles manager
...
The extra painting is for debug purposes only. It may change depending
on what the developer wants to fix and should not go upstream.
14 years ago
Mailson Menezes
116e4f9b80
Remove annoying warning
...
Comparison between signed and unsigned values.
14 years ago
Mailson Menezes
42350c87df
Properly destruct TilesManager
14 years ago
Mailson Menezes
1bfe8610c9
Do not evict visible tiles
...
Also avoid trying to evict more tiles if the tiles manager is empty (all
tiles were previously removed)
14 years ago
Mailson Menezes
d2f236e82f
Document Tile and TilesManager
14 years ago
Mailson Menezes
d3a0fa057a
Split tiles before the request
...
The splitting was only executed after the pixmap arrived the tiles
manager. That was bad and likely to lead to an unnecessary rendering in
the case of a big tile that would be split after all.
This also fixes a bug where some tiles weren't updated.
14 years ago
Mailson Menezes
851a503e81
Move tiles manager to a private header
14 years ago
Mailson Menezes
401c3f7e5d
Add rotation support to tiles manager
14 years ago
Mailson Menezes
67c59c2c44
Fix underflow on memory cleanup in tiles manager
14 years ago
Mailson Menezes
3d630fbb2a
Remove unused tiles
14 years ago
Mailson Menezes
82510818c4
Split and merge tiles according to zoom level
...
To allow more zooming, split tiles when it reaches an arbitrary size.
14 years ago
Mailson Menezes
032f03a0e8
Track memory usage of tiles
14 years ago
Mailson Menezes
9c09eb938e
Use tiles only when it's necessary
...
In other words: don't use tiles when the page is not big enough
14 years ago
Mailson Menezes
de2ee00ff8
Improvements on tiles manager
...
- Made improvements on the code (not performance)
- Fix issue of not painting dirty tiles
14 years ago
Mailson Menezes
124da866e8
Add license header to tile manager files
14 years ago
Mailson Menezes
9f3cf45e37
Rendering with a tiles manager
...
Currently it's only available for PDFs and does not support rotation.
14 years ago