18 lines
675 B
C++
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;
|
|
}
|
|
}
|