summaryrefslogtreecommitdiff
path: root/src/mbgl/tile/geometry_tile.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/tile/geometry_tile.hpp')
-rw-r--r--src/mbgl/tile/geometry_tile.hpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/mbgl/tile/geometry_tile.hpp b/src/mbgl/tile/geometry_tile.hpp
index cabe193467..c7b0264c5e 100644
--- a/src/mbgl/tile/geometry_tile.hpp
+++ b/src/mbgl/tile/geometry_tile.hpp
@@ -2,6 +2,7 @@
#include <mbgl/tile/tile.hpp>
#include <mbgl/tile/geometry_tile_worker.hpp>
+#include <mbgl/text/glyph_atlas.hpp>
#include <mbgl/text/placement_config.hpp>
#include <mbgl/util/feature.hpp>
#include <mbgl/actor/actor.hpp>
@@ -24,7 +25,7 @@ class UpdateParameters;
class SourceQueryOptions;
} // namespace style
-class GeometryTile : public Tile {
+class GeometryTile : public Tile, public GlyphRequestor {
public:
GeometryTile(const OverscaledTileID&,
std::string sourceID,
@@ -38,6 +39,8 @@ public:
void setPlacementConfig(const PlacementConfig&) override;
void symbolDependenciesChanged() override;
void redoLayout() override;
+
+ void getGlyphs(GlyphDependencies);
Bucket* getBucket(const style::Layer&) override;
@@ -71,6 +74,8 @@ public:
void onPlacement(PlacementResult);
void onError(std::exception_ptr);
+
+ virtual void onGlyphsAvailable(GlyphPositionMap) override;
protected:
const GeometryTileData* getData() {
@@ -87,6 +92,8 @@ private:
std::shared_ptr<Mailbox> mailbox;
Actor<GeometryTileWorker> worker;
+ GlyphAtlas& glyphAtlas;
+
uint64_t correlationID = 0;
optional<PlacementConfig> requestedConfig;