PixelBullet  0.0.1
A C++ game engine
Loading...
Searching...
No Matches
subrender.h
1#pragma once
2
3#include "pixelbullet/graphics/render_frame_context.h"
4
5#include <utility>
6
7namespace pixelbullet
8{
9class Subrender
10{
11public:
12 using Stage = std::pair<uint32_t, uint32_t>;
13
14 explicit Subrender(Stage stage)
15 : stage_(std::move(stage))
16 {
17 }
18
19 virtual ~Subrender() = default;
20
21 Subrender(const Subrender&) = delete;
22 Subrender& operator=(const Subrender&) = delete;
23 Subrender(Subrender&&) noexcept = default;
24 Subrender& operator=(Subrender&&) noexcept = default;
25
26 virtual void Render(const RenderFrameContext& frame_context) = 0;
27
28 const Stage& GetStage() const
29 {
30 return stage_;
31 }
32
33 bool IsEnabled() const
34 {
35 return enabled_;
36 }
37 void SetEnabled(bool enable)
38 {
39 enabled_ = enable;
40 }
41
42private:
43 bool enabled_ = true;
44 Stage stage_;
45};
46} // namespace pixelbullet
Definition render_frame_context.h:15