Initial screen layout implementation

This commit is contained in:
wheremyfoodat 2025-07-04 17:53:36 +03:00
parent d06f600b3a
commit 62748eef47
11 changed files with 335 additions and 126 deletions

View file

@ -147,12 +147,24 @@ class RendererGL final : public Renderer {
OpenGL::Driver driverInfo;
// Information about the final 3DS screen -> Window blit, accounting for things like scaling and shifting the output based on
// the window's dimensions.
// the window's dimensions. Updated whenever the screen size or layout changes.
struct {
int topScreenX = 0;
int topScreenY = 0;
int topScreenWidth = 400;
int topScreenHeight = 240;
int bottomScreenX = 40;
int bottomScreenY = 240;
int bottomScreenWidth = 320;
int bottomScreenHeight = 240;
// For optimizing the final screen blit into a single blit instead of 2 when possible:
int destX = 0;
int destY = 0;
int destWidth = 400;
int destHeight = 480;
bool canDoSingleBlit = true;
} blitInfo;
MAKE_LOG_FUNCTION(log, rendererLogger)