Lugdunum  0.1.0
DirtyObject.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include <cstdint>
4 
6 
7 namespace lug {
8 namespace Graphics {
9 namespace Render {
10 
12 public:
13  DirtyObject() = default;
14 
15  DirtyObject(const DirtyObject&) = delete;
16  DirtyObject(DirtyObject&&) = delete;
17 
18  DirtyObject& operator=(const DirtyObject&) = delete;
19  DirtyObject& operator=(DirtyObject&&) = delete;
20 
21  ~DirtyObject() = default;
22 
23  void setDirty();
24  void setDirty(uint32_t currentFrame);
25 
26  void clearDirty();
27  void clearDirty(uint32_t currentFrame);
28 
29  bool isDirty(uint32_t currentFrame) const;
30  bool isDirty() const;
31 
32 private:
33  uint32_t _dirtyFlag{0xFFFFFFFF};
34 };
35 
37 
38 } // Render
39 } // Graphics
40 } // lug
#define LUG_GRAPHICS_API
Definition: Export.hpp:11