[core][Android][Darwin] LayerManager creates RenderLayer instances

`LayerManager` is now responsible for `RenderLayer` instances creation,
so that there is a single entry point for creating of objects, which
correspond to a certain layer type.

The `LayerType type` field is dropped from `Layer::Impl`.
This commit is contained in:
Mikhail Pozdnyakov
2018-11-22 15:37:09 +02:00
parent cca37e765b
commit 361982fef8
107 changed files with 544 additions and 537 deletions

View File

@@ -62,8 +62,7 @@ SourceDifference diffSources(const Immutable<std::vector<ImmutableSource>>& a,
LayerDifference diffLayers(const Immutable<std::vector<ImmutableLayer>>& a,
const Immutable<std::vector<ImmutableLayer>>& b) {
return diff(a, b, [] (const ImmutableLayer& lhs, const ImmutableLayer& rhs) {
return std::tie(lhs->id, lhs->type)
== std::tie(rhs->id, rhs->type);
return (lhs->id == rhs->id) && (lhs->getTypeInfo() == rhs->getTypeInfo());
});
}