diff options
Diffstat (limited to 'src/mbgl/style/style.hpp')
-rw-r--r-- | src/mbgl/style/style.hpp | 84 |
1 files changed, 15 insertions, 69 deletions
diff --git a/src/mbgl/style/style.hpp b/src/mbgl/style/style.hpp index a947fce44f..a60fee9264 100644 --- a/src/mbgl/style/style.hpp +++ b/src/mbgl/style/style.hpp @@ -5,49 +5,30 @@ #include <mbgl/style/source_observer.hpp> #include <mbgl/style/layer_observer.hpp> #include <mbgl/style/light_observer.hpp> -#include <mbgl/style/image.hpp> -#include <mbgl/renderer/render_source.hpp> -#include <mbgl/renderer/render_source_observer.hpp> -#include <mbgl/renderer/render_layer.hpp> -#include <mbgl/renderer/render_light.hpp> -#include <mbgl/text/glyph_atlas_observer.hpp> #include <mbgl/sprite/sprite_loader_observer.hpp> -#include <mbgl/map/mode.hpp> -#include <mbgl/map/zoom_history.hpp> +#include <mbgl/style/image.hpp> +#include <mbgl/style/source.hpp> +#include <mbgl/style/layer.hpp> #include <mbgl/util/noncopyable.hpp> -#include <mbgl/util/chrono.hpp> #include <mbgl/util/optional.hpp> -#include <mbgl/util/feature.hpp> #include <mbgl/util/geo.hpp> -#include <cstdint> #include <memory> #include <string> #include <vector> +#include <unordered_map> namespace mbgl { +class Scheduler; class FileSource; -class GlyphAtlas; -class SpriteAtlas; class SpriteLoader; -class LineAtlas; -class RenderData; -class TransformState; -class RenderedQueryOptions; -class Scheduler; -class UpdateParameters; namespace style { -class Layer; -class QueryParameters; - -class Style : public GlyphAtlasObserver, - public SpriteLoaderObserver, +class Style : public SpriteLoaderObserver, public SourceObserver, - public RenderSourceObserver, public LayerObserver, public LightObserver, public util::noncopyable { @@ -61,32 +42,21 @@ public: bool isLoaded() const; - void update(const UpdateParameters&); - - bool hasTransitions() const; - std::exception_ptr getLastError() const { return lastError; } - std::vector<const Source*> getSources() const; std::vector<Source*> getSources(); Source* getSource(const std::string& id) const; void addSource(std::unique_ptr<Source>); std::unique_ptr<Source> removeSource(const std::string& sourceID); - std::vector<const Layer*> getLayers() const; std::vector<Layer*> getLayers(); Layer* getLayer(const std::string& id) const; Layer* addLayer(std::unique_ptr<Layer>, optional<std::string> beforeLayerID = {}); std::unique_ptr<Layer> removeLayer(const std::string& layerID); - // Should be moved to Impl eventually - std::vector<const RenderLayer*> getRenderLayers() const; - std::vector<RenderLayer*> getRenderLayers(); - RenderLayer* getRenderLayer(const std::string& id) const; - std::string getName() const; LatLng getDefaultLatLng() const; double getDefaultZoom() const; @@ -98,33 +68,28 @@ public: void setLight(std::unique_ptr<Light>); Light* getLight() const; - const RenderLight& getRenderLight() const; const style::Image* getImage(const std::string&) const; void addImage(std::unique_ptr<style::Image>); void removeImage(const std::string&); - RenderData getRenderData(MapDebugOptions, float angle) const; - - std::vector<Feature> queryRenderedFeatures(const ScreenLineString& geometry, - const TransformState& transformState, - const RenderedQueryOptions& options) const; + const std::string& getGlyphURL() const; - void setSourceTileCacheSize(size_t); - void onLowMemory(); + std::vector<Immutable<Image::Impl>> getImageImpls() const; + std::vector<Immutable<Source::Impl>> getSourceImpls() const; + std::vector<Immutable<Layer::Impl>> getLayerImpls() const; void dumpDebugLogs() const; + bool loaded = false; + bool spriteLoaded = false; + +private: Scheduler& scheduler; FileSource& fileSource; - std::unique_ptr<GlyphAtlas> glyphAtlas; std::unique_ptr<SpriteLoader> spriteLoader; - std::unique_ptr<SpriteAtlas> spriteAtlas; - std::unique_ptr<LineAtlas> lineAtlas; - - RenderSource* getRenderSource(const std::string& id) const; + std::string glyphURL; -private: std::unordered_map<std::string, std::unique_ptr<style::Image>> images; std::vector<std::unique_ptr<Source>> sources; std::vector<std::unique_ptr<Layer>> layers; @@ -138,19 +103,8 @@ private: double defaultBearing = 0; double defaultPitch = 0; - std::vector<Immutable<Image::Impl>> imageImpls; - std::vector<Immutable<Source::Impl>> sourceImpls; - std::vector<Immutable<Layer::Impl>> layerImpls; - - std::unordered_map<std::string, std::unique_ptr<RenderSource>> renderSources; - std::unordered_map<std::string, std::unique_ptr<RenderLayer>> renderLayers; - RenderLight renderLight; - std::vector<std::unique_ptr<Layer>>::const_iterator findLayer(const std::string& layerID) const; - // GlyphAtlasObserver implementation. - void onGlyphsError(const FontStack&, const GlyphRange&, std::exception_ptr) override; - // SpriteLoaderObserver implementation. void onSpriteLoaded(std::vector<std::unique_ptr<Image>>&&) override; void onSpriteError(std::exception_ptr) override; @@ -160,8 +114,6 @@ private: void onSourceChanged(Source&) override; void onSourceError(Source&, std::exception_ptr) override; void onSourceDescriptionChanged(Source&) override; - void onTileChanged(RenderSource&, const OverscaledTileID&) override; - void onTileError(RenderSource&, const OverscaledTileID&, std::exception_ptr) override; // LayerObserver implementation. void onLayerChanged(Layer&) override; @@ -173,12 +125,6 @@ private: Observer* observer = &nullObserver; std::exception_ptr lastError; - - ZoomHistory zoomHistory; - bool spriteLoaded = false; - -public: - bool loaded = false; }; } // namespace style |