From c4e4cc5081965d03132eea754c27ece3c95961cb Mon Sep 17 00:00:00 2001 From: John Firebaugh Date: Wed, 22 Jun 2016 12:31:49 -0700 Subject: [core] Adjust layer source properties to better reflect reality * Layer source ID is immutable; must be provided to the constructor * Layer source layer is mutable * Layers with GeoJSON sources do not have a source layer While here, make Layer::copy impl-private. --- include/mbgl/style/layers/circle_layer.hpp | 5 ++--- include/mbgl/style/layers/fill_layer.hpp | 5 ++--- include/mbgl/style/layers/layer.hpp.ejs | 17 ++++++++--------- include/mbgl/style/layers/line_layer.hpp | 5 ++--- include/mbgl/style/layers/raster_layer.hpp | 4 +--- include/mbgl/style/layers/symbol_layer.hpp | 5 ++--- 6 files changed, 17 insertions(+), 24 deletions(-) (limited to 'include/mbgl/style/layers') diff --git a/include/mbgl/style/layers/circle_layer.hpp b/include/mbgl/style/layers/circle_layer.hpp index 10d281b6ac..9c2b458d4b 100644 --- a/include/mbgl/style/layers/circle_layer.hpp +++ b/include/mbgl/style/layers/circle_layer.hpp @@ -13,14 +13,13 @@ namespace style { class CircleLayer : public Layer { public: - CircleLayer(const std::string& layerID); + CircleLayer(const std::string& layerID, const std::string& sourceID); ~CircleLayer() final; // Source - - void setSource(const std::string& sourceID, const std::string& sourceLayer); const std::string& getSourceID() const; const std::string& getSourceLayer() const; + void setSourceLayer(const std::string& sourceLayer); void setFilter(const Filter&); const Filter& getFilter() const; diff --git a/include/mbgl/style/layers/fill_layer.hpp b/include/mbgl/style/layers/fill_layer.hpp index a14bf4a390..90538dd3ea 100644 --- a/include/mbgl/style/layers/fill_layer.hpp +++ b/include/mbgl/style/layers/fill_layer.hpp @@ -13,14 +13,13 @@ namespace style { class FillLayer : public Layer { public: - FillLayer(const std::string& layerID); + FillLayer(const std::string& layerID, const std::string& sourceID); ~FillLayer() final; // Source - - void setSource(const std::string& sourceID, const std::string& sourceLayer); const std::string& getSourceID() const; const std::string& getSourceLayer() const; + void setSourceLayer(const std::string& sourceLayer); void setFilter(const Filter&); const Filter& getFilter() const; diff --git a/include/mbgl/style/layers/layer.hpp.ejs b/include/mbgl/style/layers/layer.hpp.ejs index fdf7620892..60365be906 100644 --- a/include/mbgl/style/layers/layer.hpp.ejs +++ b/include/mbgl/style/layers/layer.hpp.ejs @@ -22,24 +22,23 @@ namespace style { class <%- camelize(type) %>Layer : public Layer { public: +<% if (type === 'background') { -%> <%- camelize(type) %>Layer(const std::string& layerID); +<% } else { -%> + <%- camelize(type) %>Layer(const std::string& layerID, const std::string& sourceID); +<% } -%> ~<%- camelize(type) %>Layer() final; -<% if (type === 'raster') { -%> +<% if (type !== 'background') { -%> // Source - - void setSource(const std::string& sourceID); - const std::string& getSourceID() const; - -<% } else if (type !== 'background') { -%> - // Source - - void setSource(const std::string& sourceID, const std::string& sourceLayer); const std::string& getSourceID() const; +<% if (type !== 'raster') { -%> const std::string& getSourceLayer() const; + void setSourceLayer(const std::string& sourceLayer); void setFilter(const Filter&); const Filter& getFilter() const; +<% } -%> <% } -%> <% if (layoutProperties.length) { -%> diff --git a/include/mbgl/style/layers/line_layer.hpp b/include/mbgl/style/layers/line_layer.hpp index fb9e37811a..4ffeee114a 100644 --- a/include/mbgl/style/layers/line_layer.hpp +++ b/include/mbgl/style/layers/line_layer.hpp @@ -15,14 +15,13 @@ namespace style { class LineLayer : public Layer { public: - LineLayer(const std::string& layerID); + LineLayer(const std::string& layerID, const std::string& sourceID); ~LineLayer() final; // Source - - void setSource(const std::string& sourceID, const std::string& sourceLayer); const std::string& getSourceID() const; const std::string& getSourceLayer() const; + void setSourceLayer(const std::string& sourceLayer); void setFilter(const Filter&); const Filter& getFilter() const; diff --git a/include/mbgl/style/layers/raster_layer.hpp b/include/mbgl/style/layers/raster_layer.hpp index 6d0c7dd91c..372434e46d 100644 --- a/include/mbgl/style/layers/raster_layer.hpp +++ b/include/mbgl/style/layers/raster_layer.hpp @@ -13,12 +13,10 @@ namespace style { class RasterLayer : public Layer { public: - RasterLayer(const std::string& layerID); + RasterLayer(const std::string& layerID, const std::string& sourceID); ~RasterLayer() final; // Source - - void setSource(const std::string& sourceID); const std::string& getSourceID() const; // Paint properties diff --git a/include/mbgl/style/layers/symbol_layer.hpp b/include/mbgl/style/layers/symbol_layer.hpp index 7d98a5ef6b..b21c8deaf7 100644 --- a/include/mbgl/style/layers/symbol_layer.hpp +++ b/include/mbgl/style/layers/symbol_layer.hpp @@ -15,14 +15,13 @@ namespace style { class SymbolLayer : public Layer { public: - SymbolLayer(const std::string& layerID); + SymbolLayer(const std::string& layerID, const std::string& sourceID); ~SymbolLayer() final; // Source - - void setSource(const std::string& sourceID, const std::string& sourceLayer); const std::string& getSourceID() const; const std::string& getSourceLayer() const; + void setSourceLayer(const std::string& sourceLayer); void setFilter(const Filter&); const Filter& getFilter() const; -- cgit v1.2.1