Private Sub mqtt_MessageArrived (Topic As String, Payload() As Byte)
Dim obj As Object = serializator.ConvertBytesToObject(Payload)
If obj Is CircleData Then
If Topic = mytopic Then Return 'the circle was already drawn
Dim cd As CircleData = obj
DrawCircleData(cd)
Else 'obj is string
Dim s As String = obj
Select s
Case "clear"
Canvas1.ClearRect(0, 0, Canvas1.Width, Canvas1.Height)
Case "close"
MainForm.Close
End Select
End If
End Sub
Sub Canvas1_MouseDragged (EventData As MouseEvent)
If mqtt.Connected = False Then Return
Dim cd As CircleData
cd.x = EventData.X
cd.y = EventData.Y
cd.clr = Rnd(0x80000000, -1)
DrawCircleData(cd)
mqtt.Publish(mytopic, serializator.ConvertObjectToBytes(cd))
End Sub