From d75f0075f3356f8c0b8616ae93a9973d01cfbcfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20Ka=CC=88fer?= Date: Fri, 27 Jun 2014 16:42:44 +0200 Subject: [PATCH] even more refactoring --- include/llmr/map/map.hpp | 1 + include/llmr/map/tile_parser.hpp | 2 +- include/llmr/map/vector_tile.hpp | 2 +- .../llmr/{map => style}/filter_expression.hpp | 4 +- include/llmr/style/style.hpp | 35 +------------- include/llmr/style/style_bucket.hpp | 2 +- include/llmr/style/style_layer.hpp | 46 +++++++++++++++++++ include/llmr/style/style_parser.hpp | 3 ++ src/map/map.cpp | 3 ++ src/map/source.cpp | 1 + src/map/tile_parser.cpp | 1 + src/map/vector_tile_data.cpp | 2 + src/renderer/icon_bucket.cpp | 1 + src/renderer/painter.cpp | 1 + src/renderer/painter_fill.cpp | 1 + src/renderer/painter_icon.cpp | 2 + src/renderer/painter_line.cpp | 1 + src/renderer/painter_raster.cpp | 1 + src/renderer/painter_text.cpp | 1 + src/{map => style}/filter_expression.cpp | 2 +- src/style/style.cpp | 3 +- src/style/style_parser.cpp | 1 + 22 files changed, 76 insertions(+), 40 deletions(-) rename include/llmr/{map => style}/filter_expression.hpp (97%) create mode 100644 include/llmr/style/style_layer.hpp rename src/{map => style}/filter_expression.cpp (99%) diff --git a/include/llmr/map/map.hpp b/include/llmr/map/map.hpp index 621fdb388..54cbdcb16 100644 --- a/include/llmr/map/map.hpp +++ b/include/llmr/map/map.hpp @@ -20,6 +20,7 @@ namespace llmr { class Source; +class SpriteAtlas; class Map : private util::noncopyable { public: diff --git a/include/llmr/map/tile_parser.hpp b/include/llmr/map/tile_parser.hpp index 2809c6b4e..c4fd3d8bc 100644 --- a/include/llmr/map/tile_parser.hpp +++ b/include/llmr/map/tile_parser.hpp @@ -6,7 +6,7 @@ #include #include #include -#include +#include namespace llmr { diff --git a/include/llmr/map/vector_tile.hpp b/include/llmr/map/vector_tile.hpp index f9e01c38b..ad7a0eea1 100644 --- a/include/llmr/map/vector_tile.hpp +++ b/include/llmr/map/vector_tile.hpp @@ -5,7 +5,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/include/llmr/map/filter_expression.hpp b/include/llmr/style/filter_expression.hpp similarity index 97% rename from include/llmr/map/filter_expression.hpp rename to include/llmr/style/filter_expression.hpp index 3c4ac857e..696aa04ae 100644 --- a/include/llmr/map/filter_expression.hpp +++ b/include/llmr/style/filter_expression.hpp @@ -1,5 +1,5 @@ -#ifndef LLMR_MAP_FILTER_EXPRESSION -#define LLMR_MAP_FILTER_EXPRESSION +#ifndef LLMR_STYLE_FILTER_EXPRESSION +#define LLMR_STYLE_FILTER_EXPRESSION #include #include diff --git a/include/llmr/style/style.hpp b/include/llmr/style/style.hpp index f2b4cd492..383aa5d75 100644 --- a/include/llmr/style/style.hpp +++ b/include/llmr/style/style.hpp @@ -3,15 +3,8 @@ #include -#include -#include -#include -#include +#include #include -#include -#include -#include -#include #include #include @@ -22,34 +15,10 @@ namespace llmr { class Sprite; - +class Source; class StyleLayer; typedef std::vector> StyleLayerGroup; -class StyleLayer { -public: - typedef std::shared_ptr Ptr; - -public: - template const T &getProperties() { - if (style.is()) { - return style.get(); - } else { - return defaultStyleProperties(); - } - } - -public: - std::string id; - StyleBucket::Ptr bucket; - std::map styles; - StyleProperties style; - std::unique_ptr rasterize; - std::shared_ptr layers; -}; - - - class Style { public: struct exception : std::runtime_error { exception(const char *msg) : std::runtime_error(msg) {} }; diff --git a/include/llmr/style/style_bucket.hpp b/include/llmr/style/style_bucket.hpp index eee9929a8..1e3cb2db0 100644 --- a/include/llmr/style/style_bucket.hpp +++ b/include/llmr/style/style_bucket.hpp @@ -2,7 +2,7 @@ #define LLMR_STYLE_STYLE_BUCKET #include -#include +#include #include #include diff --git a/include/llmr/style/style_layer.hpp b/include/llmr/style/style_layer.hpp new file mode 100644 index 000000000..889cd8648 --- /dev/null +++ b/include/llmr/style/style_layer.hpp @@ -0,0 +1,46 @@ +#ifndef LLMR_STYLE_STYLE_LAYER +#define LLMR_STYLE_STYLE_LAYER + +#include +#include +#include + +#include +#include +#include +#include + +namespace llmr { + +class StyleBucket; +class RasterizeProperties; + +class StyleLayer; +typedef std::vector> StyleLayerGroup; + +class StyleLayer { +public: + typedef std::shared_ptr Ptr; + +public: + template const T &getProperties() { + if (style.is()) { + return style.get(); + } else { + return defaultStyleProperties(); + } + } + +public: + std::string id; + std::shared_ptr bucket; + std::map styles; + StyleProperties style; + std::unique_ptr rasterize; + std::shared_ptr layers; +}; + + +} + +#endif diff --git a/include/llmr/style/style_parser.hpp b/include/llmr/style/style_parser.hpp index 29a41fb14..8d7865369 100644 --- a/include/llmr/style/style_parser.hpp +++ b/include/llmr/style/style_parser.hpp @@ -4,6 +4,9 @@ #include #include #include +#include +#include +#include #include #include diff --git a/src/map/map.cpp b/src/map/map.cpp index db94ca97d..44c62eeb2 100644 --- a/src/map/map.cpp +++ b/src/map/map.cpp @@ -9,6 +9,9 @@ #include #include #include +#include +#include +#include #include #include diff --git a/src/map/source.cpp b/src/map/source.cpp index b03d83ca4..6f7bb811f 100644 --- a/src/map/source.cpp +++ b/src/map/source.cpp @@ -9,6 +9,7 @@ #include #include #include +#include #include diff --git a/src/map/tile_parser.cpp b/src/map/tile_parser.cpp index e834e6fa9..847c57d08 100644 --- a/src/map/tile_parser.cpp +++ b/src/map/tile_parser.cpp @@ -2,6 +2,7 @@ #include #include +#include #include #include #include diff --git a/src/map/vector_tile_data.cpp b/src/map/vector_tile_data.cpp index de99bb5d3..051ebb7ea 100644 --- a/src/map/vector_tile_data.cpp +++ b/src/map/vector_tile_data.cpp @@ -1,6 +1,8 @@ #include #include #include +#include +#include using namespace llmr; diff --git a/src/renderer/icon_bucket.cpp b/src/renderer/icon_bucket.cpp index 1a1c10450..9cc1407e6 100644 --- a/src/renderer/icon_bucket.cpp +++ b/src/renderer/icon_bucket.cpp @@ -2,6 +2,7 @@ #include #include #include +#include #include #include diff --git a/src/renderer/painter.cpp b/src/renderer/painter.cpp index 0739eea32..665c7baec 100644 --- a/src/renderer/painter.cpp +++ b/src/renderer/painter.cpp @@ -1,5 +1,6 @@ #include #include +#include #include #include #include diff --git a/src/renderer/painter_fill.cpp b/src/renderer/painter_fill.cpp index fa79cb8de..e651d3f36 100644 --- a/src/renderer/painter_fill.cpp +++ b/src/renderer/painter_fill.cpp @@ -1,5 +1,6 @@ #include #include +#include #include #include #include diff --git a/src/renderer/painter_icon.cpp b/src/renderer/painter_icon.cpp index f720a2400..59ae67746 100644 --- a/src/renderer/painter_icon.cpp +++ b/src/renderer/painter_icon.cpp @@ -2,6 +2,8 @@ #include #include #include +#include +#include #include using namespace llmr; diff --git a/src/renderer/painter_line.cpp b/src/renderer/painter_line.cpp index 6ec7a1e7e..990c80b89 100644 --- a/src/renderer/painter_line.cpp +++ b/src/renderer/painter_line.cpp @@ -1,5 +1,6 @@ #include #include +#include #include using namespace llmr; diff --git a/src/renderer/painter_raster.cpp b/src/renderer/painter_raster.cpp index 4cfe7c0c6..8f330898d 100644 --- a/src/renderer/painter_raster.cpp +++ b/src/renderer/painter_raster.cpp @@ -1,5 +1,6 @@ #include #include +#include #include using namespace llmr; diff --git a/src/renderer/painter_text.cpp b/src/renderer/painter_text.cpp index 47fea57c9..89c9d4107 100644 --- a/src/renderer/painter_text.cpp +++ b/src/renderer/painter_text.cpp @@ -1,5 +1,6 @@ #include #include +#include #include #include diff --git a/src/map/filter_expression.cpp b/src/style/filter_expression.cpp similarity index 99% rename from src/map/filter_expression.cpp rename to src/style/filter_expression.cpp index 9e293b002..a0454d8af 100644 --- a/src/map/filter_expression.cpp +++ b/src/style/filter_expression.cpp @@ -1,4 +1,4 @@ -#include +#include #include namespace llmr { diff --git a/src/style/style.cpp b/src/style/style.cpp index d6d7a7291..f6de8c013 100644 --- a/src/style/style.cpp +++ b/src/style/style.cpp @@ -1,5 +1,7 @@ #include +#include #include +#include #include #include @@ -194,7 +196,6 @@ void Style::cascade(float z) { } } - bool Style::needsTransition() const { uv::readlock lock(mtx); diff --git a/src/style/style_parser.cpp b/src/style/style_parser.cpp index 7bb05ecc6..1bbb4fd52 100644 --- a/src/style/style_parser.cpp +++ b/src/style/style_parser.cpp @@ -1,4 +1,5 @@ #include +#include #include #include #include