20
SILVERLIGHT IN NUI Andrej Tozon (ANT Andrej Tozon s.p.)

Silverlight and NUI

Embed Size (px)

DESCRIPTION

My Silverlight and NUI talk from the recent NT konference in Portorož, Slovenia. In Slovenian language. References: * Camdoodle (http://camdoodle.codeplex.com/) * PuzzleTouch (http://www.puzzletouch.com/) * Silverlight 4, WPF 4 and Windows Phone 7 Multi-Touch Manipulation (http://multitouch.codeplex.com/) * Bug Smash (http://adamkinney.com/labs/bugcamsmash/) * SLAR Toolkit (http://slartoolkit.codeplex.com/)

Citation preview

Page 1: Silverlight and NUI

SILVERLIGHT IN NUI

Andrej Tozon (ANT Andrej Tozon s.p.)

Page 2: Silverlight and NUI

SILVERLIGHT IN NUI

Andrej Tozon (ANT Andrej Tozon s.p.)

Page 3: Silverlight and NUI

PRI 14 MESECIH

Page 4: Silverlight and NUI

PRI ~2 LETIH

Page 5: Silverlight and NUI

PRI ~2,5 LETIH

Page 6: Silverlight and NUI

PRI ~2,5 LETIHPRI ~2 LETIHPRI 14 MESECIH

Telefon Tablica Miška0

5

10

15

20

25

30

Page 7: Silverlight and NUI

CAMDOODLE

SILVERLIGHTINNUI

Page 8: Silverlight and NUI

PUZZLETOUCH

Page 9: Silverlight and NUI

SILVERLIGHT IN NUI

• Touch• Multi-Touch

• Zelo low-level• Knjižnice

• Microsoft Surface Silverlight Manipulations and Interia

• Full-Screen Keyboard• Silverlight 4 – omejeno• Silverlight 5 – poln nabor

• WebCam• Kinect?

Page 10: Silverlight and NUI

SILVERLIGHT: MULTITOUCH

• Podpora je prišla s Silverlight 3

Touch.FrameReported += OnFrameReported;

Page 11: Silverlight and NUI

SILVERLIGHT: MULTITOUCH

private void OnFrameReported(object sender,  TouchFrameEventArgs e) {}

public class TouchFrameEventArgs{ TouchPoint GetPrimaryTouchPoint(UIElement relativeTo);  TouchPointCollection GetTouchPoints(UIElement relativeTo); void SuspendMousePromotionUntilTouchUp(); int Timestamp { get; }}

Page 12: Silverlight and NUI

SILVERLIGHT: MULTITOUCH

public class TouchPoint{    public TouchAction Action { get; } public Point Position { get; }    public Size Size { get; } public TouchDevice TouchDevice { get; }}

public enum TouchAction{ Down, Move, Up}

public class TouchDevice{ public int Id { get; }  public UIElement DirectlyOver { get; }}

Page 13: Silverlight and NUI

DEMO

Microsoft Surface Silverlight Manipulations and Inertia

Multitouch Behaviors

Page 14: Silverlight and NUI

SILVERLIGHT: WEBCAM

public static class CaptureDeviceConfiguration{ static bool AllowedDeviceAccess { get; }    static bool RequestDeviceAccess();    static ReadOnlyCollection<VideoCaptureDevice>  GetAvailableVideoCaptureDevices();    static ReadOnlyCollection<AudioCaptureDevice>  GetAvailableAudioCaptureDevices();    static VideoCaptureDevice GetDefaultVideoCaptureDevice();    static AudioCaptureDevice GetDefaultAudioCaptureDevice();}

Page 15: Silverlight and NUI

SILVERLIGHT: WEBCAM

public class CaptureSource{ VideoCaptureDevice VideoCaptureDevice { get; set; }    AudioCaptureDevice AudioCaptureDevice { get; set; }    CaptureState State { get; }    void Start();    void Stop();    event EventHandler<ExceptionRoutedEventArgs>  CaptureFailed;    void CaptureImageAsync();    event EventHandler<CaptureImageCompletedEventArgs>  CaptureImageCompleted;}

VideoBrush brush = new VideoBrush();brush.SetSource(captureSource);Rectangle.Fill = brush;

Page 16: Silverlight and NUI

SILVERLIGHT: WEBCAM

CompositionTarget.Rendering += CompositionTarget_Rendering;

void CompositionTarget_Rendering(object sender, EventArgs e){    captureSource.CaptureImageAsync();}

void OnCaptureImageCompleted(object sender,  CaptureImageCompletedEventArgs e){ ImageBrush brush = new ImageBrush(); brush.ImageSource = e.Result;    rectangle.Fill = brush;}

Page 18: Silverlight and NUI

POVZETEK

• Naravni uporabniški vmesniki• Silverlight omogoča:

• Podporo (multi) touch aplikacijam• Dostop do video kamere• Dostop do mikrofona

• Za lažjo uporabo posežemo po že izdelanih knjižnicah

• Medtem pa čakamo na podporo za Kinect

Page 19: Silverlight and NUI

POVEZAVE

• Microsoft Surface Manipulations and Inertia Sample for Microsoft Silverlight• http://to3.si/jO8ktN

• Silverlight 4, WPF 4 and Windows Phone 7 Multi-Touch Manipulation• http://multitouch.codeplex.com/

• Bug Smash• http://adamkinney.com/labs/bugcamsmash/

• SLAR Toolkit• http://slartoolkit.codeplex.com/

Page 20: Silverlight and NUI

VPRAŠANJA?Po zaključku predavanja prosim izpolnite vprašalnik.

Vprašalniki bodo poslani na vaš e-naslov, dostopni pa bodo tudi preko profila na spletnem portalu konference. www.ntk.si.

Z izpolnjevanjem le tega pripomorete k izboljšanju konference.

Hvala!

Andrej TozonANT Andrej Tozon s.p.Microsoft MVP: Silverlight

[email protected]@andrejt

http://tozon.info/blog