[core] refactor updateRenderables algorithm
This commit is contained in:
@@ -15,26 +15,10 @@ struct MockSourceInfo {
|
||||
|
||||
struct MockTileData;
|
||||
|
||||
struct MockRenderable {
|
||||
MockRenderable(mbgl::UnwrappedTileID id_, MockTileData& data_) : id(id_), data(data_) {}
|
||||
|
||||
const mbgl::UnwrappedTileID id;
|
||||
MockTileData& data;
|
||||
|
||||
bool operator==(const MockRenderable& rhs) const {
|
||||
return &data == &rhs.data;
|
||||
}
|
||||
};
|
||||
|
||||
::std::ostream& operator<<(::std::ostream& os, const MockRenderable&) {
|
||||
return os << "Renderable{}";
|
||||
}
|
||||
|
||||
struct MockSource {
|
||||
MockSourceInfo info;
|
||||
std::map<mbgl::OverscaledTileID, std::unique_ptr<MockTileData>> dataTiles;
|
||||
std::set<mbgl::UnwrappedTileID> idealTiles;
|
||||
std::map<mbgl::UnwrappedTileID, MockRenderable> renderables;
|
||||
|
||||
// Test API
|
||||
inline MockTileData* createTileData(const mbgl::OverscaledTileID& tileID);
|
||||
@@ -44,14 +28,16 @@ struct MockBucket {};
|
||||
|
||||
|
||||
struct MockTileData {
|
||||
MockTileData(const mbgl::OverscaledTileID& tileID_) : tileID(tileID_) {}
|
||||
bool isRenderable() {
|
||||
return ready;
|
||||
return renderable;
|
||||
}
|
||||
|
||||
bool ready = false;
|
||||
bool renderable = false;
|
||||
const mbgl::OverscaledTileID tileID;
|
||||
};
|
||||
|
||||
MockTileData* MockSource::createTileData(const mbgl::OverscaledTileID& tileID) {
|
||||
// Replace the existing MockTileData object, if any.
|
||||
return (dataTiles[tileID] = std::make_unique<MockTileData>()).get();
|
||||
return (dataTiles[tileID] = std::make_unique<MockTileData>(tileID)).get();
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user