1
0
mirror of https://github.com/blawar/ooot.git synced 2024-06-25 22:09:34 +00:00
ooot/include/gfx_align.h
2022-04-13 17:00:41 -04:00

17 lines
762 B
C

#pragma once
extern "C"
{
u64 gfx_width();
u64 gfx_height();
float gfx_ar();
float gfx_ar_ratio();
}
#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))