IStylusAsyncPlugin.Packets メソッド
スタイラスがデジタイザ上で移動していることを、IStylusAsyncPlugin インターフェイスを実装するオブジェクトに通知します。
名前空間 : Microsoft.StylusInput
アセンブリ : Microsoft.Ink (Microsoft.Ink.dll 内)
構文
'宣言
Sub Packets ( _
sender As RealTimeStylus, _
data As PacketsData _
)
'使用
Dim instance As IStylusAsyncPlugin
Dim sender As RealTimeStylus
Dim data As PacketsData
instance.Packets(sender, data)
void Packets(
RealTimeStylus sender,
PacketsData data
)
void Packets(
RealTimeStylus^ sender,
PacketsData^ data
)
void Packets(
RealTimeStylus sender,
PacketsData data
)
function Packets(
sender : RealTimeStylus,
data : PacketsData
)
パラメータ
- sender
型 : Microsoft.StylusInput.RealTimeStylus
このメソッドを呼び出した RealTimeStylus オブジェクト。
- data
型 : Microsoft.StylusInput.PluginData.PacketsData
スタイラスの移動に関する情報。
解説
data パラメータに格納された PacketsData オブジェクトの、継承された SetData メソッドを呼び出すことにより、パケット データを変更できます。
メモ : |
---|
value パラメータの配列の長さが、継承された PacketPropertyCount プロパティの値の倍数でない場合は、ArgumentException 例外が SetData メソッドによってスローされます。 |
value パラメータを nullnull 参照 (Visual Basic では Nothing) (Microsoft Visual Basic .NET の場合は Nothing) に設定して SetData メソッドを呼び出すと、パケットをキャンセルできます。
例
この C# の例は、RealTimeStylus Plug-in Sample からの抜粋です。新たに受け取った各パケットの場所に小さな円を描画する Packets メソッドを実装します。
public void Packets(RealTimeStylus sender, PacketsData data)
{
// For each new packet received, extract the x,y data
// and draw a small circle around the result.
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.Green, point.X - 2, point.Y - 2, 4, 4);
}
}
この Visual Basic .NET の例は、RealTimeStylus Plug-in Sample からの抜粋です。新たに受け取った各パケットの場所に小さな円を描画する Packets メソッドを実装します。
Public Sub Packets(ByVal sender As RealTimeStylus, ByVal data As PacketsData) _
Implements IStylusAsyncPlugin.Packets
' For each new packet received, extract the x,y data
' and draw a small circle around the result.
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.Green, point.X - 2, point.Y - 2, 4, 4)
Next i
End Sub 'Packets
プラットフォーム
Windows Vista, Windows XP SP2, Windows Server 2003
.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。
バージョン情報
.NET Framework
サポート対象 : 3.0