void StyleLayer::updateProperties(float z, const TimePoint& now, ZoomHistory &zoomHistory) { cleanupAppliedStyleProperties(now); switch (type) { case StyleLayerType::Fill: applyStyleProperties<FillProperties>(z, now, zoomHistory); break; case StyleLayerType::Line: applyStyleProperties<LineProperties>(z, now, zoomHistory); break; case StyleLayerType::Symbol: applyStyleProperties<SymbolProperties>(z, now, zoomHistory); break; case StyleLayerType::Raster: applyStyleProperties<RasterProperties>(z, now, zoomHistory); break; case StyleLayerType::Background: applyStyleProperties<BackgroundProperties>(z, now, zoomHistory); break; default: properties.set<std::false_type>(); break; } // Update the render passes when this layer is visible. passes = RenderPass::None; if (isVisible()) { if (properties.is<FillProperties>()) { const FillProperties &fillProperties = properties.get<FillProperties>(); const float alpha = fillProperties.fill_color[3] * fillProperties.opacity; if (fillProperties.antialias) { passes |= RenderPass::Translucent; } if (!fillProperties.image.from.empty() || alpha < 1.0f) { passes |= RenderPass::Translucent; } else { passes |= RenderPass::Opaque; } } else { passes |= RenderPass::Translucent; } } }
void StyleLayer::updateProperties(float z, const TimePoint now, ZoomHistory &zoomHistory) { cleanupAppliedStyleProperties(now); switch (type) { case StyleLayerType::Fill: applyStyleProperties<FillProperties>(z, now, zoomHistory); break; case StyleLayerType::Line: applyStyleProperties<LineProperties>(z, now, zoomHistory); break; case StyleLayerType::Symbol: applyStyleProperties<SymbolProperties>(z, now, zoomHistory); break; case StyleLayerType::Raster: applyStyleProperties<RasterProperties>(z, now, zoomHistory); break; case StyleLayerType::Background: applyStyleProperties<BackgroundProperties>(z, now, zoomHistory); break; default: properties.set<std::false_type>(); break; } }
void StyleLayer::updateProperties(float z, const timestamp now) { if (layers) { layers->updateProperties(z, now); } cleanupAppliedStyleProperties(now); switch (type) { case StyleLayerType::Fill: applyStyleProperties<FillProperties>(z, now); break; case StyleLayerType::Line: applyStyleProperties<LineProperties>(z, now); break; case StyleLayerType::Symbol: applyStyleProperties<SymbolProperties>(z, now); break; case StyleLayerType::Raster: applyStyleProperties<RasterProperties>(z, now); break; case StyleLayerType::Background: applyStyleProperties<BackgroundProperties>(z, now); break; default: properties.set<std::false_type>(); break; } }