rename 'button' (the coloured square that appears over a clickpoint) to 'dot' throughout codebase, because I may want actual buttons later
This commit is contained in:
@@ -14,23 +14,23 @@ struct
|
|||||||
let
|
let
|
||||||
val (drawVec, _, _) = ClickPoints.getClickPosition (1.0, 0.0, 0.0, model)
|
val (drawVec, _, _) = ClickPoints.getClickPosition (1.0, 0.0, 0.0, model)
|
||||||
val drawVec = TriangleStage.toVector (model, drawVec)
|
val drawVec = TriangleStage.toVector (model, drawVec)
|
||||||
val drawMsg = DRAW_BUTTON drawVec
|
val drawMsg = DRAW_DOT drawVec
|
||||||
in
|
in
|
||||||
(model, drawMsg)
|
(model, drawMsg)
|
||||||
end
|
end
|
||||||
|
|
||||||
fun mouseLeftClick (model: app_type) =
|
fun mouseLeftClick (model: app_type) =
|
||||||
let
|
let
|
||||||
val (buttonVec, hpos, vpos) =
|
val (dotVec, hpos, vpos) =
|
||||||
ClickPoints.getClickPosition (0.0, 0.0, 1.0, model)
|
ClickPoints.getClickPosition (0.0, 0.0, 1.0, model)
|
||||||
val newUndoTuple = (hpos, vpos)
|
val newUndoTuple = (hpos, vpos)
|
||||||
in
|
in
|
||||||
if Vector.length buttonVec > 0 then
|
if Vector.length dotVec > 0 then
|
||||||
case #triangleStage model of
|
case #triangleStage model of
|
||||||
NO_TRIANGLE =>
|
NO_TRIANGLE =>
|
||||||
let
|
let
|
||||||
val drawVec = TriangleStage.toVector (model, buttonVec)
|
val drawVec = TriangleStage.toVector (model, dotVec)
|
||||||
val drawMsg = DRAW_BUTTON drawVec
|
val drawMsg = DRAW_DOT drawVec
|
||||||
|
|
||||||
val newTriangleStage = FIRST {x1 = hpos, y1 = vpos}
|
val newTriangleStage = FIRST {x1 = hpos, y1 = vpos}
|
||||||
val model =
|
val model =
|
||||||
@@ -41,8 +41,8 @@ struct
|
|||||||
| FIRST {x1, y1} =>
|
| FIRST {x1, y1} =>
|
||||||
let
|
let
|
||||||
val drawVec =
|
val drawVec =
|
||||||
TriangleStage.firstToVector (x1, y1, buttonVec, model)
|
TriangleStage.firstToVector (x1, y1, dotVec, model)
|
||||||
val drawMsg = DRAW_BUTTON drawVec
|
val drawMsg = DRAW_DOT drawVec
|
||||||
|
|
||||||
val newTriangleStage = SECOND
|
val newTriangleStage = SECOND
|
||||||
{x1 = x1, y1 = y1, x2 = hpos, y2 = vpos}
|
{x1 = x1, y1 = y1, x2 = hpos, y2 = vpos}
|
||||||
@@ -57,7 +57,7 @@ struct
|
|||||||
(model, x1, y1, x2, y2, hpos, vpos, newUndoTuple)
|
(model, x1, y1, x2, y2, hpos, vpos, newUndoTuple)
|
||||||
|
|
||||||
val drawVec = Triangles.toVector model
|
val drawVec = Triangles.toVector model
|
||||||
val drawMsg = DRAW_TRIANGLES_AND_RESET_BUTTONS drawVec
|
val drawMsg = DRAW_TRIANGLES_AND_RESET_DOTS drawVec
|
||||||
in
|
in
|
||||||
(model, drawMsg)
|
(model, drawMsg)
|
||||||
end
|
end
|
||||||
@@ -75,7 +75,7 @@ struct
|
|||||||
else Vector.fromList []
|
else Vector.fromList []
|
||||||
|
|
||||||
val drawMsg =
|
val drawMsg =
|
||||||
RESIZE_TRIANGLES_BUTTONS_AND_GRAPH
|
RESIZE_TRIANGLES_DOTS_AND_GRAPH
|
||||||
{triangles = triangles, graphLines = graphLines}
|
{triangles = triangles, graphLines = graphLines}
|
||||||
in
|
in
|
||||||
(model, drawMsg)
|
(model, drawMsg)
|
||||||
@@ -84,15 +84,15 @@ struct
|
|||||||
fun undoAction model =
|
fun undoAction model =
|
||||||
case #triangleStage model of
|
case #triangleStage model of
|
||||||
FIRST {x1, y1} =>
|
FIRST {x1, y1} =>
|
||||||
(* Change FIRST to NO_TRIANGLE and clear buttons. *)
|
(* Change FIRST to NO_TRIANGLE and clear dots. *)
|
||||||
let
|
let
|
||||||
val model =
|
val model =
|
||||||
AppWith.undo (model, NO_TRIANGLE, #triangles model, (x1, y1))
|
AppWith.undo (model, NO_TRIANGLE, #triangles model, (x1, y1))
|
||||||
in
|
in
|
||||||
(model, CLEAR_BUTTONS)
|
(model, CLEAR_DOTS)
|
||||||
end
|
end
|
||||||
| SECOND {x1, y1, x2, y2} =>
|
| SECOND {x1, y1, x2, y2} =>
|
||||||
(* Change FIRST to SECOND and redraw buttons. *)
|
(* Change FIRST to SECOND and redraw dots. *)
|
||||||
let
|
let
|
||||||
val newTriangleStage = FIRST {x1 = x1, y1 = y1}
|
val newTriangleStage = FIRST {x1 = x1, y1 = y1}
|
||||||
val model =
|
val model =
|
||||||
@@ -100,7 +100,7 @@ struct
|
|||||||
|
|
||||||
val emptyVec: Real32.real vector = Vector.fromList []
|
val emptyVec: Real32.real vector = Vector.fromList []
|
||||||
val drawVec = TriangleStage.firstToVector (x1, y1, emptyVec, model)
|
val drawVec = TriangleStage.firstToVector (x1, y1, emptyVec, model)
|
||||||
val drawMsg = DRAW_BUTTON drawVec
|
val drawMsg = DRAW_DOT drawVec
|
||||||
in
|
in
|
||||||
(model, drawMsg)
|
(model, drawMsg)
|
||||||
end
|
end
|
||||||
@@ -120,8 +120,8 @@ struct
|
|||||||
val drawVec = TriangleStage.secondToVector
|
val drawVec = TriangleStage.secondToVector
|
||||||
(x1, y1, x2, y2, emptyVec, model)
|
(x1, y1, x2, y2, emptyVec, model)
|
||||||
val drawMsg =
|
val drawMsg =
|
||||||
DRAW_TRIANGLES_AND_BUTTONS
|
DRAW_TRIANGLES_AND_DOTS
|
||||||
{triangles = newTriangleVec, buttons = drawVec}
|
{triangles = newTriangleVec, dots = drawVec}
|
||||||
in
|
in
|
||||||
(model, drawMsg)
|
(model, drawMsg)
|
||||||
end
|
end
|
||||||
@@ -135,7 +135,7 @@ struct
|
|||||||
(* There is a click point to redo. *)
|
(* There is a click point to redo. *)
|
||||||
(case #triangleStage model of
|
(case #triangleStage model of
|
||||||
NO_TRIANGLE =>
|
NO_TRIANGLE =>
|
||||||
(* add to triangle stage, and redraw buttons *)
|
(* add to triangle stage, and redraw dots *)
|
||||||
let
|
let
|
||||||
val newTriangleStage = FIRST {x1 = x, y1 = y}
|
val newTriangleStage = FIRST {x1 = x, y1 = y}
|
||||||
val model =
|
val model =
|
||||||
@@ -144,12 +144,12 @@ struct
|
|||||||
|
|
||||||
val emptyVec: Real32.real vector = Vector.fromList []
|
val emptyVec: Real32.real vector = Vector.fromList []
|
||||||
val drawVec = TriangleStage.firstToVector (x, y, emptyVec, model)
|
val drawVec = TriangleStage.firstToVector (x, y, emptyVec, model)
|
||||||
val drawMsg = DRAW_BUTTON drawVec
|
val drawMsg = DRAW_DOT drawVec
|
||||||
in
|
in
|
||||||
(model, drawMsg)
|
(model, drawMsg)
|
||||||
end
|
end
|
||||||
| FIRST {x1, y1} =>
|
| FIRST {x1, y1} =>
|
||||||
(* add to triangle stage, redraw buttons *)
|
(* add to triangle stage, redraw dots *)
|
||||||
let
|
let
|
||||||
val newTriangleStage = SECOND {x1 = x1, y1 = y1, x2 = x, y2 = y}
|
val newTriangleStage = SECOND {x1 = x1, y1 = y1, x2 = x, y2 = y}
|
||||||
val model =
|
val model =
|
||||||
@@ -159,7 +159,7 @@ struct
|
|||||||
val emptyVec: Real32.real vector = Vector.fromList []
|
val emptyVec: Real32.real vector = Vector.fromList []
|
||||||
val drawVec = TriangleStage.secondToVector
|
val drawVec = TriangleStage.secondToVector
|
||||||
(x1, y1, x, y, emptyVec, model)
|
(x1, y1, x, y, emptyVec, model)
|
||||||
val drawMsg = DRAW_BUTTON drawVec
|
val drawMsg = DRAW_DOT drawVec
|
||||||
in
|
in
|
||||||
(model, drawMsg)
|
(model, drawMsg)
|
||||||
end
|
end
|
||||||
@@ -174,7 +174,7 @@ struct
|
|||||||
AppWith.redo (model, newTriangleStage, newTriangles, redoHd)
|
AppWith.redo (model, newTriangleStage, newTriangles, redoHd)
|
||||||
|
|
||||||
val drawVec = Triangles.toVector model
|
val drawVec = Triangles.toVector model
|
||||||
val drawMsg = DRAW_TRIANGLES_AND_RESET_BUTTONS drawVec
|
val drawMsg = DRAW_TRIANGLES_AND_RESET_DOTS drawVec
|
||||||
in
|
in
|
||||||
(model, drawMsg)
|
(model, drawMsg)
|
||||||
end)
|
end)
|
||||||
|
|||||||
@@ -62,13 +62,13 @@ struct
|
|||||||
()
|
()
|
||||||
end
|
end
|
||||||
|
|
||||||
fun initButton () =
|
fun initDot () =
|
||||||
let
|
let
|
||||||
val buttonDrawObject = initDrawObject
|
val dotDrawObject = initDrawObject
|
||||||
( Constants.colouredVertexShaderString
|
( Constants.colouredVertexShaderString
|
||||||
, Constants.colouredFragmentShaderString
|
, Constants.colouredFragmentShaderString
|
||||||
)
|
)
|
||||||
val {vertexBuffer, program} = buttonDrawObject
|
val {vertexBuffer, program} = dotDrawObject
|
||||||
|
|
||||||
val _ = Gles3.bindBuffer vertexBuffer
|
val _ = Gles3.bindBuffer vertexBuffer
|
||||||
val _ = Gles3.bufferData (#[], 0, Gles3.STATIC_DRAW ())
|
val _ = Gles3.bufferData (#[], 0, Gles3.STATIC_DRAW ())
|
||||||
@@ -78,29 +78,29 @@ struct
|
|||||||
val _ = Gles3.vertexAttribPointer (1, 3, 5, 8)
|
val _ = Gles3.vertexAttribPointer (1, 3, 5, 8)
|
||||||
val _ = Gles3.enableVertexAttribArray 1
|
val _ = Gles3.enableVertexAttribArray 1
|
||||||
in
|
in
|
||||||
buttonDrawObject
|
dotDrawObject
|
||||||
end
|
end
|
||||||
|
|
||||||
fun uploadButtonVector (buttonDrawObject: draw_object, vec) =
|
fun uploadDotVector (dotDrawObject: draw_object, vec) =
|
||||||
let
|
let
|
||||||
val {vertexBuffer, ...} = buttonDrawObject
|
val {vertexBuffer, ...} = dotDrawObject
|
||||||
val _ = Gles3.bindBuffer vertexBuffer
|
val _ = Gles3.bindBuffer vertexBuffer
|
||||||
val _ = Gles3.bufferData (vec, Vector.length vec, Gles3.STATIC_DRAW ())
|
val _ = Gles3.bufferData (vec, Vector.length vec, Gles3.STATIC_DRAW ())
|
||||||
in
|
in
|
||||||
()
|
()
|
||||||
end
|
end
|
||||||
|
|
||||||
fun drawButton (buttonDrawObject: draw_object, buttonDrawLength) =
|
fun drawDot (dotDrawObject: draw_object, dotDrawLength) =
|
||||||
if buttonDrawLength > 0 then
|
if dotDrawLength > 0 then
|
||||||
let
|
let
|
||||||
val {vertexBuffer, program} = buttonDrawObject
|
val {vertexBuffer, program} = dotDrawObject
|
||||||
val _ = Gles3.bindBuffer vertexBuffer
|
val _ = Gles3.bindBuffer vertexBuffer
|
||||||
val _ = Gles3.vertexAttribPointer (0, 2, 5, 0)
|
val _ = Gles3.vertexAttribPointer (0, 2, 5, 0)
|
||||||
val _ = Gles3.enableVertexAttribArray 0
|
val _ = Gles3.enableVertexAttribArray 0
|
||||||
val _ = Gles3.vertexAttribPointer (1, 3, 5, 8)
|
val _ = Gles3.vertexAttribPointer (1, 3, 5, 8)
|
||||||
val _ = Gles3.enableVertexAttribArray 1
|
val _ = Gles3.enableVertexAttribArray 1
|
||||||
val _ = Gles3.useProgram program
|
val _ = Gles3.useProgram program
|
||||||
val _ = Gles3.drawArrays (Gles3.TRIANGLES (), 0, buttonDrawLength)
|
val _ = Gles3.drawArrays (Gles3.TRIANGLES (), 0, dotDrawLength)
|
||||||
in
|
in
|
||||||
()
|
()
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -22,8 +22,8 @@ struct
|
|||||||
, window
|
, window
|
||||||
, graphDrawObject
|
, graphDrawObject
|
||||||
, drawGraphLength
|
, drawGraphLength
|
||||||
, buttonDrawObject
|
, dotDrawObject
|
||||||
, buttonDrawLength
|
, dotDrawLength
|
||||||
, triangleDrawObject
|
, triangleDrawObject
|
||||||
, triangleDrawLength
|
, triangleDrawLength
|
||||||
) =
|
) =
|
||||||
@@ -37,7 +37,7 @@ struct
|
|||||||
val _ = AppDraw.drawGraphLines (graphDrawObject, drawGraphLength)
|
val _ = AppDraw.drawGraphLines (graphDrawObject, drawGraphLength)
|
||||||
val _ =
|
val _ =
|
||||||
AppDraw.drawTriangles (triangleDrawObject, triangleDrawLength)
|
AppDraw.drawTriangles (triangleDrawObject, triangleDrawLength)
|
||||||
val _ = AppDraw.drawButton (buttonDrawObject, buttonDrawLength)
|
val _ = AppDraw.drawDot (dotDrawObject, dotDrawLength)
|
||||||
|
|
||||||
val _ = Glfw.swapBuffers window
|
val _ = Glfw.swapBuffers window
|
||||||
val _ = Glfw.pollEvents ()
|
val _ = Glfw.pollEvents ()
|
||||||
@@ -47,102 +47,100 @@ struct
|
|||||||
, window
|
, window
|
||||||
, graphDrawObject
|
, graphDrawObject
|
||||||
, drawGraphLength
|
, drawGraphLength
|
||||||
, buttonDrawObject
|
, dotDrawObject
|
||||||
, buttonDrawLength
|
, dotDrawLength
|
||||||
, triangleDrawObject
|
, triangleDrawObject
|
||||||
, triangleDrawLength
|
, triangleDrawLength
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
| SOME drawMsg =>
|
| SOME drawMsg =>
|
||||||
(case drawMsg of
|
(case drawMsg of
|
||||||
DRAW_BUTTON vec =>
|
DRAW_DOT vec =>
|
||||||
let
|
let
|
||||||
val _ = AppDraw.uploadButtonVector (buttonDrawObject, vec)
|
val _ = AppDraw.uploadDotVector (dotDrawObject, vec)
|
||||||
val buttonDrawLength = Vector.length vec div 5
|
val dotDrawLength = Vector.length vec div 5
|
||||||
in
|
in
|
||||||
draw
|
draw
|
||||||
( drawMailbox
|
( drawMailbox
|
||||||
, window
|
, window
|
||||||
, graphDrawObject
|
, graphDrawObject
|
||||||
, drawGraphLength
|
, drawGraphLength
|
||||||
, buttonDrawObject
|
, dotDrawObject
|
||||||
, buttonDrawLength
|
, dotDrawLength
|
||||||
, triangleDrawObject
|
, triangleDrawObject
|
||||||
, triangleDrawLength
|
, triangleDrawLength
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
| DRAW_TRIANGLES_AND_RESET_BUTTONS triangleVec =>
|
| DRAW_TRIANGLES_AND_RESET_DOTS triangleVec =>
|
||||||
let
|
let
|
||||||
val _ =
|
val _ =
|
||||||
AppDraw.uploadTrianglesVector
|
AppDraw.uploadTrianglesVector
|
||||||
(triangleDrawObject, triangleVec)
|
(triangleDrawObject, triangleVec)
|
||||||
val triangleDrawLength = Vector.length triangleVec div 2
|
val triangleDrawLength = Vector.length triangleVec div 2
|
||||||
(* buttons are reset by setting buttonDrawLength to 0 *)
|
(* dots are reset by setting dotDrawLength to 0 *)
|
||||||
in
|
in
|
||||||
draw
|
draw
|
||||||
( drawMailbox
|
( drawMailbox
|
||||||
, window
|
, window
|
||||||
, graphDrawObject
|
, graphDrawObject
|
||||||
, drawGraphLength
|
, drawGraphLength
|
||||||
, buttonDrawObject
|
, dotDrawObject
|
||||||
, 0
|
, 0
|
||||||
, triangleDrawObject
|
, triangleDrawObject
|
||||||
, triangleDrawLength
|
, triangleDrawLength
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
| DRAW_TRIANGLES_AND_BUTTONS
|
| DRAW_TRIANGLES_AND_DOTS {triangles = triangleVec, dots = dotsVec} =>
|
||||||
{triangles = triangleVec, buttons = buttonsVec} =>
|
|
||||||
let
|
let
|
||||||
val _ =
|
val _ =
|
||||||
AppDraw.uploadTrianglesVector
|
AppDraw.uploadTrianglesVector
|
||||||
(triangleDrawObject, triangleVec)
|
(triangleDrawObject, triangleVec)
|
||||||
val triangleDrawLength = Vector.length triangleVec div 2
|
val triangleDrawLength = Vector.length triangleVec div 2
|
||||||
|
|
||||||
val _ =
|
val _ = AppDraw.uploadDotVector (dotDrawObject, dotsVec)
|
||||||
AppDraw.uploadButtonVector (buttonDrawObject, buttonsVec)
|
val dotDrawLength = Vector.length dotsVec div 5
|
||||||
val buttonDrawLength = Vector.length buttonsVec div 5
|
|
||||||
in
|
in
|
||||||
draw
|
draw
|
||||||
( drawMailbox
|
( drawMailbox
|
||||||
, window
|
, window
|
||||||
, graphDrawObject
|
, graphDrawObject
|
||||||
, drawGraphLength
|
, drawGraphLength
|
||||||
, buttonDrawObject
|
, dotDrawObject
|
||||||
, buttonDrawLength
|
, dotDrawLength
|
||||||
, triangleDrawObject
|
, triangleDrawObject
|
||||||
, triangleDrawLength
|
, triangleDrawLength
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
| CLEAR_BUTTONS =>
|
| CLEAR_DOTS =>
|
||||||
let
|
let
|
||||||
val buttonDrawLength = 0
|
val dotDrawLength = 0
|
||||||
in
|
in
|
||||||
draw
|
draw
|
||||||
( drawMailbox
|
( drawMailbox
|
||||||
, window
|
, window
|
||||||
, graphDrawObject
|
, graphDrawObject
|
||||||
, drawGraphLength
|
, drawGraphLength
|
||||||
, buttonDrawObject
|
, dotDrawObject
|
||||||
, buttonDrawLength
|
, dotDrawLength
|
||||||
, triangleDrawObject
|
, triangleDrawObject
|
||||||
, triangleDrawLength
|
, triangleDrawLength
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
| RESIZE_TRIANGLES_BUTTONS_AND_GRAPH {triangles, graphLines} =>
|
| RESIZE_TRIANGLES_DOTS_AND_GRAPH {triangles, graphLines} =>
|
||||||
let
|
let
|
||||||
val _ =
|
val _ =
|
||||||
AppDraw.uploadTrianglesVector (triangleDrawObject, triangles)
|
AppDraw.uploadTrianglesVector (triangleDrawObject, triangles)
|
||||||
val triangleDrawLength = Vector.length triangles div 2
|
val triangleDrawLength = Vector.length triangles div 2
|
||||||
(* buttons are reset by setting buttonDrawLength to 0 *)
|
|
||||||
val _ = AppDraw.uploadGraphLines (graphDrawObject, graphLines)
|
val _ = AppDraw.uploadGraphLines (graphDrawObject, graphLines)
|
||||||
val drawGraphLength = Vector.length graphLines div 2
|
val drawGraphLength = Vector.length graphLines div 2
|
||||||
|
(* to do: upload dots *)
|
||||||
in
|
in
|
||||||
draw
|
draw
|
||||||
( drawMailbox
|
( drawMailbox
|
||||||
, window
|
, window
|
||||||
, graphDrawObject
|
, graphDrawObject
|
||||||
, drawGraphLength
|
, drawGraphLength
|
||||||
, buttonDrawObject
|
, dotDrawObject
|
||||||
, 0
|
, 0
|
||||||
, triangleDrawObject
|
, triangleDrawObject
|
||||||
, triangleDrawLength
|
, triangleDrawLength
|
||||||
@@ -158,8 +156,8 @@ struct
|
|||||||
, window
|
, window
|
||||||
, graphDrawObject
|
, graphDrawObject
|
||||||
, drawGraphLength
|
, drawGraphLength
|
||||||
, buttonDrawObject
|
, dotDrawObject
|
||||||
, buttonDrawLength
|
, dotDrawLength
|
||||||
, triangleDrawObject
|
, triangleDrawObject
|
||||||
, triangleDrawLength
|
, triangleDrawLength
|
||||||
)
|
)
|
||||||
@@ -170,8 +168,8 @@ struct
|
|||||||
, window
|
, window
|
||||||
, graphDrawObject
|
, graphDrawObject
|
||||||
, drawGraphLength
|
, drawGraphLength
|
||||||
, buttonDrawObject
|
, dotDrawObject
|
||||||
, buttonDrawLength
|
, dotDrawLength
|
||||||
, triangleDrawObject
|
, triangleDrawObject
|
||||||
, triangleDrawLength
|
, triangleDrawLength
|
||||||
))
|
))
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ struct
|
|||||||
val graphDrawObject = AppDraw.initGraphLines ()
|
val graphDrawObject = AppDraw.initGraphLines ()
|
||||||
val _ = AppDraw.uploadGraphLines (graphDrawObject, graphLines)
|
val _ = AppDraw.uploadGraphLines (graphDrawObject, graphLines)
|
||||||
|
|
||||||
val buttonDrawObject = AppDraw.initButton ()
|
val dotDrawObject = AppDraw.initDot ()
|
||||||
val triangleDrawObject = AppDraw.initTriangles ()
|
val triangleDrawObject = AppDraw.initTriangles ()
|
||||||
|
|
||||||
val inputMailbox = Mailbox.mailbox ()
|
val inputMailbox = Mailbox.mailbox ()
|
||||||
@@ -39,7 +39,7 @@ struct
|
|||||||
, window
|
, window
|
||||||
, graphDrawObject
|
, graphDrawObject
|
||||||
, Vector.length graphLines div 2
|
, Vector.length graphLines div 2
|
||||||
, buttonDrawObject
|
, dotDrawObject
|
||||||
, 0
|
, 0
|
||||||
, triangleDrawObject
|
, triangleDrawObject
|
||||||
, 0
|
, 0
|
||||||
|
|||||||
@@ -1,27 +1,27 @@
|
|||||||
signature DRAW_MESSAGE =
|
signature DRAW_MESSAGE =
|
||||||
sig
|
sig
|
||||||
datatype t =
|
datatype t =
|
||||||
DRAW_BUTTON of Real32.real vector
|
DRAW_DOT of Real32.real vector
|
||||||
| DRAW_TRIANGLES_AND_BUTTONS of
|
| DRAW_TRIANGLES_AND_DOTS of
|
||||||
{triangles: Real32.real vector, buttons: Real32.real vector}
|
{triangles: Real32.real vector, dots: Real32.real vector}
|
||||||
| DRAW_TRIANGLES_AND_RESET_BUTTONS of Real32.real vector
|
| DRAW_TRIANGLES_AND_RESET_DOTS of Real32.real vector
|
||||||
| DRAW_GRAPH of Real32.real vector
|
| DRAW_GRAPH of Real32.real vector
|
||||||
| RESIZE_TRIANGLES_BUTTONS_AND_GRAPH of
|
| RESIZE_TRIANGLES_DOTS_AND_GRAPH of
|
||||||
{triangles: Real32.real vector, graphLines: Real32.real vector}
|
{triangles: Real32.real vector, graphLines: Real32.real vector}
|
||||||
| CLEAR_BUTTONS
|
| CLEAR_DOTS
|
||||||
| NO_DRAW
|
| NO_DRAW
|
||||||
end
|
end
|
||||||
|
|
||||||
structure DrawMessage :> DRAW_MESSAGE =
|
structure DrawMessage :> DRAW_MESSAGE =
|
||||||
struct
|
struct
|
||||||
datatype t =
|
datatype t =
|
||||||
DRAW_BUTTON of Real32.real vector
|
DRAW_DOT of Real32.real vector
|
||||||
| DRAW_TRIANGLES_AND_BUTTONS of
|
| DRAW_TRIANGLES_AND_DOTS of
|
||||||
{triangles: Real32.real vector, buttons: Real32.real vector}
|
{triangles: Real32.real vector, dots: Real32.real vector}
|
||||||
| DRAW_TRIANGLES_AND_RESET_BUTTONS of Real32.real vector
|
| DRAW_TRIANGLES_AND_RESET_DOTS of Real32.real vector
|
||||||
| DRAW_GRAPH of Real32.real vector
|
| DRAW_GRAPH of Real32.real vector
|
||||||
| RESIZE_TRIANGLES_BUTTONS_AND_GRAPH of
|
| RESIZE_TRIANGLES_DOTS_AND_GRAPH of
|
||||||
{triangles: Real32.real vector, graphLines: Real32.real vector}
|
{triangles: Real32.real vector, graphLines: Real32.real vector}
|
||||||
| CLEAR_BUTTONS
|
| CLEAR_DOTS
|
||||||
| NO_DRAW
|
| NO_DRAW
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user