签名捕获模式参考
在签名捕获模式下,会显示一个预定义的屏幕,供用户签名,例如:
除了笔的颜色和粗细之外,还可以启用 WILL 选项(Wacom 墨水层),这样就可以显示平滑的笔迹,粗细可根据笔的压力而变化。
图片设计
最多可定义三个签名捕捉设计。每个设计按以下格式定义用于正常显示和按下按钮显示的图像:
下面是一个正常图像的示例,后跟相应的按键被按下的图像:
签名区
进入签名捕捉模式后,会显示正常图像中的签名屏幕。签名区大小为800点*431点。
在设置签名捕获模式后,可以通过写入签名区域来显示姓名和原因等其他信息。
操作区
按钮图像包含在张昌图像中。按下按钮的图像包含在按钮按下的图像中。按下按钮时,会显示相应的按钮图像。每个按钮的大小和位置:
按钮编号 | 尺寸(宽 * 高) | 位置(x,y) |
---|---|---|
1 | 265*48 | 0、431 |
2 | 265*48 | 266、431 |
3 | 265*48 | 532、431 |
签名图片设置
每个签名界面都需要设置:
项目 | 模式1 |
---|---|
图像设计编号 | 图像设计编号 1..3 |
签名屏幕 (正常) |
图像数据包括普通按钮、初始信息和背景图像 |
签名屏幕(按钮已按下) | 图像数据包括按下的按钮和背景图像 |
按键启用设置 | 位掩码 (1..3) 允许启用 (1) 或禁用 (0) 单个按键/按钮,具体如下: Bit 0: key1 - 取消. Bit 1: key2 - 清除. Bit 2: key3 - 确定 |
签名捕获操作
在进入签名捕捉模式之前,必须先存储图像和设置。进入签名捕捉模式时必须设置以下选项:
项目 | 描述 |
---|---|
签名屏幕选择 | 从模式中选择签名屏幕设计 1..3 |
输入后的 MessageBox id | 按下 Enter 后显示的 MessageBox 屏幕 |
取消后的 MessageBox id | 按下取消后显示的 MessageBox 屏幕 |
签名捕获返回
UI 事件数据报告选定的键号:
项目 | 描述 |
---|---|
键值 | 0: 取消 1: 输入 2: 清除 |
除了发送报告之外:
按钮 | 描述 |
---|---|
OK | 清除屏幕并返回正常模式 |
Clear | 清除屏幕并重新显示初始签名捕获框屏幕 |
Cancel | 清除屏幕并返回正常模式 |
签名捕获逻辑
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();
}
}
...