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:
2024-08-14 21:24:46 +01:00
parent abddddbc9e
commit 30dd9de17a
5 changed files with 73 additions and 75 deletions

View File

@@ -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

View File

@@ -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
))

View File

@@ -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