[发明专利]一种实现跨平台图形库的系统及方法有效
申请号: | 201110133570.4 | 申请日: | 2011-05-23 |
公开(公告)号: | CN102799581A | 公开(公告)日: | 2012-11-28 |
发明(设计)人: | 蒋昌俊;陈闳中;闫春钢;方钰;张栋良;陈凯;白星振 | 申请(专利权)人: | 同济大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 上海光华专利事务所 31219 | 代理人: | 叶琦玲 |
地址: | 200092 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 平台 图形 系统 方法 | ||
技术领域
本发明涉及一种信息技术领域,尤其涉及一种实现跨平台图形库的系统及方法.
背景技术
在用编程语言工具开发跨平台的应用程序时,经常遇到应用程序需要为不同的平台编写针对该平台的代码,最突出的代表便是编写图形用户接口(简称GUI)代码。如果GUI需求一旦发生变化,所有平台的相关代码都需要做相应的修改。这样不仅耗时耗力,同时又容易出错,代码的管理也会受到影响,从此会降低开发效率。一种解决该问题的方法是使用跨平台的图形库接口来开发跨平台的应用程序,跨平台图形库对开发者提供统一的编程接口,同时在具体实现上根据操作系统的不同从而进行不同的实现。
以C++为例,目前有很多以C++为开发语言的跨平台图形库,其中典型的代表有Qt和wxWidget。Qt是跨平台的C++类库,能够在Windows、Linux等主流平台上使用。Qt除了包含图形库之外,还提供了跨平台的基础库,如数组、堆栈或线程等。wxWidget也是针对不同平台设计的图形类库,wxWidget的设计和使用风格与MFC相似,有所不同的便是wxWidget可以运行在不同的系统平台。无论是Qt还是wxWidget,其复杂程度高不适合运用于资源有限的嵌入式设备。Trixul也是用C++编写的跨平台图形库,Trixul采用了Mozilla的JavaScript引擎技术将C++代码与JavaScript代码进行融合,简化了图形设计的复杂性。不足之处Trixul需要JS引擎支持方能实现交互,这在普通应用程序设计中不是必须的。
发明内容
本发明的目的是针对现有技术中跨平台图形库不适用于嵌入式系统开发的不足,提出一种新的跨平台图形库,为使用该图形库的开发者提供一套完整且统一的开发接口,并适用于针对不同的系统平台,使得图形库能调用基于该平台的原生图形库函数。
为了达到上述发明目的,本发明提出了一种实现跨平台图形库的系统,所述系统是通过以下的技术方案实现的:
一种实现跨平台图形库的系统,所述系统包括:
平台独立层,用来为用户提供开发接口API函数;
平台相关层,用来与所述平台独立层的所述API函数进行对接,并与特定平台的原生态图形库函数进行交互。
进一步优选地,所述平台相关层具体包括:
API函数实现模块,用来与所述平台独立层的相应API函数进行对接,实现API函数的调用功能;
平台通信模块,用来与所述特定平台的原生态图形库函数进行交互,接收由原生态图形库控件反馈回来的信号和事件,为用户实现API函数调用提供接口。
为了实现前述发明目的,本发明实施例还提供了一种实现跨平台图形库的方法,所述方法包括以下步骤:
当用户进行图形开发的API函数调用时,平台独立层提供一相应API函数调用接口;
平台相关层根据所述API函数与平台独立层进行对接,并与特定平台的原生态图形库函数进行交互。
进一步优选地,所述平台相关层根据所述API函数与平台独立层进行对接,并与特定平台的原生态图形库函数进行交互具体包括:
平台相关层与所述平台独立层的相应API函数进行对接,实现API函数的调用功能;
平台相关层与所述特定平台的原生态图形库函数进行交互,接收由原生态图形库控件反馈回来的信号和事件,为用户实现API函数调用提供接口。
与现有技术相比,本发明实施例提出的跨平台图形库的系统架构分成平台独立层和平台相关层两大部分。平台独立层中的代码主要是为用户提供的开发接口:这些接口是完整、独立的,开发跨平台应用程序时,开发者应该调用该层中对应的API函数;平台相关层的代码主要用于与特定平台的原生态图形库函数进行交互。该层中的模块一方面连接了平台独立层对应的模块,实现了这些模块应该实现的具体功能;另一方面,该层中的模块连接了特定平台原生态的图形库,用作为平台独立层提供信息反馈的通道,使得特定平台的图形库控件能够向跨平台图形库控件发送事件响应。因此,本发明实施例的图形库系统十分轻量,适合嵌入式设备开发使用;同时扩展方便,很容易添加新的系统平台。
附图说明
通过下面结合附图对其示例性实施例进行的描述,本发明上述特征和优点将会变得更加清楚和容易理解。
图1为本发明实施例1一种实现跨平台图形库的系统组成示意图;
图2为本发明实施例2另一种一种实现跨平台图形库的系统组成示意图;
图3为本发明实施例3跨平台图形库实现一个跨平台按钮控件的主要结构图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于同济大学,未经同济大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110133570.4/2.html,转载请声明来源钻瓜专利网。