ABMSignaturePad can be used to draw simple sketches like signatures from a client.

You can Clear() the Pad or retrieve the drawing with GetDrawingAsJpeg().

Sub btnClear_Clicked(Target As String)
	Dim sign1 As ABMSignaturePad = page.Cell(2,1).Component("sign1")
	sign1.Clear
End Sub
Sub btnGetSign_Clicked(Target As String)
	Dim sign1 As ABMSignaturePad = page.Cell(2,1).Component("sign1")
	SignCounter =SignCounter + 1
	sign1.GetDrawingURI("Signature" & SignCounter & ".jpg")	
End Sub
Sub Page_FileUploaded(FileName As String, success As Boolean)
	myToastId = myToastId + 1	
	If success Then
		page.ShowToast("toast" & myToastId, "toastgreen", "File " & FileName & " uploaded!", 5000)
	Else
		page.ShowToast("toast" & myToastId, "toastred", "File " & FileName & " uploaded!", 5000)
	End If
	page.ws.Flush // IMPORTANT
End Sub

Additionally, you have to add the following lines of code to WebSocket_Connected() and WebSocket_Disconnected()!

// In WebSocket_Connected()
ws.Session.SetAttribute("abmcallback", Me)	
ws.Session.SetAttribute("abmdownloadfolder", DownloadFolder)
ws.Session.SetAttribute("abmmaxsize", DownloadMaxSize)
// In WebSocket_Disconnected()
Try
	ws.Session.RemoveAttribute("abmcallback")	
	ws.Session.RemoveAttribute("abmdownloadfolder")
	ws.Session.RemoveAttribute("abmmaxsize")
Catch
	Log(LastException.Message)
End Try