Skip to main content

Overview

Intended Audience

This document is intended to provide information to Windows app developers who would like to add Wacom tablet-aware capabilities to their applications so as to support the acquisition and display of tablet pen data using Microsoft Ink APIs. Although Wacom provides excellent inking support through its Wintab API, knowledge of the Microsoft Ink APIs will give the developer additional options for ink capture, analysis and rendering.

Notice

Wacom is not responsible for the Windows implementation of touch, nor for its documentation.

Also see the pros and cons of using Wintab over one of the Microsoft Ink APIs.

Introduction

The term “ink” is used generally to denote digital stylus data read from digitizer tablets. In addition to inking APIs provided by Wacom (see the pages for Wintab and the Wacom WILL SDK documentation), Microsoft provides a number of APIs that can be used in Windows applications to manage ink data. The Microsoft Ink APIs support the capture, management, rendering, and analysis of digitizer output as ink data for a host of commercial graphics and signature capture applications.

In addition to capturing the basic position and movement of the pen as the user writes or draws, an app can also track and collect the varying amounts of pressure used throughout a stroke. This information, along with settings for pen tip shape, size, and rotation, ink color, and purpose (plain ink, erasing, highlighting, and selecting), enables the app to provide user experiences that closely resemble writing or drawing on paper with a pen, pencil, or brush.

The capture of ink through Microsoft Ink APIs has been supported from the early Tablet PC days (early 2000s). Modern digitizer devices, such as those from Wacom, support properties used by the Windows OS to capture ink data and make it available for these APIs. One advantage of Microsoft Ink APIs is that they allow your application to be built once and used for any ink-enabled device – including Wacom ink-enabled tablets!

As mentioned above, a fundamental property of ink data is the concept of a “stroke.” The stroke may be thought of as a series of data points that are captured between the time at which a stylus touches an ink-enabled digitizing device and when it is lifted. Each data point contains information such as pen location, pen pressure, color, etc. A collection of strokes can be used to build an image (such as a signature, for example). Wacom has extended the concept of strokes, through its WILL API support, to also include semantic information related to what the stroke means. See the WILL SDK pages for details.

Microsoft Ink APIs are used on the back end for other APIs. These include HTML5 Pointer Events (Web API) for web browser apps and the powerful WILL desktop and browser APIs (WILL SDK).

Types of Applications You Can Build with Microsoft Ink APIs

Any application that displays images from ink data can benefit from the Microsoft ink APIs. Such applications include:

  • Capture and display of signatures
  • Graphics drawing and rendering applications
  • Annotation support added to reader apps

Microsoft Ink API Supported Tablets

All Wacom tablets supported by the Wacom driver are supported by this API. Get the tablet driver that supports your device at: https://www.wacom.com/support/product-support/drivers.

Microsoft Ink API Supported Operating Systems and Programming Frameworks

Windows Ink is (and has been) supported since WinXP days on Tablet PC through the current Windows 10 era on the latest pen-enabled tablets. Windows Ink applications can be written for Win32, WPF, and UWP application types. See Reference for an overview table summary of Windows Ink namespaces and selected ink classes.

See Also

Windows Ink

Basics – Details on how to write Ink API applications

Reference – Microsoft Ink API details

FAQs – Ink API programming tips

Wintab

Overview - Overview of Wintab

Basics - Details on how to configure and write Wintab applications

Reference - Complete API details

FAQs - Wintab programming tips

Web API

Overview - HTML5 Pointer Events overview

Basics - Details on how to start writing HTML5 Pointer Events applications

Reference - Information on the HTML5 Pointer Events API

FAQs - HTML5 Pointer Events programming tips