Lugdunum  0.1.0
Target.hpp
Go to the documentation of this file.
1 #pragma once
2 
5 
6 namespace lug {
7 namespace Graphics {
8 namespace Render {
9 
11 public:
12  Target() = default;
13 
14  Target(const Target&) = delete;
15  Target(Target&&) = delete;
16 
17  Target& operator=(const Target&) = delete;
18  Target& operator=(Target&&) = delete;
19 
20  virtual ~Target() = default;
21 
22  virtual View* createView(View::InitInfo& initInfo) = 0;
23 
24  virtual bool render() = 0;
25 
26  virtual uint16_t getWidth() const = 0;
27  virtual uint16_t getHeight() const = 0;
28 
29  const std::vector<std::unique_ptr<View>>& getRenderViews() const;
30  std::vector<std::unique_ptr<View>>& getRenderViews();
31 
32 protected:
33  std::vector<std::unique_ptr<View>> _renderViews;
34 };
35 
37 
38 } // Render
39 } // Graphics
40 } // lug
#define LUG_GRAPHICS_API
Definition: Export.hpp:11
std::vector< std::unique_ptr< View > > _renderViews
Definition: Target.hpp:33