1 #pragma once 2 3 #include <mbgl/map/mode.hpp> 4 #include <mbgl/util/chrono.hpp> 5 #include <mbgl/util/geometry.hpp> 6 #include <mbgl/util/optional.hpp> 7 #include <mbgl/util/noncopyable.hpp> 8 #include <mbgl/gl/vertex_buffer.hpp> 9 #include <mbgl/gl/index_buffer.hpp> 10 #include <mbgl/programs/debug_program.hpp> 11 12 namespace mbgl { 13 14 class OverscaledTileID; 15 16 namespace gl { 17 class Context; 18 } // namespace gl 19 20 class DebugBucket : private util::noncopyable { 21 public: 22 DebugBucket(const OverscaledTileID& id, 23 bool renderable, 24 bool complete, 25 optional<Timestamp> modified, 26 optional<Timestamp> expires, 27 MapDebugOptions, 28 gl::Context&); 29 30 const bool renderable; 31 const bool complete; 32 const optional<Timestamp> modified; 33 const optional<Timestamp> expires; 34 const MapDebugOptions debugMode; 35 36 SegmentVector<DebugAttributes> segments; 37 optional<gl::VertexBuffer<DebugLayoutVertex>> vertexBuffer; 38 optional<gl::IndexBuffer<gl::Lines>> indexBuffer; 39 }; 40 41 } // namespace mbgl 42