compute unique clip ids per tile, taking covering children into account

fixes #206
fixes #220
refs #229
This commit is contained in:
Konstantin Käfer
2014-08-21 15:02:08 +02:00
parent b9c7e1bdd9
commit 863b4577e4
11 changed files with 337 additions and 439 deletions

View File

@@ -102,7 +102,6 @@ void Source::finishRender(Painter &painter) {
}
}
std::forward_list<Tile::ID> Source::getIDs() const {
std::forward_list<Tile::ID> ptrs;
@@ -113,6 +112,18 @@ std::forward_list<Tile::ID> Source::getIDs() const {
return ptrs;
}
std::forward_list<Tile *> Source::getLoadedTiles() const {
std::forward_list<Tile *> ptrs;
auto it = ptrs.before_begin();
for (const auto &pair : tiles) {
if (pair.second->data->ready()) {
it = ptrs.insert_after(it, pair.second.get());
}
}
return ptrs;
}
TileData::State Source::hasTile(const Tile::ID& id) {
auto it = tiles.find(id);
if (it != tiles.end()) {