签名捕获模式参考
在签名捕获模式下,会显示一个预定义的屏幕,供用户签名,例如:
除了笔的颜色和粗细之外,还可以启用 WILL 选项(Wacom 墨水层),以便根据笔的压力显示平滑的笔迹,粗细可变。
形象设计
定义最多三个签名捕获设计。每个设计都以以下格式定义用于正常和按钮按下显示的图像:
下面是一个普通图像的示例,后跟相应的按键图像:
签名区
进入签名捕捉模式后,会显示正常图像中的签名屏幕。签名区大小为800点*431点。
在设置签名捕获模式后,可以通过写入签名区域来显示姓名和原因等其他信息。
作业区
按钮图像包含在普通图像中。按下的按钮图像包含在按钮按下的图像中。按下按钮时,会显示相应的按钮图像。每个按钮的大小和位置:
按钮编号 | 尺寸(宽 * 高) | 位置(x,y) |
---|---|---|
1个 | 265*48 | 0、431 |
2个 | 265*48 | 266、431 |
3个 | 265*48 | 532、431 |
Signature Image settings
Each signature screen requires the settings:
Item | Pattern 1 |
---|---|
Image design number | Image design number 1..3 |
Signature screen (Normal) | Image data includes normal buttons, initial message and background image |
Signature screen (button pushed) | Image data includes pushed buttons and background image |
Keys Enabled setting | The bitmask (1..3) allows individual keys/buttons to be enabled (1) or disabled (0) as follows: Bit 0: key1 - Cancel. Bit 1: key2 - Clear. Bit 2: key3 - OK |
Signature Capture Operation
Before entering Signature Capture mode the images and settings must be stored. The following options must be set when entering Signature Capture mode:
Item | Description |
---|---|
Signature Screen Select | Select Signature screen design from pattern 1..3 |
输入后的 MessageBox id | 按下 Enter 后显示的 MessageBox 屏幕 |
取消后的 MessageBox id | 按下取消后显示的 MessageBox 屏幕 |
签名捕获返回
UI 事件数据报告选定的键号:
物品 | 描述 |
---|---|
核心价值 | 0: 取消 1: 输入 2: 清除 |
除了发送报告:
按钮 | 描述 |
---|---|
好的 | 清除屏幕并返回正常模式 |
清除 | 清除屏幕并重新显示初始签名捕获框屏幕 |
取消 | 清除屏幕并返回正常模式 |
签名捕获逻辑
API参考
功能 | 描述 |
---|---|
初始化签名 | 签名捕捉设置 |
写入RomImage | 平板电脑写ROM功能 |
设置操作模式 | 选择签名捕获模式 |
代码说明
上传图片
需要图像描述符:
romStartImageData = initializeSignature(m_encodingMode, pushed, SIG_IMAGE_NUM, array<bool, 3>{ true, true, true}) );
启动签名模式
// 0=Cancel; 1=Enter; 2=Clear
OperationMode_Signature sigOpMode{ SIG_IMAGE_NUM,{ 2, 0, 1 }, 0, 0 };
OperationMode opMode = initializeSignature(sigOpMode);
m_tablet.setOperationMode(opMode);
接收笔数据
Decode Pen Data from ReportHandler
onReport(PenData & v)
{
save(penData);
PostMessage(m_hwnd, WM_USER, 0, 0);
}
...
// Dialog callback
case WM_USER:
processPenData();
...
接收界面事件
Decode the UI Event data from ReportHandler
onReport(EventDataSignature & eventDataSignature)
{
switch (eventDataSignature.keyValue)
{
case 0:
processCancel();
case 1:
processOK();
case 2:
processClear();
}
}
...