InkManager.ProcessPointerUpdate(PointerPoint) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Catatan
Untuk aplikasi Universal Windows menggunakan Extensible Application Markup Language (XAML), sebaiknya gunakan InkPresenter dan kontrol InkCanvas alih-alih InkManager.
Memproses properti posisi dan status, seperti tekanan dan kembung, untuk penunjuk yang ditentukan, dari peristiwa penunjuk terakhir hingga dan termasuk peristiwa penunjuk saat ini. Panggil metode ini setelah ProcessPointerDown dan sebelum ProcessPointerUp.
Penting
Metode ini tidak didukung di aplikasi desktop.
public:
virtual Platform::Object ^ ProcessPointerUpdate(PointerPoint ^ pointerPoint) = ProcessPointerUpdate;
IInspectable ProcessPointerUpdate(PointerPoint const& pointerPoint);
public object ProcessPointerUpdate(PointerPoint pointerPoint);
function processPointerUpdate(pointerPoint)
Public Function ProcessPointerUpdate (pointerPoint As PointerPoint) As Object
Parameter
- pointerPoint
- PointerPoint
Penunjuk input yang pembaruannya akan diproses.
Mengembalikan
Ketika InkManipulationMode saat ini adalah Penintaan atau Pemilihan, metode ini mengembalikan Titik (posisi layar dalam ruang tinta) yang terkait dengan ProcessPointerUpdate terakhir pointerPoint.
Contoh
Contoh berikut menunjukkan handler untuk peristiwa PointerMoved pada InkCanvas.
Di sini, titik perantara (intermediatePoints
) yang tidak diproses sejak pembaruan terakhir diproses oleh InkManager (inkManager
) dalam panggilan ProcessPointerUpdate.
void InkingArea_PointerMoved(object sender, Windows.UI.Xaml.Input.PointerRoutedEventArgs e)
{
var pointerPoint = e.GetCurrentPoint(InkingArea);
if (pointerId == (int)pointerPoint.PointerId)
{
switch (inkManager.Mode)
{
case Windows.UI.Input.Inking.InkManipulationMode.Erasing:
// Check if something has been erased.
// In erase mode, ProcessPointerUpdate returns an
// `invalidateRect` (if it is not degenerate something
// has been erased). In erase mode we don't bother processing
// intermediate points.
var invalidateRect =
(Windows.Foundation.Rect)inkManager.ProcessPointerUpdate(
e.GetCurrentPoint(InkingArea));
if (invalidateRect.Height != 0 && invalidateRect.Width != 0)
{
// We don't know what has been erased so we clear the render
// and add back all the ink saved in the ink manager.
renderer.Clear();
renderer.AddInk(inkManager.GetStrokes());
}
break;
case Windows.UI.Input.Inking.InkManipulationMode.Inking:
case Windows.UI.Input.Inking.InkManipulationMode.Selecting:
// Process intermediate points.
var intermediatePoints = e.GetIntermediatePoints(InkingArea);
for (int i = intermediatePoints.Count - 1; i >= 0; i--)
{
inkManager.ProcessPointerUpdate(intermediatePoints[i]);
}
// Live rendering.
renderer.UpdateLiveRender(pointerPoint);
break;
}
}
}
Berlaku untuk
Lihat juga
- Interaksi pena dan stylus
- Memulai: Tinta dukungan di aplikasi UWP Anda
- Sampel analisis tinta (dasar) (C#)
- Sampel pengenalan tulisan tangan tinta (C#)
- Menyimpan dan memuat goresan tinta dari file Ink Serialized Format (ISF)
- Menyimpan dan memuat goresan tinta dari clipboard
- Lokasi toolbar tinta dan sampel orientasi (dasar)
- Lokasi toolbar tinta dan sampel orientasi (dinamis)
- Sampel buku mewarnai
- Sampel catatan keluarga
- Sampel penintaan (JavaScript)
- Sampel penintaan sederhana (C#/C++)
- Sampel penintaan kompleks (C++)
- Sampel analisis tinta