Banuba SDK
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 
7 namespace 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
bnb::camera_orientation
camera_orientation
camera image layout is top-left, 0 orientation is portrait, rotation is counterclockwise
Definition: base_types.hpp:26
bnb::player_api::orientable_scalable_base
Definition: orientable_scalable_base.hpp:10