<% const type = locals.type; const layoutProperties = locals.layoutProperties; const paintProperties = locals.paintProperties; -%> // This file is generated. Do not edit. #pragma once #include #include #include #include #include <% if (type === 'line' || type === 'symbol') { -%> #include <% } -%> namespace mbgl { namespace style { class <%- camelize(type) %>Layer : public Layer { public: <% if (type === 'background') { -%> <%- camelize(type) %>Layer(const std::string& layerID); <% } else { -%> <%- camelize(type) %>Layer(const std::string& layerID, const std::string& sourceID); <% } -%> ~<%- camelize(type) %>Layer() final; <% if (type !== 'background') { -%> // Source const std::string& getSourceID() const; <% if (type !== 'raster') { -%> const std::string& getSourceLayer() const; void setSourceLayer(const std::string& sourceLayer); void setFilter(const Filter&); const Filter& getFilter() const; <% } -%> <% } -%> <% if (layoutProperties.length) { -%> // Layout properties <% for (const property of layoutProperties) { -%> static <%- propertyValueType(property) %> getDefault<%- camelize(property.name) %>(); <%- propertyValueType(property) %> get<%- camelize(property.name) %>() const; void set<%- camelize(property.name) %>(<%- propertyValueType(property) %>); <% } -%> <% } -%> // Paint properties <% for (const property of paintProperties) { -%> static <%- propertyValueType(property) %> getDefault<%- camelize(property.name) %>(); <%- propertyValueType(property) %> get<%- camelize(property.name) %>(const optional& klass = {}) const; void set<%- camelize(property.name) %>(<%- propertyValueType(property) %>, const optional& klass = {}); <% } -%> // Private implementation class Impl; Impl* const impl; <%- camelize(type) %>Layer(const Impl&); <%- camelize(type) %>Layer(const <%- camelize(type) %>Layer&) = delete; }; template <> inline bool Layer::is<<%- camelize(type) %>Layer>() const { return type == Type::<%- camelize(type) %>; } } // namespace style } // namespace mbgl