IStylusSyncPlugin.StylusDown Method
Informs the implementing plug-in that the stylus has touched the tablet digitizer surface.
Namespace: Microsoft.StylusInput
Assembly: Microsoft.Ink (in microsoft.ink.dll)
Syntax
'Declaration
Sub StylusDown ( _
sender As RealTimeStylus, _
data As StylusDownData _
)
'Usage
Dim instance As IStylusSyncPlugin
Dim sender As RealTimeStylus
Dim data As StylusDownData
instance.StylusDown(sender, data)
void StylusDown (
RealTimeStylus sender,
StylusDownData data
)
void StylusDown (
RealTimeStylus^ sender,
StylusDownData^ data
)
void StylusDown (
RealTimeStylus sender,
StylusDownData data
)
function StylusDown (
sender : RealTimeStylus,
data : StylusDownData
)
Not applicable.
Parameters
- sender
The RealTimeStylus object that sent the notification.
- data
Information about the Stylus object associated with the notification.
Remarks
You can modify the packet data by calling the inherited SetData method of the StylusDownData object contained in the data parameter.
Note
An ArgumentExceptionArgumentException exception is thrown by the SetData method if the length of the array in the value parameter is not equal to the value of the inherited PacketPropertyCount property.
Example
This C# example, adapted from the RealTimeStylus Plug-in Sample, shows an implementation of StylusDown. The example draws a purple circle around the point where the stylus touches the digitizer. The myGraphics
variable holds an internal reference to a Graphics object for the control the RealTimeStylus is attached to.
public void StylusDown(RealTimeStylus sender, StylusDownData data)
{
for (int i = 0; i < data.Count; i += data.PacketPropertyCount)
{
// Packet data always has x followed by y followed by the rest
Point point = new Point(data[i], data[i+1]);
// Since the packet data is in Ink Space coordinates, we need to convert to Pixels...
point.X = (int)Math.Round((float)point.X * (float)myGraphics.DpiX/2540.0F);
point.Y = (int)Math.Round((float)point.Y * (float)myGraphics.DpiY/2540.0F);
// Draw a circle corresponding to the packet
myGraphics.DrawEllipse(Pens.Purple, point.X - 2, point.Y - 2, 4, 4);
}
}
This Microsoft Visual Basic .NET example, adapted from the RealTimeStylus Plug-in Sample, shows an implementation of StylusDown. The example draws a purple circle around the point where the stylus touches the digitizer. The myGraphics
variable holds an internal reference to a Graphics object for the control the RealTimeStylus is attached to.
Public Sub StylusDown(ByVal sender As RealTimeStylus, ByVal data As StylusDownData) _
Implements IStylusSyncPlugin.StylusDown
Dim i As Integer
For i = 0 To data.Count - data.PacketPropertyCount Step data.PacketPropertyCount
' Packet data always has x followed by y followed by the rest
Dim point As New Point(data(i), data((i + 1)))
' Since the packet data is in Ink Space coordinates, we need to convert to Pixels...
point.X = Math.Round((System.Convert.ToSingle(point.X) * System.Convert.ToSingle(myGraphics.DpiX) / 2540.0F))
point.Y = Math.Round((System.Convert.ToSingle(point.Y) * System.Convert.ToSingle(myGraphics.DpiY) / 2540.0F))
' Draw a circle corresponding to the packet
myGraphics.DrawEllipse(Pens.Purple, point.X - 2, point.Y - 2, 4, 4)
Next i
End Sub 'StylusDown
Platforms
Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.
Version Information
.NET Framework
Supported in: 3.0
See Also
Reference
IStylusSyncPlugin Interface
IStylusSyncPlugin Members
Microsoft.StylusInput Namespace
StylusDownData