1
0
mirror of https://github.com/blawar/ooot.git synced 2024-07-04 18:13:37 +00:00
ooot/include/gfx_align.h

16 lines
762 B
C
Raw Normal View History

2021-12-27 19:23:03 +00:00
#pragma once
2022-02-12 19:50:06 +00:00
extern "C" {
u64 gfx_width();
u64 gfx_height();
2022-02-19 01:34:20 +00:00
float gfx_ar();
2022-02-12 19:50:06 +00:00
float gfx_ar_ratio();
}
2021-12-27 19:23:03 +00:00
#define GFX_DIMENSIONS_ASPECT_RATIO ((float)gfx_width() / (float)gfx_height())
#define GFX_DIMENSIONS_FROM_LEFT_EDGE(v) (SCREEN_WIDTH / 2 - SCREEN_HEIGHT / 2 * GFX_DIMENSIONS_ASPECT_RATIO + (v))
#define GFX_DIMENSIONS_FROM_RIGHT_EDGE(v) (SCREEN_WIDTH / 2 + SCREEN_HEIGHT / 2 * GFX_DIMENSIONS_ASPECT_RATIO - (v))
#define GFX_ALIGN_LEFT(v) ((int)floorf(GFX_DIMENSIONS_FROM_LEFT_EDGE(v)))
#define GFX_ALIGN_RIGHT(v) ((int)ceilf(GFX_DIMENSIONS_FROM_RIGHT_EDGE(SCREEN_WIDTH - v)))
#define GFX_ALIGN_RIGHT_F(v) ((float)GFX_DIMENSIONS_FROM_RIGHT_EDGE(SCREEN_WIDTH - v))
#define GFX_ALIGN_GUESS(v) (v < (SCREEN_WIDTH / 2) ? GFX_ALIGN_LEFT(v) : GFX_ALIGN_RIGHT(v))