#ifndef MBGL_STYLE_RASTERIZE_PROPERTIES #define MBGL_STYLE_RASTERIZE_PROPERTIES #include namespace mbgl { // The calculated properties for a layer in a tile. class RasterizedProperties { public: float buffer = 1.0f / 32.0f; uint16_t size = 256; uint8_t blur = 0; }; class RasterizeProperties { public: Function enabled = ConstantFunction(false); Function buffer = ConstantFunction(1.0f / 32.0f); Function size = ConstantFunction(256); Function blur = ConstantFunction(0); inline bool isEnabled(const int8_t z) const { return util::apply_visitor(FunctionEvaluator(z), enabled); } inline RasterizedProperties get(const int8_t z) const { RasterizedProperties properties; properties.buffer = util::apply_visitor(FunctionEvaluator(z), buffer); properties.size = util::apply_visitor(FunctionEvaluator(z), size); properties.blur = util::apply_visitor(FunctionEvaluator(z), blur); return properties; } }; } #endif