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:
@@ -62,13 +62,13 @@ struct
|
||||
()
|
||||
end
|
||||
|
||||
fun initButton () =
|
||||
fun initDot () =
|
||||
let
|
||||
val buttonDrawObject = initDrawObject
|
||||
val dotDrawObject = initDrawObject
|
||||
( Constants.colouredVertexShaderString
|
||||
, Constants.colouredFragmentShaderString
|
||||
)
|
||||
val {vertexBuffer, program} = buttonDrawObject
|
||||
val {vertexBuffer, program} = dotDrawObject
|
||||
|
||||
val _ = Gles3.bindBuffer vertexBuffer
|
||||
val _ = Gles3.bufferData (#[], 0, Gles3.STATIC_DRAW ())
|
||||
@@ -78,29 +78,29 @@ struct
|
||||
val _ = Gles3.vertexAttribPointer (1, 3, 5, 8)
|
||||
val _ = Gles3.enableVertexAttribArray 1
|
||||
in
|
||||
buttonDrawObject
|
||||
dotDrawObject
|
||||
end
|
||||
|
||||
fun uploadButtonVector (buttonDrawObject: draw_object, vec) =
|
||||
fun uploadDotVector (dotDrawObject: draw_object, vec) =
|
||||
let
|
||||
val {vertexBuffer, ...} = buttonDrawObject
|
||||
val {vertexBuffer, ...} = dotDrawObject
|
||||
val _ = Gles3.bindBuffer vertexBuffer
|
||||
val _ = Gles3.bufferData (vec, Vector.length vec, Gles3.STATIC_DRAW ())
|
||||
in
|
||||
()
|
||||
end
|
||||
|
||||
fun drawButton (buttonDrawObject: draw_object, buttonDrawLength) =
|
||||
if buttonDrawLength > 0 then
|
||||
fun drawDot (dotDrawObject: draw_object, dotDrawLength) =
|
||||
if dotDrawLength > 0 then
|
||||
let
|
||||
val {vertexBuffer, program} = buttonDrawObject
|
||||
val {vertexBuffer, program} = dotDrawObject
|
||||
val _ = Gles3.bindBuffer vertexBuffer
|
||||
val _ = Gles3.vertexAttribPointer (0, 2, 5, 0)
|
||||
val _ = Gles3.enableVertexAttribArray 0
|
||||
val _ = Gles3.vertexAttribPointer (1, 3, 5, 8)
|
||||
val _ = Gles3.enableVertexAttribArray 1
|
||||
val _ = Gles3.useProgram program
|
||||
val _ = Gles3.drawArrays (Gles3.TRIANGLES (), 0, buttonDrawLength)
|
||||
val _ = Gles3.drawArrays (Gles3.TRIANGLES (), 0, dotDrawLength)
|
||||
in
|
||||
()
|
||||
end
|
||||
|
||||
@@ -22,8 +22,8 @@ struct
|
||||
, window
|
||||
, graphDrawObject
|
||||
, drawGraphLength
|
||||
, buttonDrawObject
|
||||
, buttonDrawLength
|
||||
, dotDrawObject
|
||||
, dotDrawLength
|
||||
, triangleDrawObject
|
||||
, triangleDrawLength
|
||||
) =
|
||||
@@ -37,7 +37,7 @@ struct
|
||||
val _ = AppDraw.drawGraphLines (graphDrawObject, drawGraphLength)
|
||||
val _ =
|
||||
AppDraw.drawTriangles (triangleDrawObject, triangleDrawLength)
|
||||
val _ = AppDraw.drawButton (buttonDrawObject, buttonDrawLength)
|
||||
val _ = AppDraw.drawDot (dotDrawObject, dotDrawLength)
|
||||
|
||||
val _ = Glfw.swapBuffers window
|
||||
val _ = Glfw.pollEvents ()
|
||||
@@ -47,102 +47,100 @@ struct
|
||||
, window
|
||||
, graphDrawObject
|
||||
, drawGraphLength
|
||||
, buttonDrawObject
|
||||
, buttonDrawLength
|
||||
, dotDrawObject
|
||||
, dotDrawLength
|
||||
, triangleDrawObject
|
||||
, triangleDrawLength
|
||||
)
|
||||
end
|
||||
| SOME drawMsg =>
|
||||
(case drawMsg of
|
||||
DRAW_BUTTON vec =>
|
||||
DRAW_DOT vec =>
|
||||
let
|
||||
val _ = AppDraw.uploadButtonVector (buttonDrawObject, vec)
|
||||
val buttonDrawLength = Vector.length vec div 5
|
||||
val _ = AppDraw.uploadDotVector (dotDrawObject, vec)
|
||||
val dotDrawLength = Vector.length vec div 5
|
||||
in
|
||||
draw
|
||||
( drawMailbox
|
||||
, window
|
||||
, graphDrawObject
|
||||
, drawGraphLength
|
||||
, buttonDrawObject
|
||||
, buttonDrawLength
|
||||
, dotDrawObject
|
||||
, dotDrawLength
|
||||
, triangleDrawObject
|
||||
, triangleDrawLength
|
||||
)
|
||||
end
|
||||
| DRAW_TRIANGLES_AND_RESET_BUTTONS triangleVec =>
|
||||
| DRAW_TRIANGLES_AND_RESET_DOTS triangleVec =>
|
||||
let
|
||||
val _ =
|
||||
AppDraw.uploadTrianglesVector
|
||||
(triangleDrawObject, triangleVec)
|
||||
val triangleDrawLength = Vector.length triangleVec div 2
|
||||
(* buttons are reset by setting buttonDrawLength to 0 *)
|
||||
(* dots are reset by setting dotDrawLength to 0 *)
|
||||
in
|
||||
draw
|
||||
( drawMailbox
|
||||
, window
|
||||
, graphDrawObject
|
||||
, drawGraphLength
|
||||
, buttonDrawObject
|
||||
, dotDrawObject
|
||||
, 0
|
||||
, triangleDrawObject
|
||||
, triangleDrawLength
|
||||
)
|
||||
end
|
||||
| DRAW_TRIANGLES_AND_BUTTONS
|
||||
{triangles = triangleVec, buttons = buttonsVec} =>
|
||||
| DRAW_TRIANGLES_AND_DOTS {triangles = triangleVec, dots = dotsVec} =>
|
||||
let
|
||||
val _ =
|
||||
AppDraw.uploadTrianglesVector
|
||||
(triangleDrawObject, triangleVec)
|
||||
val triangleDrawLength = Vector.length triangleVec div 2
|
||||
|
||||
val _ =
|
||||
AppDraw.uploadButtonVector (buttonDrawObject, buttonsVec)
|
||||
val buttonDrawLength = Vector.length buttonsVec div 5
|
||||
val _ = AppDraw.uploadDotVector (dotDrawObject, dotsVec)
|
||||
val dotDrawLength = Vector.length dotsVec div 5
|
||||
in
|
||||
draw
|
||||
( drawMailbox
|
||||
, window
|
||||
, graphDrawObject
|
||||
, drawGraphLength
|
||||
, buttonDrawObject
|
||||
, buttonDrawLength
|
||||
, dotDrawObject
|
||||
, dotDrawLength
|
||||
, triangleDrawObject
|
||||
, triangleDrawLength
|
||||
)
|
||||
end
|
||||
| CLEAR_BUTTONS =>
|
||||
| CLEAR_DOTS =>
|
||||
let
|
||||
val buttonDrawLength = 0
|
||||
val dotDrawLength = 0
|
||||
in
|
||||
draw
|
||||
( drawMailbox
|
||||
, window
|
||||
, graphDrawObject
|
||||
, drawGraphLength
|
||||
, buttonDrawObject
|
||||
, buttonDrawLength
|
||||
, dotDrawObject
|
||||
, dotDrawLength
|
||||
, triangleDrawObject
|
||||
, triangleDrawLength
|
||||
)
|
||||
end
|
||||
| RESIZE_TRIANGLES_BUTTONS_AND_GRAPH {triangles, graphLines} =>
|
||||
| RESIZE_TRIANGLES_DOTS_AND_GRAPH {triangles, graphLines} =>
|
||||
let
|
||||
val _ =
|
||||
AppDraw.uploadTrianglesVector (triangleDrawObject, triangles)
|
||||
val triangleDrawLength = Vector.length triangles div 2
|
||||
(* buttons are reset by setting buttonDrawLength to 0 *)
|
||||
val _ = AppDraw.uploadGraphLines (graphDrawObject, graphLines)
|
||||
val drawGraphLength = Vector.length graphLines div 2
|
||||
(* to do: upload dots *)
|
||||
in
|
||||
draw
|
||||
( drawMailbox
|
||||
, window
|
||||
, graphDrawObject
|
||||
, drawGraphLength
|
||||
, buttonDrawObject
|
||||
, dotDrawObject
|
||||
, 0
|
||||
, triangleDrawObject
|
||||
, triangleDrawLength
|
||||
@@ -158,8 +156,8 @@ struct
|
||||
, window
|
||||
, graphDrawObject
|
||||
, drawGraphLength
|
||||
, buttonDrawObject
|
||||
, buttonDrawLength
|
||||
, dotDrawObject
|
||||
, dotDrawLength
|
||||
, triangleDrawObject
|
||||
, triangleDrawLength
|
||||
)
|
||||
@@ -170,8 +168,8 @@ struct
|
||||
, window
|
||||
, graphDrawObject
|
||||
, drawGraphLength
|
||||
, buttonDrawObject
|
||||
, buttonDrawLength
|
||||
, dotDrawObject
|
||||
, dotDrawLength
|
||||
, triangleDrawObject
|
||||
, triangleDrawLength
|
||||
))
|
||||
|
||||
@@ -23,7 +23,7 @@ struct
|
||||
val graphDrawObject = AppDraw.initGraphLines ()
|
||||
val _ = AppDraw.uploadGraphLines (graphDrawObject, graphLines)
|
||||
|
||||
val buttonDrawObject = AppDraw.initButton ()
|
||||
val dotDrawObject = AppDraw.initDot ()
|
||||
val triangleDrawObject = AppDraw.initTriangles ()
|
||||
|
||||
val inputMailbox = Mailbox.mailbox ()
|
||||
@@ -39,7 +39,7 @@ struct
|
||||
, window
|
||||
, graphDrawObject
|
||||
, Vector.length graphLines div 2
|
||||
, buttonDrawObject
|
||||
, dotDrawObject
|
||||
, 0
|
||||
, triangleDrawObject
|
||||
, 0
|
||||
|
||||
Reference in New Issue
Block a user