Как жесты реализованы в Surface SDK?

Интересно, как такие жесты, как перемещение, масштабирование, поворот, реализованы в Surface SDK. Вам нужно прослушать определенные события? Обеспечивают ли они масштабирование/поворот центральной точки? Они кажутся естественными? (где естественно, когда вы двигаете одним пальцем, но не двигаете другим, ЦЕНТРАЛЬНАЯ точка находится на втором) Как жесты справляются с несколькими пальцами, а не только с отдельными прикосновениями?


person Valentin Simonov    schedule 19.07.2011    source источник


Ответы (1)


Есть 2 компонента:

1) API ManipulationProcessor. Это принимает серию событий сенсорного ввода и сообщает вам в совокупности, сколько вращения/масштабирования/перемещения было выполнено. Существует множество параметров конфигурации для этой и различных версий для C++, XNA/WinForms, Silverlight и WPF, каждый из которых адаптирован к целевой платформе разработки.

2) Чаще разработчики просто работают с одним из многих элементов управления WPF, которые поставляются с SDK. К ним относятся ScatterView, который позволяет пользователю перемещать/вращать/изменять размер нескольких объектов на экране, а также более простые элементы управления, такие как SurfaceListBox и SurfaceScrollViewer, которые упрощают простые жесты перевода над списком или другим произвольным элементом пользовательского интерфейса.

person Robert Levy    schedule 20.07.2011