le2d v0.4.7
2D game engine framework
 
Loading...
Searching...
No Matches
viewport.hpp
Go to the documentation of this file.
1#pragma once
2#include <kvf/rect.hpp>
3#include <variant>
4
5namespace le {
6namespace viewport {
7struct Dynamic {
8 kvf::UvRect n_rect{kvf::uv_rect_v};
9};
10
11struct Letterbox {
12 [[nodiscard]] auto fill_target_space(glm::vec2 target_size) const -> glm::vec2;
13 [[nodiscard]] auto unproject_target_space(glm::vec2 target_size) const -> glm::vec2;
14
15 glm::vec2 world_size{800.0f, 600.0f};
16};
17} // namespace viewport
18
19using Viewport = std::variant<viewport::Dynamic, viewport::Letterbox>;
20} // namespace le
Definition animation.hpp:8
std::variant< viewport::Dynamic, viewport::Letterbox > Viewport
Definition viewport.hpp:19
Definition viewport.hpp:7
kvf::UvRect n_rect
Definition viewport.hpp:8
Definition viewport.hpp:11
auto unproject_target_space(glm::vec2 target_size) const -> glm::vec2
glm::vec2 world_size
Definition viewport.hpp:15
auto fill_target_space(glm::vec2 target_size) const -> glm::vec2