#include #include #include #include namespace mbgl { template Faded CrossFadedPropertyEvaluator::operator()(const style::Undefined&) const { return calculate(defaultValue, defaultValue, defaultValue); } template Faded CrossFadedPropertyEvaluator::operator()(const T& constant) const { return calculate(constant, constant, constant); } template Faded CrossFadedPropertyEvaluator::operator()(const style::PropertyExpression& expression) const { return calculate(expression.evaluate(parameters.z - 1.0f), expression.evaluate(parameters.z), expression.evaluate(parameters.z + 1.0f)); } template Faded CrossFadedPropertyEvaluator::calculate(const T& min, const T& mid, const T& max) const { const float z = parameters.z; return z > parameters.zoomHistory.lastIntegerZoom ? Faded { min, mid } : Faded { max, mid }; } template class CrossFadedPropertyEvaluator; template class CrossFadedPropertyEvaluator>; } // namespace mbgl