Files
korenkonder_ReDIVA/src/CRE/screen_param.hpp
T
2026-04-19 01:39:26 +03:00

44 lines
1014 B
C++

/*
by korenkonder
GitHub/GitLab: korenkonder
*/
#pragma once
#include "../KKdLib/default.hpp"
#include "../KKdLib/spr.hpp"
#include "../KKdLib/vec.hpp"
struct ScreenParam {
SCREEN_MODE mode;
int32_t xoffset;
int32_t yoffset;
int32_t width;
int32_t height;
double_t aspect;
int32_t wide_flag;
inline ScreenParam() : ScreenParam(SCREEN_MODE_MAX) {
}
ScreenParam(SCREEN_MODE screen_mode);
};
struct screen_mode_scale_data {
vec2 scale;
vec2 src_res;
vec2 dst_res;
SCREEN_MODE src_mode;
SCREEN_MODE dst_mode;
screen_mode_scale_data(SCREEN_MODE src_mode, SCREEN_MODE dst_mode);
};
extern ScreenParam& get_screen_param();
extern ScreenParam& get_render_screen_param();
extern vec2 get_screen_conv_scale(const SCREEN_MODE dst_mode, const SCREEN_MODE src_mode);
extern void get_screen_conv_pos(vec2& dst_pos, const SCREEN_MODE dst_mode,
const vec2& src_pos, const SCREEN_MODE src_mode);
extern void init_screen(SCREEN_MODE screen_mode);