allow width and height to have a different number of click points
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
signature APP_INIT =
|
signature APP_INIT =
|
||||||
sig
|
sig
|
||||||
val fromWindowWidthAndHeight: int * int * int -> AppType.app_type
|
val fromWindowWidthAndHeight: int * int * int * int -> AppType.app_type
|
||||||
end
|
end
|
||||||
|
|
||||||
structure AppInit :> APP_INIT =
|
structure AppInit :> APP_INIT =
|
||||||
@@ -14,18 +14,22 @@ struct
|
|||||||
, wFinish
|
, wFinish
|
||||||
, hStart
|
, hStart
|
||||||
, hFinish
|
, hFinish
|
||||||
, numClickPoints
|
, widthClickPoints
|
||||||
|
, heightClickPoints
|
||||||
) : app_type =
|
) : app_type =
|
||||||
let
|
let
|
||||||
val xClickPoints = ClickPoints.generate (wStart, wFinish, numClickPoints)
|
val xClickPoints =
|
||||||
val yClickPoints = ClickPoints.generate (hStart, hFinish, numClickPoints)
|
ClickPoints.generate (wStart, wFinish, widthClickPoints)
|
||||||
|
val yClickPoints =
|
||||||
|
ClickPoints.generate (hStart, hFinish, heightClickPoints)
|
||||||
in
|
in
|
||||||
{ mode = AppType.NORMAL_MODE
|
{ mode = AppType.NORMAL_MODE
|
||||||
, triangles = []
|
, triangles = []
|
||||||
, triangleStage = NO_TRIANGLE
|
, triangleStage = NO_TRIANGLE
|
||||||
, windowWidth = windowWidth
|
, windowWidth = windowWidth
|
||||||
, windowHeight = windowHeight
|
, windowHeight = windowHeight
|
||||||
, numClickPoints = numClickPoints
|
, numClickPointsX = widthClickPoints
|
||||||
|
, numClickPointsY = heightClickPoints
|
||||||
, xClickPoints = xClickPoints
|
, xClickPoints = xClickPoints
|
||||||
, yClickPoints = yClickPoints
|
, yClickPoints = yClickPoints
|
||||||
, undo = []
|
, undo = []
|
||||||
@@ -45,18 +49,9 @@ struct
|
|||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
fun fromWindowWidthAndHeight (windowWidth, windowHeight, numClickPoints) =
|
fun fromWindowWidthAndHeight
|
||||||
if windowWidth = windowHeight then
|
(windowWidth, windowHeight, widthClickPoints, heightClickPoints) =
|
||||||
helpFromWidthAndHeight
|
if windowWidth > windowHeight then
|
||||||
( windowWidth
|
|
||||||
, windowHeight
|
|
||||||
, 0
|
|
||||||
, windowWidth
|
|
||||||
, 0
|
|
||||||
, windowHeight
|
|
||||||
, numClickPoints
|
|
||||||
)
|
|
||||||
else if windowWidth > windowHeight then
|
|
||||||
let
|
let
|
||||||
val difference = windowWidth - windowHeight
|
val difference = windowWidth - windowHeight
|
||||||
val wStart = difference div 2
|
val wStart = difference div 2
|
||||||
@@ -69,7 +64,8 @@ struct
|
|||||||
, wFinish
|
, wFinish
|
||||||
, 0
|
, 0
|
||||||
, windowHeight
|
, windowHeight
|
||||||
, numClickPoints
|
, widthClickPoints
|
||||||
|
, heightClickPoints
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
@@ -85,7 +81,8 @@ struct
|
|||||||
, windowWidth
|
, windowWidth
|
||||||
, hStart
|
, hStart
|
||||||
, hFinish
|
, hFinish
|
||||||
, numClickPoints
|
, widthClickPoints
|
||||||
|
, heightClickPoints
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -28,7 +28,8 @@ sig
|
|||||||
, triangleStage: triangle_stage
|
, triangleStage: triangle_stage
|
||||||
, windowWidth: int
|
, windowWidth: int
|
||||||
, windowHeight: int
|
, windowHeight: int
|
||||||
, numClickPoints: int
|
, numClickPointsX: int
|
||||||
|
, numClickPointsY: int
|
||||||
, xClickPoints: Real32.real vector
|
, xClickPoints: Real32.real vector
|
||||||
, yClickPoints: Real32.real vector
|
, yClickPoints: Real32.real vector
|
||||||
, undo: (Real32.real * Real32.real) list
|
, undo: (Real32.real * Real32.real) list
|
||||||
@@ -86,7 +87,8 @@ struct
|
|||||||
, triangleStage: triangle_stage
|
, triangleStage: triangle_stage
|
||||||
, windowWidth: int
|
, windowWidth: int
|
||||||
, windowHeight: int
|
, windowHeight: int
|
||||||
, numClickPoints: int
|
, numClickPointsX: int
|
||||||
|
, numClickPointsY: int
|
||||||
, xClickPoints: Real32.real vector
|
, xClickPoints: Real32.real vector
|
||||||
, yClickPoints: Real32.real vector
|
, yClickPoints: Real32.real vector
|
||||||
, undo: (Real32.real * Real32.real) list
|
, undo: (Real32.real * Real32.real) list
|
||||||
|
|||||||
@@ -80,7 +80,8 @@ struct
|
|||||||
{ triangleStage = _
|
{ triangleStage = _
|
||||||
, mode
|
, mode
|
||||||
, triangles
|
, triangles
|
||||||
, numClickPoints
|
, numClickPointsX
|
||||||
|
, numClickPointsY
|
||||||
, xClickPoints
|
, xClickPoints
|
||||||
, yClickPoints
|
, yClickPoints
|
||||||
, windowWidth
|
, windowWidth
|
||||||
@@ -108,7 +109,8 @@ struct
|
|||||||
, redo = []
|
, redo = []
|
||||||
, mode = mode
|
, mode = mode
|
||||||
, triangles = triangles
|
, triangles = triangles
|
||||||
, numClickPoints = numClickPoints
|
, numClickPointsX = numClickPointsX
|
||||||
|
, numClickPointsY = numClickPointsY
|
||||||
, xClickPoints = xClickPoints
|
, xClickPoints = xClickPoints
|
||||||
, yClickPoints = yClickPoints
|
, yClickPoints = yClickPoints
|
||||||
, windowWidth = windowWidth
|
, windowWidth = windowWidth
|
||||||
@@ -136,7 +138,8 @@ struct
|
|||||||
{ mode
|
{ mode
|
||||||
, triangles
|
, triangles
|
||||||
, triangleStage = _
|
, triangleStage = _
|
||||||
, numClickPoints
|
, numClickPointsX
|
||||||
|
, numClickPointsY
|
||||||
, xClickPoints
|
, xClickPoints
|
||||||
, yClickPoints
|
, yClickPoints
|
||||||
, windowWidth
|
, windowWidth
|
||||||
@@ -176,7 +179,8 @@ struct
|
|||||||
, triangles = newTriangles
|
, triangles = newTriangles
|
||||||
, undo = newUndo
|
, undo = newUndo
|
||||||
, redo = []
|
, redo = []
|
||||||
, numClickPoints = numClickPoints
|
, numClickPointsX = numClickPointsX
|
||||||
|
, numClickPointsY = numClickPointsY
|
||||||
, xClickPoints = xClickPoints
|
, xClickPoints = xClickPoints
|
||||||
, yClickPoints = yClickPoints
|
, yClickPoints = yClickPoints
|
||||||
, windowWidth = windowWidth
|
, windowWidth = windowWidth
|
||||||
@@ -202,7 +206,8 @@ struct
|
|||||||
{ mode
|
{ mode
|
||||||
, xClickPoints
|
, xClickPoints
|
||||||
, yClickPoints
|
, yClickPoints
|
||||||
, numClickPoints
|
, numClickPointsX
|
||||||
|
, numClickPointsY
|
||||||
, windowWidth
|
, windowWidth
|
||||||
, windowHeight
|
, windowHeight
|
||||||
, triangles
|
, triangles
|
||||||
@@ -226,7 +231,8 @@ struct
|
|||||||
{ mode = mode
|
{ mode = mode
|
||||||
, xClickPoints = xClickPoints
|
, xClickPoints = xClickPoints
|
||||||
, yClickPoints = yClickPoints
|
, yClickPoints = yClickPoints
|
||||||
, numClickPoints = numClickPoints
|
, numClickPointsX = numClickPointsX
|
||||||
|
, numClickPointsY = numClickPointsY
|
||||||
, triangles = triangles
|
, triangles = triangles
|
||||||
, triangleStage = triangleStage
|
, triangleStage = triangleStage
|
||||||
, windowWidth = windowWidth
|
, windowWidth = windowWidth
|
||||||
@@ -254,7 +260,8 @@ struct
|
|||||||
{ mode
|
{ mode
|
||||||
, xClickPoints
|
, xClickPoints
|
||||||
, yClickPoints
|
, yClickPoints
|
||||||
, numClickPoints
|
, numClickPointsX
|
||||||
|
, numClickPointsY
|
||||||
, windowWidth
|
, windowWidth
|
||||||
, windowHeight
|
, windowHeight
|
||||||
, triangles
|
, triangles
|
||||||
@@ -278,7 +285,8 @@ struct
|
|||||||
{ mode = mode
|
{ mode = mode
|
||||||
, xClickPoints = xClickPoints
|
, xClickPoints = xClickPoints
|
||||||
, yClickPoints = yClickPoints
|
, yClickPoints = yClickPoints
|
||||||
, numClickPoints = numClickPoints
|
, numClickPointsX = numClickPointsX
|
||||||
|
, numClickPointsY = numClickPointsY
|
||||||
, triangles = triangles
|
, triangles = triangles
|
||||||
, triangleStage = triangleStage
|
, triangleStage = triangleStage
|
||||||
, windowWidth = windowWidth
|
, windowWidth = windowWidth
|
||||||
@@ -308,7 +316,8 @@ struct
|
|||||||
{ mode
|
{ mode
|
||||||
, xClickPoints = _
|
, xClickPoints = _
|
||||||
, yClickPoints = _
|
, yClickPoints = _
|
||||||
, numClickPoints
|
, numClickPointsX
|
||||||
|
, numClickPointsY
|
||||||
, windowWidth = _
|
, windowWidth = _
|
||||||
, windowHeight = _
|
, windowHeight = _
|
||||||
, triangles
|
, triangles
|
||||||
@@ -329,13 +338,14 @@ struct
|
|||||||
, num
|
, num
|
||||||
} = app
|
} = app
|
||||||
|
|
||||||
val xClickPoints = ClickPoints.generate (wStart, wFinish, numClickPoints)
|
val xClickPoints = ClickPoints.generate (wStart, wFinish, numClickPointsX)
|
||||||
val yClickPoints = ClickPoints.generate (hStart, hFinish, numClickPoints)
|
val yClickPoints = ClickPoints.generate (hStart, hFinish, numClickPointsY)
|
||||||
in
|
in
|
||||||
{ mode = mode
|
{ mode = mode
|
||||||
, xClickPoints = xClickPoints
|
, xClickPoints = xClickPoints
|
||||||
, yClickPoints = yClickPoints
|
, yClickPoints = yClickPoints
|
||||||
, numClickPoints = numClickPoints
|
, numClickPointsX = numClickPointsX
|
||||||
|
, numClickPointsY = numClickPointsY
|
||||||
, triangles = triangles
|
, triangles = triangles
|
||||||
, triangleStage = triangleStage
|
, triangleStage = triangleStage
|
||||||
, windowWidth = windowWidth
|
, windowWidth = windowWidth
|
||||||
@@ -388,7 +398,8 @@ struct
|
|||||||
, mouseY = _
|
, mouseY = _
|
||||||
, triangles
|
, triangles
|
||||||
, triangleStage
|
, triangleStage
|
||||||
, numClickPoints
|
, numClickPointsX
|
||||||
|
, numClickPointsY
|
||||||
, xClickPoints
|
, xClickPoints
|
||||||
, yClickPoints
|
, yClickPoints
|
||||||
, windowWidth
|
, windowWidth
|
||||||
@@ -412,7 +423,8 @@ struct
|
|||||||
, mouseY = mouseY
|
, mouseY = mouseY
|
||||||
, triangles = triangles
|
, triangles = triangles
|
||||||
, triangleStage = triangleStage
|
, triangleStage = triangleStage
|
||||||
, numClickPoints = numClickPoints
|
, numClickPointsX = numClickPointsX
|
||||||
|
, numClickPointsY = numClickPointsY
|
||||||
, xClickPoints = xClickPoints
|
, xClickPoints = xClickPoints
|
||||||
, yClickPoints = yClickPoints
|
, yClickPoints = yClickPoints
|
||||||
, windowWidth = windowWidth
|
, windowWidth = windowWidth
|
||||||
@@ -439,7 +451,8 @@ struct
|
|||||||
{ mode
|
{ mode
|
||||||
, triangleStage = _
|
, triangleStage = _
|
||||||
, triangles = _
|
, triangles = _
|
||||||
, numClickPoints
|
, numClickPointsX
|
||||||
|
, numClickPointsY
|
||||||
, xClickPoints
|
, xClickPoints
|
||||||
, yClickPoints
|
, yClickPoints
|
||||||
, windowWidth
|
, windowWidth
|
||||||
@@ -472,7 +485,8 @@ struct
|
|||||||
, triangles = newTriangles
|
, triangles = newTriangles
|
||||||
, undo = newUndo
|
, undo = newUndo
|
||||||
, redo = newRedo
|
, redo = newRedo
|
||||||
, numClickPoints = numClickPoints
|
, numClickPointsX = numClickPointsX
|
||||||
|
, numClickPointsY = numClickPointsY
|
||||||
, xClickPoints = xClickPoints
|
, xClickPoints = xClickPoints
|
||||||
, yClickPoints = yClickPoints
|
, yClickPoints = yClickPoints
|
||||||
, windowWidth = windowWidth
|
, windowWidth = windowWidth
|
||||||
@@ -499,7 +513,8 @@ struct
|
|||||||
{ mode
|
{ mode
|
||||||
, triangleStage = _
|
, triangleStage = _
|
||||||
, triangles = _
|
, triangles = _
|
||||||
, numClickPoints
|
, numClickPointsX
|
||||||
|
, numClickPointsY
|
||||||
, xClickPoints
|
, xClickPoints
|
||||||
, yClickPoints
|
, yClickPoints
|
||||||
, windowWidth
|
, windowWidth
|
||||||
@@ -531,7 +546,8 @@ struct
|
|||||||
, triangles = newTriangles
|
, triangles = newTriangles
|
||||||
, undo = newUndo
|
, undo = newUndo
|
||||||
, redo = newRedo
|
, redo = newRedo
|
||||||
, numClickPoints = numClickPoints
|
, numClickPointsX = numClickPointsX
|
||||||
|
, numClickPointsY = numClickPointsY
|
||||||
, xClickPoints = xClickPoints
|
, xClickPoints = xClickPoints
|
||||||
, yClickPoints = yClickPoints
|
, yClickPoints = yClickPoints
|
||||||
, windowWidth = windowWidth
|
, windowWidth = windowWidth
|
||||||
@@ -557,7 +573,8 @@ struct
|
|||||||
{ mode
|
{ mode
|
||||||
, triangleStage
|
, triangleStage
|
||||||
, triangles
|
, triangles
|
||||||
, numClickPoints
|
, numClickPointsX
|
||||||
|
, numClickPointsY
|
||||||
, xClickPoints
|
, xClickPoints
|
||||||
, yClickPoints
|
, yClickPoints
|
||||||
, windowWidth
|
, windowWidth
|
||||||
@@ -584,7 +601,8 @@ struct
|
|||||||
, triangles = triangles
|
, triangles = triangles
|
||||||
, undo = undo
|
, undo = undo
|
||||||
, redo = redo
|
, redo = redo
|
||||||
, numClickPoints = numClickPoints
|
, numClickPointsX = numClickPointsX
|
||||||
|
, numClickPointsY = numClickPointsY
|
||||||
, xClickPoints = xClickPoints
|
, xClickPoints = xClickPoints
|
||||||
, yClickPoints = yClickPoints
|
, yClickPoints = yClickPoints
|
||||||
, windowWidth = windowWidth
|
, windowWidth = windowWidth
|
||||||
@@ -609,7 +627,8 @@ struct
|
|||||||
{ mode = _
|
{ mode = _
|
||||||
, triangleStage
|
, triangleStage
|
||||||
, triangles
|
, triangles
|
||||||
, numClickPoints
|
, numClickPointsX
|
||||||
|
, numClickPointsY
|
||||||
, xClickPoints
|
, xClickPoints
|
||||||
, yClickPoints
|
, yClickPoints
|
||||||
, windowWidth
|
, windowWidth
|
||||||
@@ -636,7 +655,8 @@ struct
|
|||||||
, triangles = triangles
|
, triangles = triangles
|
||||||
, undo = undo
|
, undo = undo
|
||||||
, redo = redo
|
, redo = redo
|
||||||
, numClickPoints = numClickPoints
|
, numClickPointsX = numClickPointsX
|
||||||
|
, numClickPointsY = numClickPointsY
|
||||||
, xClickPoints = xClickPoints
|
, xClickPoints = xClickPoints
|
||||||
, yClickPoints = yClickPoints
|
, yClickPoints = yClickPoints
|
||||||
, windowWidth = windowWidth
|
, windowWidth = windowWidth
|
||||||
@@ -661,7 +681,8 @@ struct
|
|||||||
{ mode = _
|
{ mode = _
|
||||||
, xClickPoints
|
, xClickPoints
|
||||||
, yClickPoints
|
, yClickPoints
|
||||||
, numClickPoints
|
, numClickPointsX
|
||||||
|
, numClickPointsY
|
||||||
, windowWidth
|
, windowWidth
|
||||||
, windowHeight
|
, windowHeight
|
||||||
, undo
|
, undo
|
||||||
@@ -690,7 +711,8 @@ struct
|
|||||||
, undo = []
|
, undo = []
|
||||||
, redo = []
|
, redo = []
|
||||||
, showGraph = showGraph
|
, showGraph = showGraph
|
||||||
, numClickPoints = numClickPoints
|
, numClickPointsX = numClickPointsX
|
||||||
|
, numClickPointsY = numClickPointsY
|
||||||
, xClickPoints = xClickPoints
|
, xClickPoints = xClickPoints
|
||||||
, yClickPoints = yClickPoints
|
, yClickPoints = yClickPoints
|
||||||
, windowWidth = windowWidth
|
, windowWidth = windowWidth
|
||||||
@@ -715,7 +737,8 @@ struct
|
|||||||
{ mode
|
{ mode
|
||||||
, xClickPoints
|
, xClickPoints
|
||||||
, yClickPoints
|
, yClickPoints
|
||||||
, numClickPoints
|
, numClickPointsX
|
||||||
|
, numClickPointsY
|
||||||
, windowWidth
|
, windowWidth
|
||||||
, windowHeight
|
, windowHeight
|
||||||
, triangles
|
, triangles
|
||||||
@@ -739,7 +762,8 @@ struct
|
|||||||
{ mode = mode
|
{ mode = mode
|
||||||
, xClickPoints = xClickPoints
|
, xClickPoints = xClickPoints
|
||||||
, yClickPoints = yClickPoints
|
, yClickPoints = yClickPoints
|
||||||
, numClickPoints = numClickPoints
|
, numClickPointsX = numClickPointsX
|
||||||
|
, numClickPointsY = numClickPointsY
|
||||||
, triangles = triangles
|
, triangles = triangles
|
||||||
, triangleStage = triangleStage
|
, triangleStage = triangleStage
|
||||||
, windowWidth = windowWidth
|
, windowWidth = windowWidth
|
||||||
@@ -767,7 +791,8 @@ struct
|
|||||||
{ mode
|
{ mode
|
||||||
, xClickPoints
|
, xClickPoints
|
||||||
, yClickPoints
|
, yClickPoints
|
||||||
, numClickPoints
|
, numClickPointsX
|
||||||
|
, numClickPointsY
|
||||||
, windowWidth
|
, windowWidth
|
||||||
, windowHeight
|
, windowHeight
|
||||||
, triangles
|
, triangles
|
||||||
@@ -791,7 +816,8 @@ struct
|
|||||||
{ mode = mode
|
{ mode = mode
|
||||||
, xClickPoints = xClickPoints
|
, xClickPoints = xClickPoints
|
||||||
, yClickPoints = yClickPoints
|
, yClickPoints = yClickPoints
|
||||||
, numClickPoints = numClickPoints
|
, numClickPointsX = numClickPointsX
|
||||||
|
, numClickPointsY = numClickPointsY
|
||||||
, triangles = triangles
|
, triangles = triangles
|
||||||
, triangleStage = triangleStage
|
, triangleStage = triangleStage
|
||||||
, windowWidth = windowWidth
|
, windowWidth = windowWidth
|
||||||
@@ -813,13 +839,14 @@ struct
|
|||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
fun num (app: app_type, newNum): app_type =
|
fun num (app: app_type, newNum) : app_type =
|
||||||
let
|
let
|
||||||
val
|
val
|
||||||
{ triangleStage
|
{ triangleStage
|
||||||
, mode
|
, mode
|
||||||
, triangles
|
, triangles
|
||||||
, numClickPoints
|
, numClickPointsX
|
||||||
|
, numClickPointsY
|
||||||
, xClickPoints
|
, xClickPoints
|
||||||
, yClickPoints
|
, yClickPoints
|
||||||
, windowWidth
|
, windowWidth
|
||||||
@@ -846,7 +873,8 @@ struct
|
|||||||
, redo = []
|
, redo = []
|
||||||
, mode = mode
|
, mode = mode
|
||||||
, triangles = triangles
|
, triangles = triangles
|
||||||
, numClickPoints = numClickPoints
|
, numClickPointsX = numClickPointsX
|
||||||
|
, numClickPointsY = numClickPointsY
|
||||||
, xClickPoints = xClickPoints
|
, xClickPoints = xClickPoints
|
||||||
, yClickPoints = yClickPoints
|
, yClickPoints = yClickPoints
|
||||||
, windowWidth = windowWidth
|
, windowWidth = windowWidth
|
||||||
@@ -866,13 +894,14 @@ struct
|
|||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
fun r (app: app_type): app_type =
|
fun r (app: app_type) : app_type =
|
||||||
let
|
let
|
||||||
val
|
val
|
||||||
{ triangleStage
|
{ triangleStage
|
||||||
, mode
|
, mode
|
||||||
, triangles
|
, triangles
|
||||||
, numClickPoints
|
, numClickPointsX
|
||||||
|
, numClickPointsY
|
||||||
, xClickPoints
|
, xClickPoints
|
||||||
, yClickPoints
|
, yClickPoints
|
||||||
, windowWidth
|
, windowWidth
|
||||||
@@ -900,7 +929,8 @@ struct
|
|||||||
, redo = []
|
, redo = []
|
||||||
, mode = mode
|
, mode = mode
|
||||||
, triangles = triangles
|
, triangles = triangles
|
||||||
, numClickPoints = numClickPoints
|
, numClickPointsX = numClickPointsX
|
||||||
|
, numClickPointsY = numClickPointsY
|
||||||
, xClickPoints = xClickPoints
|
, xClickPoints = xClickPoints
|
||||||
, yClickPoints = yClickPoints
|
, yClickPoints = yClickPoints
|
||||||
, windowWidth = windowWidth
|
, windowWidth = windowWidth
|
||||||
@@ -920,13 +950,14 @@ struct
|
|||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
fun g (app: app_type): app_type =
|
fun g (app: app_type) : app_type =
|
||||||
let
|
let
|
||||||
val
|
val
|
||||||
{ triangleStage
|
{ triangleStage
|
||||||
, mode
|
, mode
|
||||||
, triangles
|
, triangles
|
||||||
, numClickPoints
|
, numClickPointsX
|
||||||
|
, numClickPointsY
|
||||||
, xClickPoints
|
, xClickPoints
|
||||||
, yClickPoints
|
, yClickPoints
|
||||||
, windowWidth
|
, windowWidth
|
||||||
@@ -954,7 +985,8 @@ struct
|
|||||||
, redo = []
|
, redo = []
|
||||||
, mode = mode
|
, mode = mode
|
||||||
, triangles = triangles
|
, triangles = triangles
|
||||||
, numClickPoints = numClickPoints
|
, numClickPointsX = numClickPointsX
|
||||||
|
, numClickPointsY = numClickPointsY
|
||||||
, xClickPoints = xClickPoints
|
, xClickPoints = xClickPoints
|
||||||
, yClickPoints = yClickPoints
|
, yClickPoints = yClickPoints
|
||||||
, windowWidth = windowWidth
|
, windowWidth = windowWidth
|
||||||
@@ -974,13 +1006,14 @@ struct
|
|||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
fun b (app: app_type): app_type =
|
fun b (app: app_type) : app_type =
|
||||||
let
|
let
|
||||||
val
|
val
|
||||||
{ triangleStage
|
{ triangleStage
|
||||||
, mode
|
, mode
|
||||||
, triangles
|
, triangles
|
||||||
, numClickPoints
|
, numClickPointsX
|
||||||
|
, numClickPointsY
|
||||||
, xClickPoints
|
, xClickPoints
|
||||||
, yClickPoints
|
, yClickPoints
|
||||||
, windowWidth
|
, windowWidth
|
||||||
@@ -1008,7 +1041,8 @@ struct
|
|||||||
, redo = []
|
, redo = []
|
||||||
, mode = mode
|
, mode = mode
|
||||||
, triangles = triangles
|
, triangles = triangles
|
||||||
, numClickPoints = numClickPoints
|
, numClickPointsX = numClickPointsX
|
||||||
|
, numClickPointsY = numClickPointsY
|
||||||
, xClickPoints = xClickPoints
|
, xClickPoints = xClickPoints
|
||||||
, yClickPoints = yClickPoints
|
, yClickPoints = yClickPoints
|
||||||
, windowWidth = windowWidth
|
, windowWidth = windowWidth
|
||||||
|
|||||||
@@ -5,7 +5,14 @@ end
|
|||||||
|
|
||||||
structure ParseFile :> PARSE_FILE =
|
structure ParseFile :> PARSE_FILE =
|
||||||
struct
|
struct
|
||||||
datatype triangle_token = X | Y | R | G | B | COORD of Real32.real | UNKNOWN of string
|
datatype triangle_token =
|
||||||
|
X
|
||||||
|
| Y
|
||||||
|
| R
|
||||||
|
| G
|
||||||
|
| B
|
||||||
|
| COORD of Real32.real
|
||||||
|
| UNKNOWN of string
|
||||||
|
|
||||||
val zero: Real32.real = 0.0
|
val zero: Real32.real = 0.0
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,8 @@ structure Constants =
|
|||||||
struct
|
struct
|
||||||
val windowWidth = 1000
|
val windowWidth = 1000
|
||||||
val windowHeight = 900
|
val windowHeight = 900
|
||||||
val initialNumClickPoints = 15
|
val initialWidthClickPoints = 16
|
||||||
|
val initialHeightClickPoints = 20
|
||||||
|
|
||||||
val graphVertexShaderString =
|
val graphVertexShaderString =
|
||||||
"#version 300 es\n\
|
"#version 300 es\n\
|
||||||
|
|||||||
@@ -65,19 +65,31 @@ struct
|
|||||||
[ x1
|
[ x1
|
||||||
, ",\n"
|
, ",\n"
|
||||||
, y1
|
, y1
|
||||||
, ", r, g, b,\n"
|
, ",\n"
|
||||||
|
, r
|
||||||
|
, ",\n"
|
||||||
|
, g
|
||||||
|
, ",\n"
|
||||||
|
, b
|
||||||
|
, ",\n"
|
||||||
, x2
|
, x2
|
||||||
, ",\n"
|
, ",\n"
|
||||||
, y2
|
, y2
|
||||||
, ", r, g, b,\n"
|
, ",\n"
|
||||||
|
, r
|
||||||
|
, ",\n"
|
||||||
|
, g
|
||||||
|
, ",\n"
|
||||||
|
, b
|
||||||
|
, ",\n"
|
||||||
, x3
|
, x3
|
||||||
, ",\n"
|
, ",\n"
|
||||||
, y3
|
, y3
|
||||||
, ", \n"
|
, ",\n"
|
||||||
, r
|
, r
|
||||||
, ", "
|
, ",\n"
|
||||||
, g
|
, g
|
||||||
, ", "
|
, ",\n"
|
||||||
, b
|
, b
|
||||||
, case tl of
|
, case tl of
|
||||||
[] => "\n"
|
[] => "\n"
|
||||||
@@ -99,10 +111,8 @@ struct
|
|||||||
val _ = TextIO.output (io, fileStartString)
|
val _ = TextIO.output (io, fileStartString)
|
||||||
|
|
||||||
val functionStartString =
|
val functionStartString =
|
||||||
" fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector =\n\
|
" fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight) : Real32.real vector =\n\
|
||||||
\ let\n\
|
\ let\n\
|
||||||
\ val startX = Real32.fromInt startX\n\
|
|
||||||
\ val startY = Real32.fromInt startY\n\
|
|
||||||
\ val endY = windowHeight - startY\n\
|
\ val endY = windowHeight - startY\n\
|
||||||
\ val startY = windowHeight - (startY + drawHeight)\n\
|
\ val startY = windowHeight - (startY + drawHeight)\n\
|
||||||
\ val endX = startX + drawWidth\n\
|
\ val endX = startX + drawWidth\n\
|
||||||
|
|||||||
@@ -18,7 +18,8 @@ struct
|
|||||||
val initialModel = AppInit.fromWindowWidthAndHeight
|
val initialModel = AppInit.fromWindowWidthAndHeight
|
||||||
( Constants.windowWidth
|
( Constants.windowWidth
|
||||||
, Constants.windowHeight
|
, Constants.windowHeight
|
||||||
, Constants.initialNumClickPoints
|
, Constants.initialWidthClickPoints
|
||||||
|
, Constants.initialHeightClickPoints
|
||||||
)
|
)
|
||||||
|
|
||||||
val graphLines = GraphLines.generate initialModel
|
val graphLines = GraphLines.generate initialModel
|
||||||
|
|||||||
@@ -24,7 +24,8 @@ sig
|
|||||||
| KEY_SPACE
|
| KEY_SPACE
|
||||||
| USE_TRIANGLES of AppType.triangle list
|
| USE_TRIANGLES of AppType.triangle list
|
||||||
| TRIANGLES_LOAD_ERROR
|
| TRIANGLES_LOAD_ERROR
|
||||||
| FILE_BROWSER_AND_PATH of { fileBrowser: AppType.file_browser_item vector, path: string }
|
| FILE_BROWSER_AND_PATH of
|
||||||
|
{fileBrowser: AppType.file_browser_item vector, path: string}
|
||||||
end
|
end
|
||||||
|
|
||||||
structure InputMessage :> INPUT_MESSAGE =
|
structure InputMessage :> INPUT_MESSAGE =
|
||||||
@@ -53,5 +54,6 @@ struct
|
|||||||
| KEY_SPACE
|
| KEY_SPACE
|
||||||
| USE_TRIANGLES of AppType.triangle list
|
| USE_TRIANGLES of AppType.triangle list
|
||||||
| TRIANGLES_LOAD_ERROR
|
| TRIANGLES_LOAD_ERROR
|
||||||
| FILE_BROWSER_AND_PATH of { fileBrowser: AppType.file_browser_item vector, path: string }
|
| FILE_BROWSER_AND_PATH of
|
||||||
|
{fileBrowser: AppType.file_browser_item vector, path: string}
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user