vulkan/include/mouse.h

18 lines
675 B
C++

namespace mouse
{
void normalize(int windowWidth, int windowHeight, float mx, float my, float * mxf, float * myf)
{
int canonicalSizeX = 1280;
int canonicalSizeY = 720;
int scaleFactor = 1;
while (canonicalSizeX * (scaleFactor + 1) <= windowWidth && canonicalSizeY * (scaleFactor + 1) <= windowHeight) {
scaleFactor += 1;
}
float scaleFactorInverse = 1.0f / ((float)scaleFactor);
int offsetX = (windowWidth - (canonicalSizeX * scaleFactor)) / 2;
int offsetY = (windowHeight - (canonicalSizeY * scaleFactor)) / 2;
*mxf = ((float)(mx - offsetX)) * scaleFactorInverse;
*myf = ((float)(my - offsetY)) * scaleFactorInverse;
}
}