Upload
andrej-tozon
View
2.467
Download
3
Tags:
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
SILVERLIGHT IN NUI
Andrej Tozon (ANT Andrej Tozon s.p.)
SILVERLIGHT IN NUI
Andrej Tozon (ANT Andrej Tozon s.p.)
PRI 14 MESECIH
PRI ~2 LETIH
PRI ~2,5 LETIH
PRI ~2,5 LETIHPRI ~2 LETIHPRI 14 MESECIH
Telefon Tablica Miška0
5
10
15
20
25
30
CAMDOODLE
SILVERLIGHTINNUI
PUZZLETOUCH
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?
SILVERLIGHT: MULTITOUCH
• Podpora je prišla s Silverlight 3
Touch.FrameReported += OnFrameReported;
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; }}
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; }}
DEMO
Microsoft Surface Silverlight Manipulations and Inertia
Multitouch Behaviors
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();}
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;
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;}
DEMO
Bug Smash
SLAR Toolkit
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
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/
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