Banuba SDK
Loading...
Searching...
No Matches
render_delegate.hpp
1#pragma once
2
3#include <bnb/utils/defs.hpp>
4
5#include <memory>
6
7namespace bnb::player_api::interfaces
8{
9 class render_delegate;
10} // namespace bnb::player_api::interfaces
11
12namespace bnb::player_api
13{
14 using render_delegate_sptr = std::shared_ptr<bnb::player_api::interfaces::render_delegate>;
15} // namespace bnb::player_api
16
17namespace 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
virtual void activate()=0
Activate rendering context.
virtual void finished(int64_t frame_number)=0
Called every time frame rendering is complete.
virtual void started()=0
Called every time rendering of the next frame starts.