upload new dots to GPU when there is a window resize too
This commit is contained in:
@@ -40,8 +40,7 @@ struct
|
|||||||
end
|
end
|
||||||
| FIRST {x1, y1} =>
|
| FIRST {x1, y1} =>
|
||||||
let
|
let
|
||||||
val drawVec =
|
val drawVec = TriangleStage.firstToVector (x1, y1, dotVec, model)
|
||||||
TriangleStage.firstToVector (x1, y1, dotVec, model)
|
|
||||||
val drawMsg = DRAW_DOT drawVec
|
val drawMsg = DRAW_DOT drawVec
|
||||||
|
|
||||||
val newTriangleStage = SECOND
|
val newTriangleStage = SECOND
|
||||||
@@ -74,9 +73,11 @@ struct
|
|||||||
if #showGraph model then GraphLines.generate model
|
if #showGraph model then GraphLines.generate model
|
||||||
else Vector.fromList []
|
else Vector.fromList []
|
||||||
|
|
||||||
|
val dots = TriangleStage.toVector (model, Vector.fromList [])
|
||||||
|
|
||||||
val drawMsg =
|
val drawMsg =
|
||||||
RESIZE_TRIANGLES_DOTS_AND_GRAPH
|
RESIZE_TRIANGLES_DOTS_AND_GRAPH
|
||||||
{triangles = triangles, graphLines = graphLines}
|
{triangles = triangles, graphLines = graphLines, dots = dots}
|
||||||
in
|
in
|
||||||
(model, drawMsg)
|
(model, drawMsg)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -126,14 +126,17 @@ struct
|
|||||||
, triangleDrawLength
|
, triangleDrawLength
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
| RESIZE_TRIANGLES_DOTS_AND_GRAPH {triangles, graphLines} =>
|
| RESIZE_TRIANGLES_DOTS_AND_GRAPH {triangles, graphLines, dots} =>
|
||||||
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
|
||||||
|
|
||||||
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 *)
|
|
||||||
|
val _ = AppDraw.uploadDotVector (dotDrawObject, dots)
|
||||||
|
val dotDrawLength = Vector.length dots div 5
|
||||||
in
|
in
|
||||||
draw
|
draw
|
||||||
( drawMailbox
|
( drawMailbox
|
||||||
@@ -141,7 +144,7 @@ struct
|
|||||||
, graphDrawObject
|
, graphDrawObject
|
||||||
, drawGraphLength
|
, drawGraphLength
|
||||||
, dotDrawObject
|
, dotDrawObject
|
||||||
, 0
|
, dotDrawLength
|
||||||
, triangleDrawObject
|
, triangleDrawObject
|
||||||
, triangleDrawLength
|
, triangleDrawLength
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -7,7 +7,10 @@ sig
|
|||||||
| DRAW_TRIANGLES_AND_RESET_DOTS 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_DOTS_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
|
||||||
|
, dots: Real32.real vector
|
||||||
|
}
|
||||||
| CLEAR_DOTS
|
| CLEAR_DOTS
|
||||||
| NO_DRAW
|
| NO_DRAW
|
||||||
end
|
end
|
||||||
@@ -21,7 +24,10 @@ struct
|
|||||||
| DRAW_TRIANGLES_AND_RESET_DOTS 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_DOTS_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
|
||||||
|
, dots: Real32.real vector
|
||||||
|
}
|
||||||
| CLEAR_DOTS
|
| CLEAR_DOTS
|
||||||
| NO_DRAW
|
| NO_DRAW
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user