summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2014-08-12 13:16:20 +0200
committerKonstantin Käfer <mail@kkaefer.com>2014-08-12 13:16:20 +0200
commit9b9ad20a90f55ffb31bad71d724845d9e5511a4f (patch)
tree5bd92a12f93b75f6d70df6e18bbcb29e838ecca0 /src
parentfae1c157f6fe15097bb3ca663dd62775ed608622 (diff)
parentbdfc1036d3b0148fa0f57a277f7686b4b38e2071 (diff)
downloadqtlocation-mapboxgl-9b9ad20a90f55ffb31bad71d724845d9e5511a4f.tar.gz
Merge branch 'master' into style-parser-test
Conflicts: mapboxgl.gyp
Diffstat (limited to 'src')
-rw-r--r--src/map/map.cpp7
-rw-r--r--src/map/sprite.cpp2
-rw-r--r--src/map/tile_data.cpp1
-rw-r--r--src/map/transform.cpp5
-rw-r--r--src/platform/request.cpp2
-rw-r--r--src/style/style.cpp5
-rw-r--r--src/text/glyph_store.cpp2
-rw-r--r--src/util/raster.cpp2
-rw-r--r--src/util/time.cpp12
-rw-r--r--src/util/uv.cpp19
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;
+}
+
+}