allow width and height to have a different number of click points

This commit is contained in:
2025-02-18 11:53:28 +00:00
parent 68cbf59f04
commit 78905b59f0
9 changed files with 129 additions and 75 deletions

View File

@@ -1,6 +1,6 @@
signature APP_INIT =
sig
val fromWindowWidthAndHeight: int * int * int -> AppType.app_type
val fromWindowWidthAndHeight: int * int * int * int -> AppType.app_type
end
structure AppInit :> APP_INIT =
@@ -14,18 +14,22 @@ struct
, wFinish
, hStart
, hFinish
, numClickPoints
, widthClickPoints
, heightClickPoints
) : app_type =
let
val xClickPoints = ClickPoints.generate (wStart, wFinish, numClickPoints)
val yClickPoints = ClickPoints.generate (hStart, hFinish, numClickPoints)
val xClickPoints =
ClickPoints.generate (wStart, wFinish, widthClickPoints)
val yClickPoints =
ClickPoints.generate (hStart, hFinish, heightClickPoints)
in
{ mode = AppType.NORMAL_MODE
, triangles = []
, triangleStage = NO_TRIANGLE
, windowWidth = windowWidth
, windowHeight = windowHeight
, numClickPoints = numClickPoints
, numClickPointsX = widthClickPoints
, numClickPointsY = heightClickPoints
, xClickPoints = xClickPoints
, yClickPoints = yClickPoints
, undo = []
@@ -45,18 +49,9 @@ struct
}
end
fun fromWindowWidthAndHeight (windowWidth, windowHeight, numClickPoints) =
if windowWidth = windowHeight then
helpFromWidthAndHeight
( windowWidth
, windowHeight
, 0
, windowWidth
, 0
, windowHeight
, numClickPoints
)
else if windowWidth > windowHeight then
fun fromWindowWidthAndHeight
(windowWidth, windowHeight, widthClickPoints, heightClickPoints) =
if windowWidth > windowHeight then
let
val difference = windowWidth - windowHeight
val wStart = difference div 2
@@ -69,7 +64,8 @@ struct
, wFinish
, 0
, windowHeight
, numClickPoints
, widthClickPoints
, heightClickPoints
)
end
else
@@ -85,7 +81,8 @@ struct
, windowWidth
, hStart
, hFinish
, numClickPoints
, widthClickPoints
, heightClickPoints
)
end
end