change Ndc.fromPixelX and Ndc.fromPixelY functions to not try and centre pixels (centering is handled in the click points instead)

This commit is contained in:
2025-07-11 03:48:04 +01:00
parent fbec9ec2a7
commit 9c03425dc6
2 changed files with 4 additions and 20 deletions

BIN
dotscape

Binary file not shown.

View File

@@ -24,33 +24,17 @@ struct
fun fromPixelX (xpos, windowWidth, windowHeight) =
let
val halfWidth = Real32.fromInt (windowWidth div 2)
val halfWidth = Real32.fromInt windowWidth / 2.0
val xpos = xpos - halfWidth
in
if windowWidth > windowHeight then
let
val difference = windowWidth - windowHeight
val offset = Real32.fromInt (difference div 2)
in
xpos / (halfWidth - offset)
end
else
xpos / halfWidth
xpos / halfWidth
end
fun fromPixelY (ypos, windowWidth, windowHeight) =
let
val halfHeight = Real32.fromInt (windowHeight div 2)
val halfHeight = Real32.fromInt windowHeight / 2.0
val ypos = ~(ypos - halfHeight)
in
if windowHeight > windowWidth then
let
val difference = windowHeight - windowWidth
val offset = Real32.fromInt (difference div 2)
in
ypos / (halfHeight - offset)
end
else
ypos / halfHeight
ypos / halfHeight
end
end