Banuba SDK
render_delegate.hpp
1 #pragma once
2 
3 #include <bnb/utils/defs.hpp>
4 
5 #include <memory>
6 
7 namespace bnb::player_api::interfaces
8 {
9  class render_delegate;
10 } // namespace bnb::player_api::interfaces
11 
12 namespace bnb::player_api
13 {
14  using render_delegate_sptr = std::shared_ptr<bnb::player_api::interfaces::render_delegate>;
15 } // namespace bnb::player_api
16 
17 namespace bnb::player_api::interfaces
18 {
19 
20  class BNB_EXPORT render_delegate
21  {
22  public:
23  virtual ~render_delegate() = default;
24 
25  /**
26  * Activate rendering context.
27  */
28  virtual void activate() = 0;
29 
30  /**
31  * Called every time rendering of the next frame starts.
32  */
33  virtual void started() = 0;
34 
35  /**
36  * Called every time frame rendering is complete.
37  * @param frame_number the frame number that was rendered. If there is nothing to draw, the parameter will be equal to -1.
38  */
39  virtual void finished(int64_t frame_number) = 0;
40  }; // class render_delegate
41 
42 } // namespace bnb::player_api::interfaces
bnb::player_api::interfaces::render_delegate
Definition: render_delegate.hpp:20