#ifndef MBGL_MAP_VECTOR_TILE_DATA #define MBGL_MAP_VECTOR_TILE_DATA #include #include #include #include #include #include namespace mbgl { class Style; class WorkRequest; class FileRequest; class GeometryTileMonitor; class VectorTileData : public TileData { public: VectorTileData(const TileID&, std::unique_ptr monitor, std::string sourceID, Style&, const MapMode, const std::function& callback); ~VectorTileData(); Bucket* getBucket(const StyleLayer&) override; bool parsePending(std::function callback) override; void redoPlacement(PlacementConfig config, const std::function&) override; void redoPlacement(const std::function&) override; void cancel() override; private: Style& style; Worker& worker; TileWorker tileWorker; std::unique_ptr monitor; std::unique_ptr tileRequest; std::unique_ptr workRequest; // Contains all the Bucket objects for the tile. Buckets are render // objects and they get added by tile parsing operations. std::unordered_map> buckets; // Stores the placement configuration of the text that is currently placed on the screen. PlacementConfig placedConfig; // Stores the placement configuration of how the text should be placed. This isn't necessarily // the one that is being displayed. PlacementConfig targetConfig; }; } // namespace mbgl #endif