add modal text draw object to imperative shell, for drawing text like file browser
This commit is contained in:
@@ -107,6 +107,10 @@ struct
|
|||||||
else
|
else
|
||||||
()
|
()
|
||||||
|
|
||||||
|
val initModalText = initDot
|
||||||
|
val uploadModalText = uploadDotVector
|
||||||
|
val drawModalText = drawDot
|
||||||
|
|
||||||
fun initTriangles () =
|
fun initTriangles () =
|
||||||
let
|
let
|
||||||
val triangleDrawObject = initDrawObject
|
val triangleDrawObject = initDrawObject
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ struct
|
|||||||
, dotDrawLength
|
, dotDrawLength
|
||||||
, triangleDrawObject
|
, triangleDrawObject
|
||||||
, triangleDrawLength
|
, triangleDrawLength
|
||||||
|
, modalTextDrawObject
|
||||||
|
, modalTextDrawLength
|
||||||
) =
|
) =
|
||||||
if not (Glfw.windowShouldClose window) then
|
if not (Glfw.windowShouldClose window) then
|
||||||
case Mailbox.recvPoll drawMailbox of
|
case Mailbox.recvPoll drawMailbox of
|
||||||
@@ -24,7 +26,8 @@ struct
|
|||||||
val _ =
|
val _ =
|
||||||
AppDraw.drawTriangles (triangleDrawObject, triangleDrawLength)
|
AppDraw.drawTriangles (triangleDrawObject, triangleDrawLength)
|
||||||
val _ = AppDraw.drawDot (dotDrawObject, dotDrawLength)
|
val _ = AppDraw.drawDot (dotDrawObject, dotDrawLength)
|
||||||
|
val _ = AppDraw.drawModalText (modalTextDrawObject, modalTextDrawLength)
|
||||||
|
|
||||||
val _ = Glfw.swapBuffers window
|
val _ = Glfw.swapBuffers window
|
||||||
val _ = Glfw.pollEvents ()
|
val _ = Glfw.pollEvents ()
|
||||||
in
|
in
|
||||||
@@ -37,6 +40,8 @@ struct
|
|||||||
, dotDrawLength
|
, dotDrawLength
|
||||||
, triangleDrawObject
|
, triangleDrawObject
|
||||||
, triangleDrawLength
|
, triangleDrawLength
|
||||||
|
, modalTextDrawObject
|
||||||
|
, modalTextDrawLength
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
| SOME drawMsg =>
|
| SOME drawMsg =>
|
||||||
@@ -55,6 +60,8 @@ struct
|
|||||||
, dotDrawLength
|
, dotDrawLength
|
||||||
, triangleDrawObject
|
, triangleDrawObject
|
||||||
, triangleDrawLength
|
, triangleDrawLength
|
||||||
|
, modalTextDrawObject
|
||||||
|
, modalTextDrawLength
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
| DRAW_TRIANGLES_AND_RESET_DOTS triangleVec =>
|
| DRAW_TRIANGLES_AND_RESET_DOTS triangleVec =>
|
||||||
@@ -74,6 +81,8 @@ struct
|
|||||||
, 0
|
, 0
|
||||||
, triangleDrawObject
|
, triangleDrawObject
|
||||||
, triangleDrawLength
|
, triangleDrawLength
|
||||||
|
, modalTextDrawObject
|
||||||
|
, modalTextDrawLength
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
| DRAW_TRIANGLES_AND_DOTS {triangles = triangleVec, dots = dotsVec} =>
|
| DRAW_TRIANGLES_AND_DOTS {triangles = triangleVec, dots = dotsVec} =>
|
||||||
@@ -95,6 +104,8 @@ struct
|
|||||||
, dotDrawLength
|
, dotDrawLength
|
||||||
, triangleDrawObject
|
, triangleDrawObject
|
||||||
, triangleDrawLength
|
, triangleDrawLength
|
||||||
|
, modalTextDrawObject
|
||||||
|
, modalTextDrawLength
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
| CLEAR_DOTS =>
|
| CLEAR_DOTS =>
|
||||||
@@ -110,6 +121,8 @@ struct
|
|||||||
, dotDrawLength
|
, dotDrawLength
|
||||||
, triangleDrawObject
|
, triangleDrawObject
|
||||||
, triangleDrawLength
|
, triangleDrawLength
|
||||||
|
, modalTextDrawObject
|
||||||
|
, modalTextDrawLength
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
| RESIZE_TRIANGLES_DOTS_AND_GRAPH {triangles, graphLines, dots} =>
|
| RESIZE_TRIANGLES_DOTS_AND_GRAPH {triangles, graphLines, dots} =>
|
||||||
@@ -133,6 +146,8 @@ struct
|
|||||||
, dotDrawLength
|
, dotDrawLength
|
||||||
, triangleDrawObject
|
, triangleDrawObject
|
||||||
, triangleDrawLength
|
, triangleDrawLength
|
||||||
|
, modalTextDrawObject
|
||||||
|
, modalTextDrawLength
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
| DRAW_GRAPH graphLines =>
|
| DRAW_GRAPH graphLines =>
|
||||||
@@ -149,6 +164,8 @@ struct
|
|||||||
, dotDrawLength
|
, dotDrawLength
|
||||||
, triangleDrawObject
|
, triangleDrawObject
|
||||||
, triangleDrawLength
|
, triangleDrawLength
|
||||||
|
, modalTextDrawObject
|
||||||
|
, modalTextDrawLength
|
||||||
)
|
)
|
||||||
end)
|
end)
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -27,6 +27,8 @@ struct
|
|||||||
|
|
||||||
val dotDrawObject = AppDraw.initDot ()
|
val dotDrawObject = AppDraw.initDot ()
|
||||||
val triangleDrawObject = AppDraw.initTriangles ()
|
val triangleDrawObject = AppDraw.initTriangles ()
|
||||||
|
|
||||||
|
val modalTextDrawObject = AppDraw.initModalText ()
|
||||||
|
|
||||||
val inputMailbox = Mailbox.mailbox ()
|
val inputMailbox = Mailbox.mailbox ()
|
||||||
val drawMailbox = Mailbox.mailbox ()
|
val drawMailbox = Mailbox.mailbox ()
|
||||||
@@ -47,6 +49,8 @@ struct
|
|||||||
, 0
|
, 0
|
||||||
, triangleDrawObject
|
, triangleDrawObject
|
||||||
, 0
|
, 0
|
||||||
|
, modalTextDrawObject
|
||||||
|
, 0
|
||||||
))
|
))
|
||||||
|
|
||||||
val _ = CML.spawn (fn () => FileThread.run (fileMailbox, inputMailbox))
|
val _ = CML.spawn (fn () => FileThread.run (fileMailbox, inputMailbox))
|
||||||
|
|||||||
Reference in New Issue
Block a user