Поделиться через


Подключаемые модули распознавателя

Подключаемый модуль распознавателя — это объект, который отслеживает движение пера планшета для жестов, рукописного ввода или других объектов.

Системные жесты

Объект RealTimeStylus распознает системные жесты. Объект RealTimeStylus добавляет объект SystemGestureData в очередь StylusQueues в ответ на данные, завершающие жест, например объект StylusUpData для SystemGesture. Дополнительные сведения см. в разделе Данные подключаемого модуля и класс RealTimeStylus.

Объект GestureRecognizer

Объект GestureRecognizer реализует интерфейсы IStylusSyncPlugin и IStylusAsyncPlugin . Объект GestureRecognizer распознает жесты приложения. Внутри объекта GestureRecognizer для распознавания жестов используется распознаватель жестов Майкрософт.

Когда объект GestureRecognizer распознает жест, он добавляет пользовательские данные пера в очередь StylusQueues в ответ на объект StylusUpData для росчерка. Свойству CustomDataId объекта CustomStylusData присваивается значение GestureRecognitionDataGuid, а свойство Data объекта CustomStylusData содержит объект GestureRecognitionData.

На следующей схеме показано, как объект GestureRecognizer добавляет данные в данные пера планшета.

Иллюстрация потока данных для распознавания жестов

На этой схеме круг с буквой "SD" представляет объект StylusDownData , а круги с буквой "P" представляют объекты PacketsData , которые уже были добавлены в очередь вывода объекта RealTimeStylus и еще не отправлены в асинхронную коллекцию подключаемых модулей. Круг с буквой "SU" представляет объект StylusUpData , который в настоящее время обрабатывается объектом RealTimeStylus . Он отправляется в синхронную коллекцию подключаемых модулей, а затем помещается в очередь вывода. Круги с буквой "GR" представляют данные пользовательского пера, которые добавляются во входную очередь подключаемым модулем GestureRecognizer в ответ на уведомление пера вверх, связанное с "SU". Затем данные пользовательского пера с буквой "GR" передаются синхронным подключаемым модулям, а затем в очередь вывода перед обработкой данных следующего пера планшета. Пустой круг представляет позицию в очереди вывода, в которую добавляются будущие данные пера планшета.

По умолчанию объект GestureRecognizer распознает только жесты с одним росчерком; однако объект GestureRecognizer можно настроить для распознавания жестов с несколькими ударами. Для жестов с несколькими ударами объект CustomStylusData добавляется в очередь StylusQueues в ответ на объект StylusUpData для последнего росчерка жеста. При распознавании жестов с несколькими ударами вы можете получать уведомления о перекрывающихся наборах штрихов. Например, первый и второй штрихи вместе можно распознать как один жест, а второй — как жест. Дополнительные сведения о распознавании жестов с несколькими ударами см. в разделе Класс GestureRecognizer и свойство MaxStrokeCount .

Если вы используете объект GestureRecognizer для распознавания жестов с несколькими ударами, вы можете достичь оптимальной производительности с помощью каскадной модели RealTimeStylus и присоединения объекта GestureRecognizer к вторичному объекту RealTimeStylus . Дополнительные сведения о каскадной модели RealTimeStylus см. в разделе Каскадная модель RealTimeStylus.

Особые рекомендации

В следующем списке описаны другие моменты, которые следует учитывать при использовании объекта GestureRecognizer .

Распознавание пользовательских жестов

Вы можете создать пользовательский подключаемый модуль распознавателя, который распознает рукописный текст, жесты и другие объекты, выполнив следующие действия:

  • Передача сведений об росчерке в существующий объект Распознавателя и использование метода AddCustomStylusDataToQueue для добавления результатов в поток данных пера планшета.
  • Выполнение распознавания в подключаемом модуле и использование метода AddCustomStylusDataToQueue для добавления результатов в поток данных пера планшета.

Жесты приложения

Системные жесты

Временная шкала сообщений мыши и системных событий