#pragma once #include #include #include #include namespace mbgl { class Anchor; class IndexedSubfeature; class SymbolInstance { public: SymbolInstance(Anchor& anchor, GeometryCoordinates line, const std::pair& shapedTextOrientations, optional shapedIcon, const style::SymbolLayoutProperties::Evaluated&, const float layoutTextSize, const bool inside, const uint32_t index, const float textBoxScale, const float textPadding, style::SymbolPlacementType textPlacement, const std::array textOffset, const float iconBoxScale, const float iconPadding, style::SymbolPlacementType iconPlacement, const std::array iconOffset, const GlyphPositionMap&, const IndexedSubfeature&, const std::size_t featureIndex); Anchor anchor; GeometryCoordinates line; uint32_t index; bool hasText; bool hasIcon; SymbolQuads glyphQuads; optional iconQuad; CollisionFeature textCollisionFeature; CollisionFeature iconCollisionFeature; WritingModeType writingModes; std::size_t featureIndex; std::array textOffset; std::array iconOffset; }; } // namespace mbgl