#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(std::move(tl_)), tr(std::move(tr_)), bl(std::move(bl_)), br(std::move(br_)), tex(std::move(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, const style::SymbolLayoutProperties::Evaluated&, const float layoutTextSize, const Shaping& shapedText); SymbolQuads getGlyphQuads(const Shaping& shapedText, const style::SymbolLayoutProperties::Evaluated&, style::SymbolPlacementType placement, const GlyphPositions& positions); } // namespace mbgl