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