Banuba SDK
Loading...
Searching...
No Matches
orientable_scalable_base.hpp
1#pragma once
2
3#include <bnb/player_api/interfaces/render_target.hpp>
4#include <bnb/player_api/interfaces/types/content_mode.hpp>
5#include <bnb/types/base_types.hpp>
6
7namespace bnb::player_api
8{
9
11 {
12 protected:
13 void update_content_mode(content_mode new_content_mode);
14
15 void update_orientation(orientation orient, bool mirroring = false);
16
17 const float* const get_orientation_matrix(bool y_invert = false);
18
19 void oriented_frame_size(const render_target_sptr& rt, int32_t& oriented_width, int32_t& oriented_height) const;
20
21 void oriented_frame_layout(const render_target_sptr& rt, int32_t surface_width, int32_t surface_height, int32_t& left, int32_t& top, int32_t& width, int32_t& height) const;
22
23 protected:
24 content_mode m_content_mode{content_mode::aspect_fit};
25 orientation m_orientation{orientation::up};
26 bool m_mirroring{false};
27 }; /* class output_base */
28
29} // namespace bnb::player_api