[core] Introduce TileRenderData

Remove rendering functionality from Tile implementations.
This commit is contained in:
Mikhail Pozdnyakov
2019-07-01 21:44:15 +03:00
parent b1cbc2f245
commit 63dd17e2bb
15 changed files with 268 additions and 131 deletions

View File

@@ -111,14 +111,14 @@ TEST(CustomGeometryTile, InvokeTileChanged) {
CustomGeometryTile tile(OverscaledTileID(0, 0, 0), "source", test.tileParameters, CustomGeometrySource::TileOptions(),
loaderActor);
Immutable<LayerProperties> layerProperties = makeMutable<CircleLayerProperties>(staticImmutableCast<CircleLayer::Impl>(layer.baseImpl));
StubTileObserver observer;
observer.tileChanged = [&] (const Tile&) {
// Once present, the bucket should never "disappear", which would cause
// flickering.
ASSERT_NE(nullptr, tile.getBucket(*layer.baseImpl));
ASSERT_TRUE(tile.layerPropertiesUpdated(layerProperties));
};
Immutable<LayerProperties> layerProperties = makeMutable<CircleLayerProperties>(staticImmutableCast<CircleLayer::Impl>(layer.baseImpl));
std::vector<Immutable<LayerProperties>> layers { layerProperties };
tile.setLayers(layers);
tile.setObserver(&observer);