1 #pragma once 2 3 #include <mbgl/gl/object.hpp> 4 #include <mbgl/util/size.hpp> 5 6 namespace mbgl { 7 namespace gl { 8 9 template <RenderbufferType renderbufferType> 10 class Renderbuffer { 11 public: Renderbuffer(Size size_,UniqueRenderbuffer renderbuffer_,bool dirty_=false)12 Renderbuffer(Size size_, UniqueRenderbuffer renderbuffer_, bool dirty_ = false) 13 : size(std::move(size_)), renderbuffer(std::move(renderbuffer_)), dirty(dirty_) { 14 } 15 16 using type = std::integral_constant<RenderbufferType, renderbufferType>; 17 Size size; 18 UniqueRenderbuffer renderbuffer; 19 shouldClear(bool clear)20 void shouldClear(bool clear) { 21 dirty = clear; 22 } needsClearing()23 bool needsClearing() { 24 return dirty; 25 } 26 27 private: 28 bool dirty; 29 }; 30 31 } // namespace gl 32 } // namespace mbgl 33