3 #include <bnb/utils/defs.hpp>
7 namespace bnb::player_api::interfaces
13 namespace bnb::player_api
15 using render_target_sptr = std::shared_ptr<bnb::player_api::interfaces::render_target>;
16 using texture_t = uint64_t;
19 namespace bnb::player_api::interfaces
51 virtual void prepare_to_offscreen_render(int32_t width, int32_t height) = 0;
57 virtual void prepare_to_screen_render(
void* surface) = 0;
63 virtual void set_frame_time_us(uint64_t time_us) noexcept = 0;
68 virtual uint64_t get_frame_time_us()
const noexcept = 0;
73 virtual int32_t get_render_width()
const noexcept = 0;
78 virtual int32_t get_render_height()
const noexcept = 0;
85 virtual texture_t get_output_texture()
const noexcept = 0;
95 virtual void present(int32_t left, int32_t top, int32_t width, int32_t height,
const float*
const mat4) = 0;