Udostępnij za pośrednictwem


Wtyczki rozpoznawania

Wtyczka rozpoznawania to obiekt, który monitoruje ruch pióra tabletu pod kątem gestów, pisma ręcznego lub innych obiektów.

Gesty systemowe

Obiekt RealTimeStylus rozpoznaje gesty systemowe. Obiekt RealTimeStylus dodaje obiekt SystemGestureData do kolejki StylusQueues w odpowiedzi na dane, które kończą gest, takie jak obiekt StylusUpData dla SystemGesture. Aby uzyskać więcej informacji, zobacz Plug-in Data and the RealTimeStylus Class.

Obiekt GestureRecognizer

Obiekt GestureRecognizer implementuje interfejsy IStylusSyncPlugin i IStylusAsyncPlugin. Obiekt GestureRecognizer rozpoznaje gesty aplikacji. Wewnętrznie obiekt GestureRecognizer używa rozpoznawania gestów firmy Microsoft do rozpoznawania gestów.

Gdy obiekt GestRecognizer rozpoznaje gest, dodaje niestandardowe dane rysika do kolejki StylusQueues w odpowiedzi na obiekt StylusUpData dla pociągnięcia. Właściwość CustomStylusData obiektu CustomDataId jest ustawiona na właściwość GestureRecognitionDataGuid, a właściwość Data obiektu CustomStylusData zawiera obiekt GestureRecognitionData.

Na poniższym diagramie pokazano, jak obiekt GestureRecognizer dodaje dane do danych pióra tabletu.

ilustracja przepływu danych gestrecognizer

Na tym diagramie okrąg litera "SD" reprezentuje obiekt StylusDownData, a okręgi z literą "P" reprezentują PacketsData obiektów, które zostały już dodane do kolejki wyjściowej obiektu RealTimeStylus i które nie zostały jeszcze wysłane do asynchronicznej kolekcji wtyczek. Okrąg litera "SU" reprezentuje obiekt StylusUpData, który obecnie przetwarza obiekt RealTimeStylus. Jest ona wysyłana do kolekcji wtyczek synchronicznych, a następnie umieszczana w kolejce wyjściowej. Okręgi oznaczone literą "GR" reprezentują niestandardowe dane stylus dodawane do kolejki wejściowej przez GestureRecognizer wtyczkę w odpowiedzi na powiadomienie rysika skojarzone z "SU". Niestandardowe dane stylus z literą "GR" są następnie przekazywane do synchronicznych wtyczek, a następnie do kolejki wyjściowej przed przetworzeniem następnych danych pióra tabletu. Puste koło reprezentuje pozycję w kolejce wyjściowej, w której są dodawane przyszłe dane pióra tabletu.

Domyślnie obiekt GestureRecognizer rozpoznaje tylko gesty jednosuwowe; można jednak ustawić obiekt GestureRecognizer w celu rozpoznawania gestów wielosstrojowych. W przypadku gestów wielostrojowych obiekt CustomStylusData jest dodawany do kolejki StylusQueues w odpowiedzi na obiekt StylusUpData dla końcowego pociągnięcia gestu. Podczas rozpoznawania gestów wieloskładnikowych można otrzymywać powiadomienia dotyczące nakładających się zestawów pociągnięć. Na przykład pierwsze i drugie pociągnięcia mogą być rozpoznawane jako jeden gest, a drugi pociągnięcie może być rozpoznawane jako gest. Aby uzyskać więcej informacji na temat rozpoznawania gestów wielostrojowych, zobacz klasę GestureRecognizer i właściwość MaxStrokeCount.

Jeśli używasz obiektu GestureRecognizer do rozpoznawania gestów wielostrojowych, możesz uzyskać optymalną wydajność przy użyciu kaskadowego modelu RealTimeStylus i dołączania obiektu GestureRecognizer do pomocniczego obiektu RealTimeStylus. Aby uzyskać więcej informacji na temat kaskadowego modelu RealTimeStylus, zobacz Cascaded RealTimeStylus Model.

Zagadnienia specjalne

Na poniższej liście opisano inne kwestie, które należy wziąć pod uwagę podczas korzystania z obiektu GestureRecognizer.

Niestandardowe rozpoznawanie gestów

Możesz utworzyć niestandardową wtyczkę rozpoznawania, która rozpoznaje pismo ręczne, gesty lub inne obiekty za pomocą:

gesty aplikacji

gesty systemowe

oś czasu komunikatów myszy i zdarzeń systemowych