Private MyStroke As Stroke
Public Sub New()
MyBase.New()
InitializeComponent()
SetBoundaryForIP1()
SetBoundaryForIP2()
End Sub
'A new stroke object, MyStroke, is created and is added to the StrokeCollection object
'of the InkPresenter, MyIP1
Private Sub MyIP1_MouseLeftButtonDown(ByVal sender As Object, ByVal e As MouseEventArgs)
MyIP1.CaptureMouse()
Dim MyStylusPointCollection As StylusPointCollection = New StylusPointCollection
MyStylusPointCollection.Add(e.StylusDevice.GetStylusPoints(MyIP1))
MyStroke = New Stroke(MyStylusPointCollection)
MyIP1.Strokes.Add(MyStroke)
End Sub
'StylusPoint objects are collected from the MouseEventArgs and added to MyStroke
Private Sub MyIP1_MouseMove(ByVal sender As Object, ByVal e As MouseEventArgs)
If (Not (MyStroke) Is Nothing) Then
MyStroke.StylusPoints.Add(e.StylusDevice.GetStylusPoints(MyIP1))
End If
End Sub
'MyStroke is completed
Private Sub MyIP1_LostMouseCapture(ByVal sender As Object, ByVal e As MouseEventArgs)
MyStroke = Nothing
End Sub
'Create the mirror image of the stroke collection in MyIP1 and adding it to MyIP2
Private Sub BtMirror_Click(ByVal sender As Object, ByVal e As EventArgs)
'Iterate through the Strokes in the StrokeCollection of MyIP1
For Each stroke As Stroke In MyIP1.Strokes
Dim newcollection As StylusPointCollection = New StylusPointCollection
'Iterate through the stylus points of each stroke in MyIP1
For Each p As StylusPoint In stroke.StylusPoints
'Create the mirror image
Dim newpoint As StylusPoint = New StylusPoint
newpoint.X = (MyIP1.ActualWidth - p.X)
newpoint.Y = p.Y
newcollection.Add(newpoint)
Next
'Add the mirror image to MyIP2
Dim newStroke As Stroke = New Stroke(newcollection)
MyIP2.Strokes.Add(newStroke)
Next
End Sub