From 449f403e874388d752bce49c807abd51fa562fd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20Ka=CC=88fer?= Date: Wed, 30 Apr 2014 14:46:28 +0200 Subject: [PATCH] rename animation => transition --- include/llmr/map/map.hpp | 4 +- include/llmr/map/transform.hpp | 20 +++---- include/llmr/util/raster.hpp | 14 ++--- .../util/{animation.hpp => transition.hpp} | 20 +++---- src/map/map.cpp | 17 +++--- src/map/source.cpp | 6 +-- src/map/transform.cpp | 52 +++++++++---------- src/util/raster.cpp | 14 ++--- src/util/{animation.cpp => transition.cpp} | 10 ++-- 9 files changed, 78 insertions(+), 79 deletions(-) rename include/llmr/util/{animation.hpp => transition.hpp} (71%) rename src/util/{animation.cpp => transition.cpp} (60%) diff --git a/include/llmr/map/map.hpp b/include/llmr/map/map.hpp index 801831006..0a076f7ea 100644 --- a/include/llmr/map/map.hpp +++ b/include/llmr/map/map.hpp @@ -48,8 +48,8 @@ public: void resize(uint16_t width, uint16_t height, float ratio = 1); void resize(uint16_t width, uint16_t height, float ratio, uint16_t fb_width, uint16_t fb_height); - // Animations - void cancelAnimations(); + // Transition + void cancelTransitions(); // Position void moveBy(double dx, double dy, double duration = 0); diff --git a/include/llmr/map/transform.hpp b/include/llmr/map/transform.hpp index a443a6b6f..6b4352130 100644 --- a/include/llmr/map/transform.hpp +++ b/include/llmr/map/transform.hpp @@ -1,7 +1,7 @@ #ifndef LLMR_MAP_TRANSFORM #define LLMR_MAP_TRANSFORM -#include +#include #include #include @@ -48,10 +48,10 @@ public: void startScaling(); void stopScaling(); - // Animations - bool needsAnimation() const; - void updateAnimations(time now); - void cancelAnimations(); + // Transitions + bool needsTransition() const; + void updateTransitions(time now); + void cancelTransitions(); // Transform state const TransformState currentState() const; @@ -76,7 +76,7 @@ private: // you render a new frame. TransformState current; - // This reflects the final position of the transform, after all possible animations took place. + // This reflects the final position of the transform, after all possible transition took place. TransformState final; // Limit the amount of zooming possible on the map. @@ -87,10 +87,10 @@ private: // cache values for spherical mercator math double zc, Bc, Cc; - std::forward_list> animations; - std::shared_ptr scale_timeout; - std::shared_ptr rotate_timeout; - std::shared_ptr pan_timeout; + std::forward_list> transitions; + std::shared_ptr scale_timeout; + std::shared_ptr rotate_timeout; + std::shared_ptr pan_timeout; }; } diff --git a/include/llmr/util/raster.hpp b/include/llmr/util/raster.hpp index 58fb09fae..0bca3a736 100644 --- a/include/llmr/util/raster.hpp +++ b/include/llmr/util/raster.hpp @@ -1,7 +1,7 @@ #ifndef LLMR_UTIL_RASTER #define LLMR_UTIL_RASTER -#include +#include #include #include @@ -29,10 +29,10 @@ public: // loaded status bool isLoaded() const; - // animations - void beginFadeInAnimation(); - bool needsAnimation() const; - void updateAnimations(time now); + // transitions + void beginFadeInTransition(); + bool needsTransition() const; + void updateTransitions(time now); inline void setData(const std::string &img) { data = img; } @@ -71,8 +71,8 @@ private: // the raw pixels char *img = nullptr; - // fade in animation - std::shared_ptr fade_animation = nullptr; + // fade in transition + std::shared_ptr fade_transition = nullptr; }; } diff --git a/include/llmr/util/animation.hpp b/include/llmr/util/transition.hpp similarity index 71% rename from include/llmr/util/animation.hpp rename to include/llmr/util/transition.hpp index 1a0048d76..cab73aab5 100644 --- a/include/llmr/util/animation.hpp +++ b/include/llmr/util/transition.hpp @@ -1,5 +1,5 @@ -#ifndef LLMR_UTIL_ANIMATION -#define LLMR_UTIL_ANIMATION +#ifndef LLMR_UTIL_TRANSITION +#define LLMR_UTIL_TRANSITION #include #include @@ -7,14 +7,14 @@ namespace llmr { namespace util { -class animation : private noncopyable { +class transition : private noncopyable { public: enum state { running, complete }; - inline animation(time start, time duration) + inline transition(time start, time duration) : start(start), duration(duration) {} @@ -23,20 +23,20 @@ public: } virtual state update(time now) const = 0; - virtual ~animation(); + virtual ~transition(); protected: const time start, duration; }; -class ease_animation : public animation { +class ease_transition : public transition { public: // Disable automatic casts. template - inline ease_animation(double from, double to, double& value, T1 start, T2 duration) = delete; + inline ease_transition(double from, double to, double& value, T1 start, T2 duration) = delete; // Actual constructor. - ease_animation(double from, double to, double& value, time start, time duration); + ease_transition(double from, double to, double& value, time start, time duration); state update(time now) const; private: @@ -45,7 +45,7 @@ private: }; template -class timeout : public animation { +class timeout : public transition { public: // Disable automatic casts. template @@ -53,7 +53,7 @@ public: // Actual constructor. timeout(T final_value, T& value, time start, time duration) - : animation(start, duration), + : transition(start, duration), final_value(final_value), value(value) {} diff --git a/src/map/map.cpp b/src/map/map.cpp index 5dab77380..cd56073c1 100644 --- a/src/map/map.cpp +++ b/src/map/map.cpp @@ -3,7 +3,7 @@ #include #include #include -#include +#include #include #include @@ -179,10 +179,10 @@ void Map::resize(uint16_t width, uint16_t height, float ratio, uint16_t fb_width } } -#pragma mark - Animations +#pragma mark - Transitions -void Map::cancelAnimations() { - transform.cancelAnimations(); +void Map::cancelTransitions() { + transform.cancelTransitions(); update(); } @@ -348,11 +348,10 @@ void Map::updateTiles() { void Map::prepare() { view.make_active(); - // Update animations + // Update transitions animationTime = util::now(); - bool animating = transform.needsAnimation(); - if (animating) { - transform.updateAnimations(animationTime); + if (transform.needsTransition()) { + transform.updateTransitions(animationTime); } state = transform.currentState(); @@ -403,7 +402,7 @@ void Map::render() { painter.renderMatte(); // Schedule another rerender when we definitely need a next frame. - if (transform.needsAnimation()) { + if (transform.needsTransition()) { update(); } } diff --git a/src/map/source.cpp b/src/map/source.cpp index 41d114a2c..a83d06f88 100644 --- a/src/map/source.cpp +++ b/src/map/source.cpp @@ -55,10 +55,10 @@ void Source::render(time animationTime) { std::shared_ptr raster = tile.data->raster; if (raster && !raster->textured) { raster->setTexturepool(&texturepool); - raster->beginFadeInAnimation(); + raster->beginFadeInTransition(); } - if (raster && raster->needsAnimation()) { - raster->updateAnimations(animationTime); + if (raster && raster->needsTransition()) { + raster->updateTransitions(animationTime); } } painter.render(tile); diff --git a/src/map/transform.cpp b/src/map/transform.cpp index b2fc0f595..d8ab9a744 100644 --- a/src/map/transform.cpp +++ b/src/map/transform.cpp @@ -56,12 +56,12 @@ void Transform::_moveBy(const double dx, const double dy, const time duration) { current.x = final.x; current.y = final.y; } else { - // Use a common start time for all of the animations to avoid divergent animations. + // Use a common start time for all of the transitions to avoid divergent transitions. time start = util::now(); - animations.emplace_front( - std::make_shared(current.x, final.x, current.x, start, duration)); - animations.emplace_front( - std::make_shared(current.y, final.y, current.y, start, duration)); + transitions.emplace_front( + std::make_shared(current.x, final.x, current.x, start, duration)); + transitions.emplace_front( + std::make_shared(current.y, final.y, current.y, start, duration)); } } @@ -116,7 +116,7 @@ void Transform::startPanning() { current.panning = true; time start = util::now(); pan_timeout = std::make_shared>(false, current.panning, start, 200_milliseconds); - animations.emplace_front(pan_timeout); + transitions.emplace_front(pan_timeout); } void Transform::stopPanning() { @@ -128,7 +128,7 @@ void Transform::stopPanning() { void Transform::_clearPanning() { current.panning = false; if (pan_timeout) { - animations.remove(pan_timeout); + transitions.remove(pan_timeout); pan_timeout.reset(); } } @@ -183,7 +183,7 @@ void Transform::startScaling() { current.scaling = true; time start = util::now(); scale_timeout = std::make_shared>(false, current.scaling, start, 200_milliseconds); - animations.emplace_front(scale_timeout); + transitions.emplace_front(scale_timeout); } void Transform::stopScaling() { @@ -197,7 +197,7 @@ void Transform::_clearScaling() { current.scaling = false; if (scale_timeout) { - animations.remove(scale_timeout); + transitions.remove(scale_timeout); scale_timeout.reset(); } } @@ -248,14 +248,14 @@ void Transform::_setScaleXY(const double new_scale, const double xn, const doubl current.x = final.x; current.y = final.y; } else { - // Use a common start time for all of the animations to avoid divergent animations. + // Use a common start time for all of the transitions to avoid divergent transitions. time start = util::now(); - animations.emplace_front(std::make_shared( + transitions.emplace_front(std::make_shared( current.scale, final.scale, current.scale, start, duration)); - animations.emplace_front( - std::make_shared(current.x, final.x, current.x, start, duration)); - animations.emplace_front( - std::make_shared(current.y, final.y, current.y, start, duration)); + transitions.emplace_front( + std::make_shared(current.x, final.x, current.x, start, duration)); + transitions.emplace_front( + std::make_shared(current.y, final.y, current.y, start, duration)); } const double s = final.scale * util::tileSize; @@ -335,7 +335,7 @@ void Transform::_setAngle(double new_angle, const time duration) { current.angle = final.angle; } else { time start = util::now(); - animations.emplace_front(std::make_shared( + transitions.emplace_front(std::make_shared( current.angle, final.angle, current.angle, start, duration)); } } @@ -355,7 +355,7 @@ void Transform::startRotating() { current.rotating = true; time start = util::now(); rotate_timeout = std::make_shared>(false, current.rotating, start, 200_milliseconds); - animations.emplace_front(rotate_timeout); + transitions.emplace_front(rotate_timeout); } void Transform::stopRotating() { @@ -369,31 +369,31 @@ void Transform::_clearRotating() { current.rotating = false; if (rotate_timeout) { - animations.remove(rotate_timeout); + transitions.remove(rotate_timeout); rotate_timeout.reset(); } } -#pragma mark - Animation +#pragma mark - Transition -bool Transform::needsAnimation() const { +bool Transform::needsTransition() const { uv::readlock lock(mtx); - return !animations.empty(); + return !transitions.empty(); } -void Transform::updateAnimations(const time now) { +void Transform::updateTransitions(const time now) { uv::writelock lock(mtx); - animations.remove_if([now](const std::shared_ptr &animation) { - return animation->update(now) == util::animation::complete; + transitions.remove_if([now](const std::shared_ptr &transition) { + return transition->update(now) == util::transition::complete; }); } -void Transform::cancelAnimations() { +void Transform::cancelTransitions() { uv::writelock lock(mtx); - animations.clear(); + transitions.clear(); } #pragma mark - Transform state diff --git a/src/util/raster.cpp b/src/util/raster.cpp index 84bfe49f5..e7cb89e42 100644 --- a/src/util/raster.cpp +++ b/src/util/raster.cpp @@ -185,18 +185,18 @@ void Raster::bind(bool linear) { } } -void Raster::beginFadeInAnimation() { +void Raster::beginFadeInTransition() { time start = util::now(); - fade_animation = std::make_shared(opacity, 1.0, opacity, start, 250_milliseconds); + fade_transition = std::make_shared(opacity, 1.0, opacity, start, 250_milliseconds); } -bool Raster::needsAnimation() const { - return fade_animation != nullptr; +bool Raster::needsTransition() const { + return fade_transition != nullptr; } -void Raster::updateAnimations(time now) { - if (fade_animation->update(now) == util::animation::complete) { - fade_animation = nullptr; +void Raster::updateTransitions(time now) { + if (fade_transition->update(now) == util::transition::complete) { + fade_transition = nullptr; } } diff --git a/src/util/animation.cpp b/src/util/transition.cpp similarity index 60% rename from src/util/animation.cpp rename to src/util/transition.cpp index 524465b67..af5b5a70a 100644 --- a/src/util/animation.cpp +++ b/src/util/transition.cpp @@ -1,4 +1,4 @@ -#include +#include #include #include @@ -6,16 +6,16 @@ using namespace llmr::util; UnitBezier ease(0.25, 0.1, 0.25, 1); -animation::~animation() {} +transition::~transition() {} -ease_animation::ease_animation(double from, double to, double &value, time start, time duration) - : animation(start, duration), +ease_transition::ease_transition(double from, double to, double &value, time start, time duration) + : transition(start, duration), from(from), to(to), value(value) { } -animation::state ease_animation::update(time now) const { +transition::state ease_transition::update(time now) const { float t = progress(now); if (t >= 1) { value = to;