<% const type = locals.type; const layoutProperties = locals.layoutProperties; const paintProperties = locals.paintProperties; -%> // clang-format off // This file is generated. Do not edit. #pragma once <% if (type === 'heatmap' || type === 'line') { -%> #include <% } -%> #include #include #include <% if (type === 'location-indicator') { -%> #include <% } -%> <% if (type === 'symbol') { -%> #include <% } -%> #include <% if (type === 'line' || type === 'symbol') { -%> #include <% } -%> namespace mbgl { namespace style { class TransitionOptions; class <%- camelize(type) %>Layer final : public Layer { public: <% if ((type === 'background') || (type === 'location-indicator')) { -%> <%- camelize(type) %>Layer(const std::string& layerID); <% } else { -%> <%- camelize(type) %>Layer(const std::string& layerID, const std::string& sourceID); <% } -%> ~<%- camelize(type) %>Layer() override; <% if (layoutProperties.length) { -%> // Layout properties <% for (const property of layoutProperties) { -%> static <%- propertyValueType(property) %> getDefault<%- camelize(property.name) %>(); const <%- propertyValueType(property) %>& get<%- camelize(property.name) %>() const; void set<%- camelize(property.name) %>(const <%- propertyValueType(property) %>&); <% } -%> <% } -%> // Paint properties <% for (const property of paintProperties) { -%> static <%- propertyValueType(property) %> getDefault<%- camelize(property.name) %>(); const <%- propertyValueType(property) %>& get<%- camelize(property.name) %>() const; void set<%- camelize(property.name) %>(const <%- propertyValueType(property) %>&); void set<%- camelize(property.name) %>Transition(const TransitionOptions&); TransitionOptions get<%- camelize(property.name) %>Transition() const; <% } -%> // Private implementation class Impl; const Impl& impl() const; Mutable mutableImpl() const; <%- camelize(type) %>Layer(Immutable); std::unique_ptr cloneRef(const std::string& id) const final; protected: // Dynamic properties optional setPropertyInternal(const std::string& name, const conversion::Convertible& value) final; StyleProperty getProperty(const std::string& name) const final; Value serialize() const final; Mutable mutableBaseImpl() const final; }; } // namespace style } // namespace mbgl // clang-format on