summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorLeith Bade <leith@mapbox.com>2015-02-03 13:54:12 +1100
committerLeith Bade <leith@mapbox.com>2015-02-04 09:39:25 +1100
commit89bbd29278b40e8de1e369ee54325d4d3098bf65 (patch)
treec8da5fc881c4ebff56766eb99db81c53e5563892 /include
parent33b4922220d19a5049072b59cbad01358099b1cf (diff)
downloadqtlocation-mapboxgl-89bbd29278b40e8de1e369ee54325d4d3098bf65.tar.gz
Use std::chrono
Diffstat (limited to 'include')
-rw-r--r--include/mbgl/android/native_map_view.hpp2
-rw-r--r--include/mbgl/map/map.hpp28
-rw-r--r--include/mbgl/map/transform.hpp28
-rw-r--r--include/mbgl/map/view.hpp4
-rw-r--r--include/mbgl/platform/default/glfw_view.hpp3
-rw-r--r--include/mbgl/platform/default/headless_view.hpp2
-rw-r--r--include/mbgl/platform/default/jpeg_reader.hpp6
-rw-r--r--include/mbgl/platform/default/png_reader.hpp6
-rw-r--r--include/mbgl/util/time.hpp28
9 files changed, 45 insertions, 62 deletions
diff --git a/include/mbgl/android/native_map_view.hpp b/include/mbgl/android/native_map_view.hpp
index 8641d277bd..c1bd085e9d 100644
--- a/include/mbgl/android/native_map_view.hpp
+++ b/include/mbgl/android/native_map_view.hpp
@@ -25,7 +25,7 @@ public:
void swap() override;
void notify() override;
- void notifyMapChange(mbgl::MapChange change, mbgl::timestamp delay) override;
+ void notifyMapChange(mbgl::MapChange change, std::chrono::steady_clock::duration delay = std::chrono::steady_clock::duration::zero()) override;
mbgl::Map &getMap();
mbgl::CachingHTTPFileSource &getFileSource();
diff --git a/include/mbgl/map/map.hpp b/include/mbgl/map/map.hpp
index 21fc8f301b..62f0d62014 100644
--- a/include/mbgl/map/map.hpp
+++ b/include/mbgl/map/map.hpp
@@ -3,7 +3,6 @@
#include <mbgl/map/transform.hpp>
#include <mbgl/util/noncopyable.hpp>
-#include <mbgl/util/time.hpp>
#include <mbgl/util/uv.hpp>
#include <mbgl/util/ptr.hpp>
@@ -16,6 +15,7 @@
#include <mutex>
#include <condition_variable>
#include <functional>
+#include <chrono>
namespace mbgl {
@@ -83,8 +83,8 @@ public:
void setClasses(const std::vector<std::string>&);
std::vector<std::string> getClasses() const;
- void setDefaultTransitionDuration(uint64_t milliseconds = 0);
- uint64_t getDefaultTransitionDuration();
+ void setDefaultTransitionDuration(std::chrono::steady_clock::duration duration = std::chrono::steady_clock::duration::zero());
+ std::chrono::steady_clock::duration getDefaultTransitionDuration();
void setStyleURL(const std::string &url);
void setStyleJSON(std::string newStyleJSON, const std::string &base = "");
std::string getStyleJSON() const;
@@ -93,20 +93,20 @@ public:
void cancelTransitions();
// Position
- void moveBy(double dx, double dy, double duration = 0);
- void setLonLat(double lon, double lat, double duration = 0);
+ void moveBy(double dx, double dy, std::chrono::steady_clock::duration duration = std::chrono::steady_clock::duration::zero());
+ void setLonLat(double lon, double lat, std::chrono::steady_clock::duration duration = std::chrono::steady_clock::duration::zero());
void getLonLat(double &lon, double &lat) const;
void startPanning();
void stopPanning();
void resetPosition();
// Scale
- void scaleBy(double ds, double cx = -1, double cy = -1, double duration = 0);
- void setScale(double scale, double cx = -1, double cy = -1, double duration = 0);
+ void scaleBy(double ds, double cx = -1, double cy = -1, std::chrono::steady_clock::duration duration = std::chrono::steady_clock::duration::zero());
+ void setScale(double scale, double cx = -1, double cy = -1, std::chrono::steady_clock::duration duration = std::chrono::steady_clock::duration::zero());
double getScale() const;
- void setZoom(double zoom, double duration = 0);
+ void setZoom(double zoom, std::chrono::steady_clock::duration duration = std::chrono::steady_clock::duration::zero());
double getZoom() const;
- void setLonLatZoom(double lon, double lat, double zoom, double duration = 0);
+ void setLonLatZoom(double lon, double lat, double zoom, std::chrono::steady_clock::duration duration = std::chrono::steady_clock::duration::zero());
void getLonLatZoom(double &lon, double &lat, double &zoom) const;
void resetZoom();
void startScaling();
@@ -115,8 +115,8 @@ public:
double getMaxZoom() const;
// Rotation
- void rotateBy(double sx, double sy, double ex, double ey, double duration = 0);
- void setBearing(double degrees, double duration = 0);
+ void rotateBy(double sx, double sy, double ex, double ey, std::chrono::steady_clock::duration duration = std::chrono::steady_clock::duration::zero());
+ void setBearing(double degrees, std::chrono::steady_clock::duration duration = std::chrono::steady_clock::duration::zero());
void setBearing(double degrees, double cx, double cy);
double getBearing() const;
void resetNorth();
@@ -129,7 +129,7 @@ public:
bool getDebug() const;
inline const TransformState &getState() const { return state; }
- inline timestamp getTime() const { return animationTime; }
+ inline std::chrono::steady_clock::time_point getTime() const { return animationTime; }
private:
util::ptr<Sprite> getSprite();
@@ -215,10 +215,10 @@ private:
std::string styleJSON = "";
std::vector<std::string> classes;
- std::atomic_uint_fast64_t defaultTransitionDuration;
+ std::chrono::steady_clock::duration defaultTransitionDuration;
bool debug = false;
- timestamp animationTime = 0;
+ std::chrono::steady_clock::time_point animationTime = std::chrono::steady_clock::time_point::min();
std::set<util::ptr<StyleSource>> activeSources;
};
diff --git a/include/mbgl/map/transform.hpp b/include/mbgl/map/transform.hpp
index a42b7aa106..246270da13 100644
--- a/include/mbgl/map/transform.hpp
+++ b/include/mbgl/map/transform.hpp
@@ -1,7 +1,6 @@
#ifndef MBGL_MAP_TRANSFORM
#define MBGL_MAP_TRANSFORM
-#include <mbgl/util/time.hpp>
#include <mbgl/map/transform_state.hpp>
#include <mbgl/util/noncopyable.hpp>
@@ -9,6 +8,7 @@
#include <cmath>
#include <forward_list>
#include <mutex>
+#include <chrono>
namespace mbgl {
@@ -25,18 +25,18 @@ public:
uint16_t fb_width, uint16_t fb_height);
// Position
- void moveBy(double dx, double dy, timestamp duration = 0);
- void setLonLat(double lon, double lat, timestamp duration = 0);
- void setLonLatZoom(double lon, double lat, double zoom, timestamp duration = 0);
+ void moveBy(double dx, double dy, std::chrono::steady_clock::duration duration = std::chrono::steady_clock::duration::zero());
+ void setLonLat(double lon, double lat, std::chrono::steady_clock::duration duration = std::chrono::steady_clock::duration::zero());
+ void setLonLatZoom(double lon, double lat, double zoom, std::chrono::steady_clock::duration duration = std::chrono::steady_clock::duration::zero());
void getLonLat(double& lon, double& lat) const;
void getLonLatZoom(double& lon, double& lat, double& zoom) const;
void startPanning();
void stopPanning();
// Zoom
- void scaleBy(double ds, double cx = -1, double cy = -1, timestamp duration = 0);
- void setScale(double scale, double cx = -1, double cy = -1, timestamp duration = 0);
- void setZoom(double zoom, timestamp duration = 0);
+ void scaleBy(double ds, double cx = -1, double cy = -1, std::chrono::steady_clock::duration duration = std::chrono::steady_clock::duration::zero());
+ void setScale(double scale, double cx = -1, double cy = -1, std::chrono::steady_clock::duration duration = std::chrono::steady_clock::duration::zero());
+ void setZoom(double zoom, std::chrono::steady_clock::duration duration = std::chrono::steady_clock::duration::zero());
double getZoom() const;
double getScale() const;
void startScaling();
@@ -45,8 +45,8 @@ public:
double getMaxZoom() const;
// Angle
- void rotateBy(double sx, double sy, double ex, double ey, timestamp duration = 0);
- void setAngle(double angle, timestamp duration = 0);
+ void rotateBy(double sx, double sy, double ex, double ey, std::chrono::steady_clock::duration duration = std::chrono::steady_clock::duration::zero());
+ void setAngle(double angle, std::chrono::steady_clock::duration duration = std::chrono::steady_clock::duration::zero());
void setAngle(double angle, double cx, double cy);
double getAngle() const;
void startRotating();
@@ -54,7 +54,7 @@ public:
// Transitions
bool needsTransition() const;
- void updateTransitions(timestamp now);
+ void updateTransitions(std::chrono::steady_clock::time_point now);
void cancelTransitions();
// Transform state
@@ -64,10 +64,10 @@ public:
private:
// Functions prefixed with underscores will *not* perform any locks. It is the caller's
// responsibility to lock this object.
- void _moveBy(double dx, double dy, timestamp duration = 0);
- void _setScale(double scale, double cx, double cy, timestamp duration = 0);
- void _setScaleXY(double new_scale, double xn, double yn, timestamp duration = 0);
- void _setAngle(double angle, timestamp duration = 0);
+ void _moveBy(double dx, double dy, std::chrono::steady_clock::duration duration = std::chrono::steady_clock::duration::zero());
+ void _setScale(double scale, double cx, double cy, std::chrono::steady_clock::duration duration = std::chrono::steady_clock::duration::zero());
+ void _setScaleXY(double new_scale, double xn, double yn, std::chrono::steady_clock::duration duration = std::chrono::steady_clock::duration::zero());
+ void _setAngle(double angle, std::chrono::steady_clock::duration duration = std::chrono::steady_clock::duration::zero());
void _clearPanning();
void _clearRotating();
void _clearScaling();
diff --git a/include/mbgl/map/view.hpp b/include/mbgl/map/view.hpp
index 75fcb4e641..b94b8c0b93 100644
--- a/include/mbgl/map/view.hpp
+++ b/include/mbgl/map/view.hpp
@@ -1,7 +1,7 @@
#ifndef MBGL_MAP_VIEW
#define MBGL_MAP_VIEW
-#include <mbgl/util/time.hpp>
+#include <chrono>
namespace mbgl {
@@ -44,7 +44,7 @@ public:
// Notifies a watcher of map x/y/scale/rotation changes.
// Must only be called from the same thread that caused the change.
// Must not be called from the render thread.
- virtual void notifyMapChange(MapChange change, timestamp delay = 0) = 0;
+ virtual void notifyMapChange(MapChange change, std::chrono::steady_clock::duration delay = std::chrono::steady_clock::duration::zero()) = 0;
protected:
mbgl::Map *map = nullptr;
diff --git a/include/mbgl/platform/default/glfw_view.hpp b/include/mbgl/platform/default/glfw_view.hpp
index 8ec282891a..7156d4ff1f 100644
--- a/include/mbgl/platform/default/glfw_view.hpp
+++ b/include/mbgl/platform/default/glfw_view.hpp
@@ -2,7 +2,6 @@
#define MBGL_COMMON_GLFW_VIEW
#include <mbgl/mbgl.hpp>
-#include <mbgl/util/time.hpp>
#ifdef NVIDIA
#define GLFW_INCLUDE_ES2
@@ -19,7 +18,7 @@ public:
void activate();
void deactivate();
void notify();
- void notifyMapChange(mbgl::MapChange change, mbgl::timestamp delay = 0);
+ void notifyMapChange(mbgl::MapChange change, std::chrono::steady_clock::duration delay = std::chrono::steady_clock::duration::zero());
static void key(GLFWwindow *window, int key, int scancode, int action, int mods);
static void scroll(GLFWwindow *window, double xoffset, double yoffset);
diff --git a/include/mbgl/platform/default/headless_view.hpp b/include/mbgl/platform/default/headless_view.hpp
index 387011aa0b..e29f529f3d 100644
--- a/include/mbgl/platform/default/headless_view.hpp
+++ b/include/mbgl/platform/default/headless_view.hpp
@@ -31,7 +31,7 @@ public:
std::unique_ptr<uint32_t[]> readPixels();
void notify();
- void notifyMapChange(MapChange change, timestamp delay = 0);
+ void notifyMapChange(MapChange change, std::chrono::steady_clock::duration delay = std::chrono::steady_clock::duration::zero());
void activate();
void deactivate();
void swap();
diff --git a/include/mbgl/platform/default/jpeg_reader.hpp b/include/mbgl/platform/default/jpeg_reader.hpp
index 7122f24cd2..e041c0a5db 100644
--- a/include/mbgl/platform/default/jpeg_reader.hpp
+++ b/include/mbgl/platform/default/jpeg_reader.hpp
@@ -9,7 +9,13 @@ extern "C"
#include <jpeglib.h>
}
+#pragma GCC diagnostic push
+#ifndef __clang__
+#pragma GCC diagnostic ignored "-Wunused-local-typedefs"
+#pragma GCC diagnostic ignored "-Wshadow"
+#endif
#include <boost/iostreams/stream.hpp>
+#pragma GCC diagnostic pop
namespace mbgl { namespace util {
diff --git a/include/mbgl/platform/default/png_reader.hpp b/include/mbgl/platform/default/png_reader.hpp
index 66debd4fba..649e7a75c9 100644
--- a/include/mbgl/platform/default/png_reader.hpp
+++ b/include/mbgl/platform/default/png_reader.hpp
@@ -11,7 +11,13 @@ extern "C"
#include <cstring>
#include <memory>
+#pragma GCC diagnostic push
+#ifndef __clang__
+#pragma GCC diagnostic ignored "-Wunused-local-typedefs"
+#pragma GCC diagnostic ignored "-Wshadow"
+#endif
#include <boost/iostreams/stream.hpp>
+#pragma GCC diagnostic pop
namespace mbgl { namespace util {
diff --git a/include/mbgl/util/time.hpp b/include/mbgl/util/time.hpp
index e8afbeff6d..c2e931b10b 100644
--- a/include/mbgl/util/time.hpp
+++ b/include/mbgl/util/time.hpp
@@ -7,41 +7,13 @@
namespace mbgl {
-typedef uint64_t timestamp;
-
namespace util {
-
-// Returns time in nanoseconds since an arbitrary point in the past. This has
-// no relation to the current time, but is continuously increasing, so
-// comparisons between different timestamps produce meaningful values.
-timestamp now();
-
-
// Returns the RFC1123 formatted date. E.g. "Tue, 04 Nov 2014 02:13:24 GMT"
std::string rfc1123(std::time_t time);
}
-// used for time conversions
-constexpr timestamp operator"" _nanoseconds (long double ns) { return ns; }
-constexpr timestamp operator"" _nanosecond (long double ns) { return ns; }
-constexpr timestamp operator"" _microseconds (long double us) { return us * 1e3; }
-constexpr timestamp operator"" _microsecond (long double us) { return us * 1e3; }
-constexpr timestamp operator"" _milliseconds (long double ms) { return ms * 1e6; }
-constexpr timestamp operator"" _millisecond (long double ms) { return ms * 1e6; }
-constexpr timestamp operator"" _seconds (long double s) { return s * 1e9; }
-constexpr timestamp operator"" _second (long double s) { return s * 1e9; }
-
-constexpr timestamp operator"" _nanoseconds (unsigned long long ns) { return ns; }
-constexpr timestamp operator"" _nanosecond (unsigned long long ns) { return ns; }
-constexpr timestamp operator"" _microseconds (unsigned long long us) { return us * 1e3; }
-constexpr timestamp operator"" _microsecond (unsigned long long us) { return us * 1e3; }
-constexpr timestamp operator"" _milliseconds (unsigned long long ms) { return ms * 1e6; }
-constexpr timestamp operator"" _millisecond (unsigned long long ms) { return ms * 1e6; }
-constexpr timestamp operator"" _seconds (unsigned long long s) { return s * 1e9; }
-constexpr timestamp operator"" _second (unsigned long long s) { return s * 1e9; }
-
}
#endif