diff --git a/dotscape b/dotscape index 290ecdc..adab6f8 100755 Binary files a/dotscape and b/dotscape differ diff --git a/functional-core/app-update.sml b/functional-core/app-update.sml index 2bd7259..c594538 100644 --- a/functional-core/app-update.sml +++ b/functional-core/app-update.sml @@ -40,8 +40,7 @@ struct end | FIRST {x1, y1} => let - val drawVec = - TriangleStage.firstToVector (x1, y1, dotVec, model) + val drawVec = TriangleStage.firstToVector (x1, y1, dotVec, model) val drawMsg = DRAW_DOT drawVec val newTriangleStage = SECOND @@ -74,9 +73,11 @@ struct if #showGraph model then GraphLines.generate model else Vector.fromList [] + val dots = TriangleStage.toVector (model, Vector.fromList []) + val drawMsg = RESIZE_TRIANGLES_DOTS_AND_GRAPH - {triangles = triangles, graphLines = graphLines} + {triangles = triangles, graphLines = graphLines, dots = dots} in (model, drawMsg) end @@ -179,7 +180,7 @@ struct (model, drawMsg) end) | [] => - (* Nothing to redo. *) + (* Nothing to redo. *) (model, NO_DRAW) fun toggleGraph (model: app_type) = diff --git a/imperative-shell/event-loop.sml b/imperative-shell/event-loop.sml index d29a89b..560611d 100644 --- a/imperative-shell/event-loop.sml +++ b/imperative-shell/event-loop.sml @@ -126,14 +126,17 @@ struct , triangleDrawLength ) end - | RESIZE_TRIANGLES_DOTS_AND_GRAPH {triangles, graphLines} => + | RESIZE_TRIANGLES_DOTS_AND_GRAPH {triangles, graphLines, dots} => let val _ = AppDraw.uploadTrianglesVector (triangleDrawObject, triangles) val triangleDrawLength = Vector.length triangles div 2 + val _ = AppDraw.uploadGraphLines (graphDrawObject, graphLines) val drawGraphLength = Vector.length graphLines div 2 - (* to do: upload dots *) + + val _ = AppDraw.uploadDotVector (dotDrawObject, dots) + val dotDrawLength = Vector.length dots div 5 in draw ( drawMailbox @@ -141,7 +144,7 @@ struct , graphDrawObject , drawGraphLength , dotDrawObject - , 0 + , dotDrawLength , triangleDrawObject , triangleDrawLength ) diff --git a/message-types/draw-msg.sml b/message-types/draw-msg.sml index ee1d5c6..8a6495d 100644 --- a/message-types/draw-msg.sml +++ b/message-types/draw-msg.sml @@ -7,7 +7,10 @@ sig | DRAW_TRIANGLES_AND_RESET_DOTS of Real32.real vector | DRAW_GRAPH of Real32.real vector | RESIZE_TRIANGLES_DOTS_AND_GRAPH of - {triangles: Real32.real vector, graphLines: Real32.real vector} + { triangles: Real32.real vector + , graphLines: Real32.real vector + , dots: Real32.real vector + } | CLEAR_DOTS | NO_DRAW end @@ -21,7 +24,10 @@ struct | DRAW_TRIANGLES_AND_RESET_DOTS of Real32.real vector | DRAW_GRAPH of Real32.real vector | RESIZE_TRIANGLES_DOTS_AND_GRAPH of - {triangles: Real32.real vector, graphLines: Real32.real vector} + { triangles: Real32.real vector + , graphLines: Real32.real vector + , dots: Real32.real vector + } | CLEAR_DOTS | NO_DRAW end