diff options
author | Konstantin Käfer <mail@kkaefer.com> | 2014-08-12 13:16:20 +0200 |
---|---|---|
committer | Konstantin Käfer <mail@kkaefer.com> | 2014-08-12 13:16:20 +0200 |
commit | 9b9ad20a90f55ffb31bad71d724845d9e5511a4f (patch) | |
tree | 5bd92a12f93b75f6d70df6e18bbcb29e838ecca0 /src | |
parent | fae1c157f6fe15097bb3ca663dd62775ed608622 (diff) | |
parent | bdfc1036d3b0148fa0f57a277f7686b4b38e2071 (diff) | |
download | qtlocation-mapboxgl-9b9ad20a90f55ffb31bad71d724845d9e5511a4f.tar.gz |
Merge branch 'master' into style-parser-test
Conflicts:
mapboxgl.gyp
Diffstat (limited to 'src')
-rw-r--r-- | src/map/map.cpp | 7 | ||||
-rw-r--r-- | src/map/sprite.cpp | 2 | ||||
-rw-r--r-- | src/map/tile_data.cpp | 1 | ||||
-rw-r--r-- | src/map/transform.cpp | 5 | ||||
-rw-r--r-- | src/platform/request.cpp | 2 | ||||
-rw-r--r-- | src/style/style.cpp | 5 | ||||
-rw-r--r-- | src/text/glyph_store.cpp | 2 | ||||
-rw-r--r-- | src/util/raster.cpp | 2 | ||||
-rw-r--r-- | src/util/time.cpp | 12 | ||||
-rw-r--r-- | src/util/uv.cpp | 19 |
10 files changed, 46 insertions, 11 deletions
diff --git a/src/map/map.cpp b/src/map/map.cpp index ef7b9548bd..81cbd394ba 100644 --- a/src/map/map.cpp +++ b/src/map/map.cpp @@ -9,7 +9,7 @@ #include <mbgl/util/clip_ids.hpp> #include <mbgl/util/string.hpp> #include <mbgl/util/constants.hpp> -#include <mbgl/util/uv.hpp> +#include <mbgl/util/uv_detail.hpp> #include <mbgl/util/std.hpp> #include <mbgl/style/style.hpp> #include <mbgl/text/glyph_store.hpp> @@ -32,6 +32,7 @@ using namespace mbgl; Map::Map(View& view) : loop(std::make_shared<uv::loop>()), + thread(std::make_unique<uv::thread>()), view(view), transform(view), fileSource(std::make_shared<FileSource>()), @@ -78,7 +79,7 @@ void Map::start() { uv_async_init(**loop, async_cleanup, cleanup); async_cleanup->data = this; - uv_thread_create(&thread, [](void *arg) { + uv_thread_create(*thread, [](void *arg) { Map *map = static_cast<Map *>(arg); map->run(); }, this); @@ -89,7 +90,7 @@ void Map::stop() { uv_async_send(async_terminate); } - uv_thread_join(&thread); + uv_thread_join(*thread); // Run the event loop once to make sure our async delete handlers are called. uv_run(**loop, UV_RUN_ONCE); diff --git a/src/map/sprite.cpp b/src/map/sprite.cpp index f396fec07d..88e940c00e 100644 --- a/src/map/sprite.cpp +++ b/src/map/sprite.cpp @@ -6,7 +6,7 @@ #include <string> #include <mbgl/platform/platform.hpp> #include <mbgl/util/filesource.hpp> -#include <mbgl/util/uv.hpp> +#include <mbgl/util/uv_detail.hpp> #include <mbgl/util/std.hpp> #include <rapidjson/document.h> diff --git a/src/map/tile_data.cpp b/src/map/tile_data.cpp index a94eb00fbf..4333e2d2fd 100644 --- a/src/map/tile_data.cpp +++ b/src/map/tile_data.cpp @@ -5,6 +5,7 @@ #include <mbgl/util/token.hpp> #include <mbgl/util/string.hpp> #include <mbgl/util/filesource.hpp> +#include <mbgl/util/uv_detail.hpp> using namespace mbgl; diff --git a/src/map/transform.cpp b/src/map/transform.cpp index 6338df6a48..a68cffdc7e 100644 --- a/src/map/transform.cpp +++ b/src/map/transform.cpp @@ -5,6 +5,7 @@ #include <mbgl/util/std.hpp> #include <mbgl/util/math.hpp> #include <mbgl/util/time.hpp> +#include <mbgl/util/uv_detail.hpp> #include <mbgl/util/transition.hpp> #include <mbgl/platform/platform.hpp> #include <cstdio> @@ -16,9 +17,7 @@ const double R2D = 180.0 / M_PI; const double M2PI = 2 * M_PI; const double MIN_ROTATE_SCALE = 8; -Transform::Transform(View &view) - : view(view) { - +Transform::Transform(View &view) : view(view), mtx(std::make_unique<uv::rwlock>()) { setScale(current.scale); setAngle(current.angle); } diff --git a/src/platform/request.cpp b/src/platform/request.cpp index 9382892a91..efd17895db 100644 --- a/src/platform/request.cpp +++ b/src/platform/request.cpp @@ -1,7 +1,7 @@ #include <mbgl/platform/request.hpp> #include <mbgl/platform/platform.hpp> #include <mbgl/util/std.hpp> -#include <mbgl/util/uv.hpp> +#include <mbgl/util/uv_detail.hpp> using namespace mbgl::platform; diff --git a/src/style/style.cpp b/src/style/style.cpp index 03881f96a0..22c7610105 100644 --- a/src/style/style.cpp +++ b/src/style/style.cpp @@ -6,6 +6,8 @@ #include <mbgl/util/constants.hpp> #include <mbgl/util/time.hpp> #include <mbgl/util/error.hpp> +#include <mbgl/util/std.hpp> +#include <mbgl/util/uv_detail.hpp> #include <csscolorparser/csscolorparser.hpp> #include <rapidjson/document.h> @@ -13,7 +15,8 @@ namespace mbgl { -Style::Style() { +Style::Style() + : mtx(std::make_unique<uv::rwlock>()) { } void Style::updateProperties(float z, timestamp now) { diff --git a/src/text/glyph_store.cpp b/src/text/glyph_store.cpp index 4b90b51c24..c32e1642e5 100644 --- a/src/text/glyph_store.cpp +++ b/src/text/glyph_store.cpp @@ -9,7 +9,7 @@ #include <mbgl/util/math.hpp> #include <mbgl/util/filesource.hpp> #include <mbgl/platform/platform.hpp> -#include <uv.h> +#include <mbgl/util/uv_detail.hpp> #include <algorithm> namespace mbgl { diff --git a/src/util/raster.cpp b/src/util/raster.cpp index 4a040f9cb6..fe5acbd526 100644 --- a/src/util/raster.cpp +++ b/src/util/raster.cpp @@ -7,7 +7,7 @@ #include <mbgl/platform/platform.hpp> #include <mbgl/platform/gl.hpp> #include <mbgl/util/time.hpp> -#include <mbgl/util/uv.hpp> +#include <mbgl/util/uv_detail.hpp> #include <mbgl/util/std.hpp> #include <png.h> diff --git a/src/util/time.cpp b/src/util/time.cpp new file mode 100644 index 0000000000..4cd8077f98 --- /dev/null +++ b/src/util/time.cpp @@ -0,0 +1,12 @@ +#include <mbgl/util/time.hpp> +#include <mbgl/util/uv_detail.hpp> + +namespace mbgl { +namespace util { + +timestamp now() { + return uv_hrtime(); +} + +} +} diff --git a/src/util/uv.cpp b/src/util/uv.cpp new file mode 100644 index 0000000000..65c790b9c0 --- /dev/null +++ b/src/util/uv.cpp @@ -0,0 +1,19 @@ +#include <mbgl/util/uv.hpp> + +#include <uv.h> + +namespace uv { + +std::string cwd() { + size_t max = 0; + std::string dir; + do { + max += 256; + dir.resize(max); + uv_cwd(const_cast<char *>(dir.data()), &max); + } while (max == dir.size()); + dir.resize(max - 1); + return dir; +} + +} |