#pragma once #include #include #include #include #include #include #include #include namespace mbgl { using AnnotationID = uint32_t; using AnnotationIDs = std::vector; class SymbolAnnotation { public: Point geometry; std::string icon; }; using ShapeAnnotationGeometry = variant< LineString, Polygon, MultiLineString, MultiPolygon>; class LineAnnotation { public: ShapeAnnotationGeometry geometry; style::DataDrivenPropertyValue opacity { 1.0f }; style::DataDrivenPropertyValue width { 1.0f }; style::DataDrivenPropertyValue color { Color::black() }; }; class FillAnnotation { public: ShapeAnnotationGeometry geometry; style::DataDrivenPropertyValue opacity { 1.0f }; style::DataDrivenPropertyValue color { Color::black() }; style::DataDrivenPropertyValue outlineColor {}; }; using Annotation = variant< SymbolAnnotation, LineAnnotation, FillAnnotation>; } // namespace mbgl