Use the Common Device Library (CDL) to add a Wacom device to your application. The CDL provides high level functions to communicate with a Wacom pen device, leaving user interface handling to separate libraries, for example WILL SDK - Ink.
The CDL has been implemented in such a way that details of the Wacom device are abstracted and an application can use high level interfaces to use the device. For example, a device may support both USB and Bluetooth connections. The CDL allows an application to scan for devices and request a connection from one of those available. Subsequent CDL calls to send or receive data will be independent of the connection type.
In the same way, the CDL provides a level of abstraction for the type of Wacom device connected. The application will use common methods to send and receive data regardless of the device in use.
The current CDL version supports the following Wacom Smartpad devices
- Wacom Clipboard (PHU-111)
- Bamboo Slate
- Bamboo Folio
- Bamboo Spark
- Intuos Pro: Paper Edition
Subsequent versions of CDL will include support for additional pen input devices including STU and Wintab devices. As a result, applications implemented using CDL will automatically inherit the flexibility provided by the range of supported Wacom devices.
The CDL provides a unified application interface to Wacom devices. The features provided by the CDL can be grouped into three modes:
- file transfer
- real-time ink transfer.
This mode deals with device connection. It provides the following features:
- Scan for all available Wacom Devices (BTLE, BTC, USB)
- First time connection functions
- Initial Connection
- Device setup (e.g. naming)
The file transfer mode is used to receive data (pages) from supported devices. The raw ink data received from the device is transformed by the CDL into an InkDocument object and passed in this form to the API user. The API user is able to specify a transform matrix that the CDL applies to raw points before path building.
Real-time ink transfer
A CDL device instance is able to provide real-time ink data to an Ink Canvas control or another consumer. The data is transferred in the form of WILL Path objects (path parts). The Ink Canvas is able to render the paths on the fly. At the end of each stroke the CDL sends the whole InkStroke object.
In addition to the three operating modes, the CDL also provides an interface that returns the following properties for the connected device:
- Sensor dimensions
- Device name
- Firmware version
- Device date/time
- Battery state