StylusPlugIn.OnStylusDown(RawStylusInput) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Occurs on a thread in the pen thread pool when the tablet pen touches the digitizer.
protected:
virtual void OnStylusDown(System::Windows::Input::StylusPlugIns::RawStylusInput ^ rawStylusInput);
protected virtual void OnStylusDown (System.Windows.Input.StylusPlugIns.RawStylusInput rawStylusInput);
abstract member OnStylusDown : System.Windows.Input.StylusPlugIns.RawStylusInput -> unit
override this.OnStylusDown : System.Windows.Input.StylusPlugIns.RawStylusInput -> unit
Protected Overridable Sub OnStylusDown (rawStylusInput As RawStylusInput)
Parameters
- rawStylusInput
- RawStylusInput
A RawStylusInput that contains information about input from the pen.
Examples
The following example demonstrates how to override the OnStylusDown method. To create a StylusPlugIn that restricts ink to a certain area, see the StylusPlugIn overview.
protected override void OnStylusDown(RawStylusInput rawStylusInput)
{
// Run the base class before modifying the data
base.OnStylusDown(rawStylusInput);
// Get the StylusPoints that have come in
StylusPointCollection stylusPoints = rawStylusInput.GetStylusPoints();
// Modify the (X,Y) data to move the points
// inside the acceptable input area, if necessary
for (int i = 0; i < stylusPoints.Count; i++)
{
StylusPoint sp = stylusPoints[i];
if (sp.X < 50) sp.X = 50;
if (sp.X > 250) sp.X = 250;
if (sp.Y < 50) sp.Y = 50;
if (sp.Y > 250) sp.Y = 250;
stylusPoints[i] = sp;
}
// Copy the modified StylusPoints back to the RawStylusInput
rawStylusInput.SetStylusPoints(stylusPoints);
}
Protected Overrides Sub OnStylusDown(ByVal rawStylusInput As RawStylusInput)
' Run the base class before we modify the data
MyBase.OnStylusDown(rawStylusInput)
' Get the StylusPoints that have come in
Dim stylusPoints As StylusPointCollection = rawStylusInput.GetStylusPoints()
' Modify the (X,Y) data to move the points
' inside the acceptable input area, if necessary.
Dim i As Integer
For i = 0 To stylusPoints.Count - 1
Dim sp As StylusPoint = stylusPoints(i)
If sp.X < 50 Then
sp.X = 50
End If
If sp.X > 250 Then
sp.X = 250
End If
If sp.Y < 50 Then
sp.Y = 50
End If
If sp.Y > 250 Then
sp.Y = 250
End If
stylusPoints(i) = sp
Next i
' Copy the modified StylusPoints back to the RawStylusInput
rawStylusInput.SetStylusPoints(stylusPoints)
End Sub
Remarks
This method occurs on a pen thread, so minimize work in this method to avoid impacting performance.