二、数据接口与数据结构定义
使用了IDL定义了两个通用的接口,分别用来进行异步和同步调用:
int sendSyncCommand([in] int command, [in] String params);void sendAsyncComman
大部分情况下,远程调用大部分都通过同步的方式进行,用户之间的绘画数据通过异步接口传输,数据在用户绘制的时候采集,每50ms左右发送一次,这个频率可以大概保证用户视觉上没有卡顿,而又不至于因为接口过度调用导致卡顿或者耗电量过大。采集的绘画数据的数据结构大致如下:
enum action //动作,表示落笔、移动、提笔等动作
int tagId //多点触摸识别标记
int x //x坐标
int y //y坐标
enum brushType //笔刷类型
int brushSize //笔刷大小
enum brushColor //笔刷颜色
int layer //图层
这款应用是支持多点触摸的,所以每个触摸点在落笔的时候,都使用了tagId进行标记。这些数据除了通讯外,还会完整地保存在文件中,这样用户就可以通过应用内的播放功能播放该数据,回看绘画的整个过程。