Download presentation
Presentation is loading. Please wait.
Published byReilly Fairleigh Modified over 10 years ago
1
Introduction to Tablet PC Development Gaurav Khanna gkhanna@microsoft.com Developer Evangelist Microsoft India
2
Agenda Tablet PC platform overview Description of the object model Overview of key objects Demos Other features of the SDK Tablet PC development environment Questions and answers
3
Microsoft Mobility Platform Increased Functionality Complex document authoring, editing and readingComplex document authoring, editing and reading Keyboard centric at the deskKeyboard centric at the desk Keyboard and mouse input methodsKeyboard and mouse input methods Full.NET Framework availableFull.NET Framework available Windows CE+ Windows XP Complex document authoring, editing and active readingComplex document authoring, editing and active reading Note taking and ink annotatingNote taking and ink annotating Keyboard centric at the desk, pen & keyboard away from the deskKeyboard centric at the desk, pen & keyboard away from the desk Keyboard, mouse plus pen, ink, and speech input methodsKeyboard, mouse plus pen, ink, and speech input methods Full.NET Framework preinstalledFull.NET Framework preinstalled Pen, ink, handwriting and speech recognition APIsPen, ink, handwriting and speech recognition APIs Integrated PDA with phoneIntegrated PDA with phone View and some data entryView and some data entry Interoperability with Office, Exchange and SQL ServerInteroperability with Office, Exchange and SQL Server.NET Compact Framework.NET Compact Framework Integrated phone with PDAIntegrated phone with PDA Data viewingData viewing Interoperability with ExchangeInteroperability with Exchange.NET Compact Framework.NET Compact Framework One-way networkOne-way network Information consumptionInformation consumption Smart Personal Objects Smartphone Pocket PC Phone Notebook PC Tablet PC
4
Tablet PC Platform Overview Ink collection Ink data and management Ink recognition
5
Ink Collection (Input) Digitizer basics Very high resolution Very high throughput Packet properties X, Y Pressure, angle, rotation, etc … Using the API to collect ink InkCollectorInkOverlay RealTimeStylus (SDK version 1.7)
6
Ink Data and Management Ink is a data type Ink looks good Bezier smoothed Anti-aliased Rich, extensible API Copy to/paste from the clipboard Multiple persistence formats
7
Ink Recognition 10 language recognizers available Provides a full set of recognition results Extensibility architecture allows for custom application recognizers to be built
8
Tablet PC Platform SDK 2 full APIs: COM automation compliant API.NET API Set of controls Provides common functionality Set of components Provides building blocks for platform extension Documentation and samples
9
Object Model Overview InkCollectorInkOverlay Ink Strokes Renderer Tablet Stroke Recognizers Recognizer DrawingAttributes RecognizerContext
10
Hello Ink World
11
Ink Collection Objects
12
InkCollector Top level object for collecting ink Attaches to an HWND Handles input from all attached digitizers and cursors (pens) Intercepts pen/mouse movements and can draw Ink dynamically Three ink collection modes: Ink Only Gesture Only Ink and Gesture Fires events
13
InkOverlay Superset of InkCollector Adds editing modes Ink – “Real-time” inking mode Select – Selection mode Delete – Eraser mode (point or stroke)
14
Ink Collection Events CursorInRange/CursorOutOfRangeNewInAirPacketsCursorDownNewPacketsStrokeGestureSystemGesture Mouse Events
15
Tablet Trivia What’s the difference between InkCollector and InkOverlay? InkOverlay adds editing modes Ink – “Real-time” inking mode Select – Selection mode Delete – Eraser mode (point or stroke)
16
ToDo - Ink Notepad
17
Ink Data Objects
18
Ink Object Container of stroke data Controls all means of persistence Binary stream Clipboard Can be extended using the ExtendedProperties property
19
Stroke Object Represents a single ink stroke Set of data captured in a single pen down, move and pen up sequence ExtendedProperties – allows application to store any data on the stroke DrawingAttributes – controls the rendering of the stroke Rich API Points, Bezier Points, BoundingBox, PacketData
20
Strokes Collection Represents a collection of references to stroke objects Useful for grouping related strokes together: By metadata – for filtering For recognition – RecognizerContext takes strokes collection for recognition
21
DrawingAttributes Controls the appearance of ink Color, width, transparency, smoothing, anti-aliasing PenTip – round, rectangular, height, width Can be scaled automatically using Renderer.Scale Each InkCollector/InkOverlay has a DefaultDrawingAttributes property that specifies the drawing attributes for all cursors Can be applied to a single stroke, to a strokes collection, or to a cursor (pen)
22
Renderer Two coordinate systems on a Tablet PC Screen coordinates Digitizer coordinates Renderer object enables: Mapping between digitizer and screen Drawing Ink to a device context Manipulating Ink rendering Object and View transforms supported Helper methods: Scale, Move, Rotate
23
Clipboard Support Use the Ink APIs to cut or copy multiple formats to the clipboard ISF – Ink serialized format BitmapMetafile Applications interacting with the clipboard can then choose the best format
24
ToDo - Ink Data Manipulation Demo
25
Tablet Trivia What’s the most important thing to remember about the Strokes collection? Represents a collection of references to Stroke objects
26
Ink Recognition Objects
27
RecognizerContext Is the instantiation of a given recognizer Allows recognition of a collection of strokes Synchronous recognition Asynchronous recognition
28
Enumerating Recognizers installed
29
RecognitionResult Has lattice structure with rich recognition results Provides access to paths through the RecognitionAlternates Can be stored on the strokes that created it
30
ToDo – Recognizing Ink
31
Tablet Trivia What did I warn you not to do in my reco demo that I did? New up a RecoContext without it iterating over recognizers
32
Additional Features in the Tablet SDK Version 1.7
33
Context What is Context? Context is the ability to constrain the set of information used for recognition Context can greatly improve recognition accuracy Context can be applied in many ways Lists of words Types of expected text URL, E-mail Address, Number, etc. Where do you see Context? Microsoft Internet Explorer Address bar Any other application that enables context Microsoft Office Outlook 2003 To: line
34
Enabling Context New applications InputScope API (New Win32 API) See Tablet PC developer center whitepaper for.NET support Existing applications Context Tagging tool
35
Context Tagging Demo
36
Tablet Trivia What is Context? Why use it? Context is the ability to constrain the set of information used for recognition Context can greatly improve recognition accuracy
37
Web Support Support for Windows Forms controls hosted in HTML Allows you to ink in a control on a web page Support for Single Click Deployment.NET application hosted in the Internet Explorer application domain
38
Real Time Input Features RealTimeStylus Object Model that provides direct access to stylus input even before it is rendered Allows for the creation of new Real Time components Custom dynamic rendering, gesture recognition, disabled regions, etc. Allows for the creation new Ink Collection components Build your own InkOverlay or InkCollector
39
Development Environment The SDK can be installed on Tablet or Non-Tablet devices Windows 2000 SP4 and above External HID compatible digitizer or mouse can simulate tablet digitizer Tablet OS available through MSDN Install on a desktop or laptop for development purposes The Recognizer Pack can be used for development purposes as well
40
Distributing Tablet Applications Redistributable Merge Module MSM files for all parts of the tablet platform except recognition Application deployment considerations Recognition may be used only on the Tablet OS Controls are designed to collect ink only on the Tablet OS Input Panel usage will only work only on the Tablet OS No support for the Win9x Platform
41
Tablet Trivia Must you have a TabletPC to write tablet apps? No!
42
Tablet & Mobile PC Developer Center http://msdn.microsoft.com/mobilepc
43
Q & A: We want your feedback! Email: gkhanna@microsoft.com Blog: http://blogs.msdn.com/gkhanna/ WWW: http://www.wintoolzone.com/
44
© 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.