基于EP7312的新型嵌入式系统的实现
| 通过响应鼠标事件将图形和相应的事件关联起来。 在viewml应用层中原有两个函数static int send(fl_widget* o, int event) :向http发送请求并将请求事例放入队列;int vmlappwindow::handle(int event):调用线程对事例队列进行处理。除了实例化上面定义的函数,在这里还加入处理网页的保存,后退,前进的函数都要用到的函数int vmlappwindow::temp(int event),其功能是临时保存网页。其处理流程为: (1)在处理事例队列为非空时,从队列中取出一处理过的http请求 (2)将http请求结果用html三步:tokenizer , htnl-parser , html-layout进行处理 (3)把http处理的结果加入临时保存队列中 (4)从处理事例队列中删除此请求结果 队列采用链表实现,当需要从当前页面后退时,其处理流程为: (1)捕获鼠标事件 (2)从队首搜索至工作指针的下一个元素为当前指针时,当前指针后退 (3)将当前指针所指向的元素调用html引擎处理 前进和刷新功能实现流程与后退类似,这里就不赘叙了。保存当前htm法略微复杂些,因为在保存页面时还要同时保存页面中的图像文件,算法如下: (1)输入存盘路径和文件名 (2)对文件名进行自动处理如加上后缀htm,创建一个目录,以files为后缀存放图形文件 (3)从临时保存队列中取当前指针,指针为非头指针时取其所指向html文件,处理文件。 (4)将文件存入磁盘 基于嵌入式系统的硬件条件有限,无存储量大的磁盘等设备.,且flash或rom等存储介质的价格相对于台式机上使用的硬盘﹑光盘等是比较昂贵的 。所以嵌入式系统只能以小巧且高效来赢得市场。完善了窗口功能的系统完全能满足大部分用户的应用需求了。 4 结束语 参考文献 |
