#pragma once #include #include #include #include #include namespace mbgl { class Anchor; class PositionedIcon; class SymbolQuad { public: SymbolQuad(Point tl_, Point tr_, Point bl_, Point br_, Rect tex_, WritingModeType writingMode_, Point glyphOffset_, size_t sectionIndex_ = 0) : tl(tl_), tr(tr_), bl(bl_), br(br_), tex(tex_), writingMode(writingMode_), glyphOffset(glyphOffset_), sectionIndex(sectionIndex_) {} Point tl; Point tr; Point bl; Point br; Rect tex; WritingModeType writingMode; Point glyphOffset; size_t sectionIndex; }; using SymbolQuads = std::vector; SymbolQuad getIconQuad(const PositionedIcon& shapedIcon, WritingModeType writingMode); SymbolQuads getGlyphQuads(const Shaping& shapedText, const std::array textOffset, const style::SymbolLayoutProperties::Evaluated&, style::SymbolPlacementType placement, const GlyphPositions& positions, bool allowVerticalPlacement); } // namespace mbgl