Vývoj aplikací pro Surface
Aplikace pro Surface jsou postavené na WPF. Vývoj je tedy v podstatě identický, jako při tvorbě WPF aplikací pro běžné PC. Aplikace pro Surface musí navíc splňovat některá kritéria, aby se potenciál tohoto stolu využil naplno:
- Aplikace musí být ovladatelný z různých úhlů - uživatelé sedí kolem stolu.
- Aplikace musí být připravená pro více uživatelů.
- Aplikace musí podporovat multitouch.
Surface SDK proto obsahuje několik ovládacích prvků, které jsou odvozeny z ovládacích prvků určených pro klasické PC a jsou připraveny pro multitouch. Zjednodušeně řečeno, místo ovládacího prvku Button, použijete ovládací prvek SurfaceButton.
Ovládací prvek, který umožňuje tvorbu 360° aplíkací je ScatterView. Jde v podstatě o kontejner pro ovládací prvky, který umožňuje otáčení pomocí několika prstů, změnu velikosti a posunování. Pěknou vlastností je možnost udělit mu rychlost a nechat tento ovládací prvek klouzat po ploše stolu. Vlastností Deceleration pak můžete nastavit, jak rychle se zastaví. Tím lze například simulovat odpor povrchu. Jednoduchý prohlížeč obrázků:
<s:SurfaceWindow x:Class="MyFirstSurfaceApplication.SurfaceWindow1"
xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
xmlns:s="https://schemas.microsoft.com/surface/2008"
Title="MyFirstSurfaceApplication"
Name="MainWindow">
<s:SurfaceWindow.Resources>
<ImageBrush x:Key="WindowBackground" Stretch="None" Opacity="0.6" ImageSource="pack://application:,,,/Resources/WindowBackground.jpg"/>
</s:SurfaceWindow.Resources>
<Grid Name="MainGrid" Background="{StaticResource WindowBackground}" >
<s:ScatterView Grid.Row="1" Name="MyPhotos" >
<s:ScatterView.ItemTemplate>
<DataTemplate>
<Image Source="{Binding}"></Image>
</DataTemplate>
</s:ScatterView.ItemTemplate>
</s:ScatterView>
</Grid>
</s:SurfaceWindow>
Na následujícím videu se můžete podívat, jak ScatterView a některé ovládací prvky vypadají:
(Video jsem točil z ruky digitální fotoaparátem za 100 USD, tak neočekávejte HD, jako od Petra.)
Jednou z vlastností Surface je rozpoznávání položených předmětů To probíhá pomocí pětice kamer, kdy je každému "dotyku" přiřazeno ID, souřadnice, obrys a směr pohybu. Můžete se pak snažit rozpoznat předmět podle tvaru nebo na předmět nalepit tag, který nese zakódovanou informaci. Tagy jsou v podstatě 2D čárové kódy, které mohou nést informaci o velikosti 1b nebo 128b. Ukázka tagu:
Součástí Surface SDK je simulátor Surface, který podporuje multitouch i na normálním PC. Stáčí připojit více myší a ty se v Surface simulátoru zobrazí jako "prsty". Okno simulátoru:
Po mém návratu z PDC se můžete těšit na seminář na téma Surface SDK.
Štěpán