#ifndef MBGL_RENDERER_FRAME_HISTORY #define MBGL_RENDERER_FRAME_HISTORY #include #include #include #include namespace mbgl { class FrameHistory { public: FrameHistory(); void record(const TimePoint&, float zoom, const Duration&); bool needsAnimation(const Duration&) const; void bind(gl::GLObjectStore&); void upload(gl::GLObjectStore&); private: const int width = 256; const int height = 1; std::array changeTimes; std::array changeOpacities; std::array opacities; int16_t previousZoomIndex = 0; TimePoint previousTime = TimePoint::min(); TimePoint time = TimePoint::min(); bool firstFrame = true; bool changed = true; gl::TextureHolder texture; }; } // namespace mbgl #endif