#pragma once #include #include #include #include #include #include #include namespace mbgl { class ImagePosition; class UnwrappedTileID; class TransformState; template class Faded; using BackgroundLayoutAttributes = PositionOnlyLayoutAttributes; using BackgroundUniforms = TypeList; using BackgroundPatternUniforms = TypeList; class BackgroundProgram final : public Program, style::Properties<>> { public: static constexpr std::string_view Name{"BackgroundProgram"}; const std::string_view typeName() const noexcept override { return Name; } using Program::Program; }; class BackgroundPatternProgram final : public Program, style::Properties<>> { public: static constexpr std::string_view Name{"BackgroundPatternProgram"}; const std::string_view typeName() const noexcept override { return Name; } using Program::Program; static LayoutUniformValues layoutUniformValues(mat4 matrix, float opacity, Size atlasSize, const ImagePosition&, const ImagePosition&, const CrossfadeParameters&, const UnwrappedTileID&, const TransformState&); }; using BackgroundLayoutVertex = BackgroundProgram::LayoutVertex; using BackgroundAttributes = BackgroundProgram::AttributeList; } // namespace mbgl