SignatureCapture Class
2/27/2008
Defines the programmatic interface for a UPOS signature capture device.
Namespace: Microsoft.PointOfService
Assembly: Microsoft.PointOfService (in microsoft.pointofservice.dll)
Syntax
'Declaration
Public MustInherit Class SignatureCapture
Inherits PosCommon
public abstract class SignatureCapture : PosCommon
public ref class SignatureCapture abstract : public PosCommon
public abstract class SignatureCapture extends PosCommon
public abstract class SignatureCapture extends PosCommon
Remarks
Capabilities
The signature capture device has the following capability:
- Obtains a signature captured by a signature capture device. The captured signature data is in the form of lines consisting of a series of points. Each point lies within the coordinate system defined by the resolution of the device, where (0, 0) is the upper-left point of the device, and (MaximumX, MaximumY) is the lower-right point. The signature line points are presented to the application by a DataEvent with a single array of line points
The signature capture device may have the following additional capabilities:
Provides a way for the user to terminate signature capture – that is, to tell the device that she or he has completed the signature.
Displays form/data on the signature capture device.
Returns the signature in “real time” as it is entered on the device. If this capability is true and has been enabled by application by setting the RealTimeDataEnabled property to true, then a series of DataEvents are generated, each with an array of one or more line points representing a partial signature.
Model
The signature capture device usage model is:
Open and claim the device.
Enable the device and set DataEventEnabled to true.
Begin capturing a signature by calling the BeginCapture method. This method displays a form or data screen (if the device has a display) and enables the stylus.
If the device is capable of supplying signature data in real time as the signature is entered (CapRealTimeData is set to true), and if the RealTimeDataEnabled property is set to true, the signature is presented to the application as a series of partial signature data events until the signature capture is terminated.
If the device provides a way for the user to terminate the signature, then when the user terminates, the service object raises a DataEvent. Otherwise, the application must call the EndCapture method to terminate the signature.
Disable the device. If the device has a display, this also clears the display.
A signature capture follows the general Input Model for event-driven input:
When input is received by the service object, it queues a DataEvent.
If the AutoDisable property is true, then the device automatically disables itself when a DataEvent is queued. However, note that setting AutoDisable probably is not very useful. If RealTimeDataEnabled is true, then AutoDisable does not make sense. If RealTimeDataEnabled is false, then the pacing of signatures is controlled by the application via the BeginCapture method. It is probably in the best interest of the application not to use the AutoDisable property for this device class.
A queued DataEvent can be delivered to the application when the DataEventEnabled property is true. Just before delivering this event, data is copied into properties, and further data events are disabled by setting the DataEventEnabled property to false. This causes subsequent input data to be queued while the application processes the current input and associated properties. When the application has finished processing the current input and is ready for more data, it re-enables events by setting DataEventEnabled to true.
An ErrorEvent (or events) is queued if an error occurs while gathering or processing input, and is delivered to the application when the DataEventEnabled property is true and other delivery requirements are met.
The DataCount property can be read to obtain the number of queued DataEvents.
All queued input can be deleted by calling the ClearInput method.
Deviations from the Input Model are:
The capture of signature data begins when the BeginCapture method is called.
If signature capture is terminated by calling EndCapture, then no DataEvent is raised.
Device Sharing
The signature capture device is an exclusive-use device, as follows:
The application must claim the device before enabling it.
The application must claim and enable the device before calling methods that manipulate the device or before changing some writable properties.
Inheritance Hierarchy
System.Object
Microsoft.PointOfService.PosDevice
Microsoft.PointOfService.PosCommon
Microsoft.PointOfService.SignatureCapture
Microsoft.PointOfService.BasicServiceObjects.SignatureCaptureBasic
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread-safe. Any instance members are not guaranteed to be thread-safe.