一种基于OpenGL的MiniGUI窗口系统支持方法转让专利

申请号 : CN201510927371.9

文献号 : CN105573752B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 田泽黎小玉刘晖马城城张琛聂瞾

申请人 : 中国航空工业集团公司西安航空计算技术研究所

摘要 :

本发明属于计算机应用技术领域,尤其涉及一种基于OpenGL的MiniGUI窗口系统支持方法。该方法包括1】MiniGUI的配置、2】用户输入处理以及可选步骤3】绘图处理;基于该方法的实现系统包括设备坐标系模块、颜色缓冲区模块、窗口标题栏和边框绘制模块、窗口客户区绘制模块、MiniGUI绘图分析模块、坐标映射及OpenGL运行状态管理模块。本发明充分利用OpenGL接口绘图功能,增强MiniGUI窗口系统的绘制能力,在同一套OpenGL接口支持的情况下,解决MiniGUI窗体绘制和客户区绘制相互影响的问题,使得MiniGUI窗口系统与OpenGL结合,为用户提供方便、灵活的窗口系统、OpenGL支持;为MiniGUI窗口系统在OpenGL接口支持系统上的移植提供参考和指导作用。

权利要求 :

1.一种基于OpenGL的MiniGUI窗口系统支持方法,其特征在于,包括以下步骤:

1】MiniGUI的配置

读取MiniGUI配置信息,调用OpenGL接口设置设备坐标,为MiniGUI窗口系统的绘制提供坐标系统支持,同时调用OpenGL接口选择绘图缓冲区,为MiniGUI窗口系统绘制图形提供颜色缓冲;

2】用户输入处理

读取用户输入的窗体配置属性信息,并将所获取的信息解析成MiniGUI绘图信息,将MiniGUI绘图信息转化为OpenGL绘图信息,再将OpenGL绘图信息发送给坐标映射处理;

读取用户输入的窗口客户区绘图信息,客户区绘图信息是MiniGUI绘图信息或OpenGL绘图信息,若客户区绘图信息是MiniGUI绘图信息则先将MiniGUI绘图信息转化为OpenGL绘图信息,然后再将OpenGL绘图信息发送给坐标映射处理;若客户区绘图信息是OpenGL绘图信息则直接将OpenGL绘图信息发送给坐标映射处理。

2.根据权利要求1所述的基于OpenGL的MiniGUI窗口系统支持方法,其特征在于:所述步骤2】用户输入处理完成后进入步骤3】绘图处理,

接收步骤2输出的经坐标映射处理的绘图信息,检测当前绘图信息的窗口句柄和上次绘图窗口句柄,判断上次绘图信息是窗体配置属性信息还是窗口客户区绘图信息,若是上次绘制信息为窗体配置属性信息,直接设置本次窗口的OpenGL状态进行绘图,若是上次绘制信息为窗口客户区绘制信息,则保存当前OpenGL状态到上次绘图窗口句柄对应的信息中,设置本次窗口的OpenGL状态进行绘图,OpenGL绘图信息通过坐标映射从窗口系统坐标系映射到设备坐标系,调用OpenGL接口完成图形的绘制。

3.根据权利要求1所述的基于OpenGL的MiniGUI窗口系统支持方法,其特征在于:所述步骤2中窗体配置属性信息包括窗口标题、窗口位置、窗口宽高基本信息。

4.一种基于OpenGL的MiniGUI窗口系统的支持系统,其特征在于:包括设备坐标系模块、颜色缓冲区模块、窗口标题栏和边框绘制模块、窗口客户区绘制模块、MiniGUI绘图分析模块、坐标映射及OpenGL运行状态管理模块;所述设备坐标系模块用于读取MiniGUI配置模块信息,调用OpenGL接口设置设备坐标,为MiniGUI窗口系统的绘制提供坐标系统支持;颜色缓冲区模块用于读取MiniGUI配置模块信息,调用OpenGL接口选择绘图缓冲区,为MiniGUI窗口系统绘制图形提供颜色缓冲;窗口标题栏和边框绘制模块用于读取用户输入模块设置的属性信息,并将所获取的信息解析成MiniGUI绘图信息发送给MiniGUI绘图分析模块;窗口客户区绘制模块用于读取用户输入模块输入的窗口客户区绘图信息;窗口客户区绘制包括MiniGUI绘图接口调用和OpenGL绘制接口调用;MiniGUI绘图接口调用解析成MiniGUI绘图信息发送给MiniGUI绘图分析模块;OpenGL绘制接口调用直接发送给坐标映射及OpenGL运行状态管理模块;所述MiniGUI绘图分析模块接收窗口标题栏和边框绘制模块、窗口客户区绘制模块发送的MiniGUI绘图信息,并将所接收信息转换到OpenGL绘图信息模块,发送给坐标映射及OpenGL运行状态管理模块;所述坐标映射及OpenGL运行状态管理模块接收MiniGUI绘图分析模块和窗口客户区绘制模块传来的绘图信息,检测当前绘图信息的窗口句柄和上次绘图窗口句柄,判断上次绘图信息是窗口客户区绘制还是窗口标题栏、边框绘制,若是上次绘制信息为窗口标题栏、边框绘制,直接设置本次窗口的OpenGL状态进行绘图,若是上次绘制信息为窗口客户区绘制信息,则保存当前OpenGL状态到上次绘图窗口句柄对应的信息中,设置本次窗口的OpenGL状态进行绘图;OpenGL绘图信息通过坐标映射从窗口系统坐标系映射到设备坐标系,调用OpenGL接口完成图形的绘制。

5.根据权利要求4所述的OpenGL的MiniGUI窗口系统的支持系统,其特征在于:所述属性信息包括窗口标题、窗口位置、窗口宽高。

说明书 :

一种基于OpenGL的MiniGUI窗口系统支持方法

技术领域

[0001] 本发明属于计算机应用技术领域,尤其涉及一种基于OpenGL的MiniGUI窗口系统支持方法。

背景技术

[0002] MiniGUI窗口系统是目前流行的窗口系统,广泛应用于嵌入式系统中,在具体系统中应用时需要为其底层图形库支持,目前公开的资料中多为帧缓冲机制的软件图形库,没有针对OpenGL接口支持的资料。

发明内容

[0003] 本发明提供一种基于OpenGL的MiniGUI窗口系统支持方法,通过基于OpenGL接口解决了MiniGUI绘制窗体和窗口客户区之间的问题,实现了MiniGUI在OpenGL接口平台上的窗口系统运行。
[0004] 本发明的解决方案是:
[0005] 该基于OpenGL的MiniGUI窗口系统支持方法包括以下步骤:
[0006] 1】MiniGUI的配置
[0007] 读取MiniGUI配置信息,调用OpenGL接口设置设备坐标,为MiniGUI窗口系统的绘制提供坐标系统支持,同时调用OpenGL接口选择绘图缓冲区,为MiniGUI窗口系统绘制图形提供颜色缓冲;
[0008] 2】用户输入处理
[0009] 读取用户输入的窗体配置属性信息,并将所获取的信息解析成MiniGUI绘图信息,将MiniGUI绘图信息转化为OpenGL绘图信息,再将OpenGL绘图信息发送给坐标映射处理;
[0010] 读取用户输入的窗口客户区绘图信息,客户区绘图信息是MiniGUI绘图信息或OpenGL绘图信息,若客户区绘图信息是MiniGUI绘图信息则先将MiniGUI绘图信息转化为OpenGL绘图信息,然后再将OpenGL绘图信息发送给坐标映射处理;若客户区绘图信息是OpenGL绘图信息则直接将OpenGL绘图信息发送给坐标映射处理。
[0011] 上述步骤2】用户输入处理完成后进入步骤3】绘图处理:
[0012] 接收步骤2输出的经坐标映射处理的绘图信息,检测当前绘图信息的窗口句柄和上次绘图窗口句柄,判断上次绘图信息是窗体配置属性信息还是窗口客户区绘图信息,若是上次绘制信息为窗体配置属性信息,直接设置本次窗口的OpenGL状态进行绘图,若是上次绘制信息为窗口客户区绘制信息,则保存当前OpenGL状态到上次绘图窗口句柄对应的信息中,设置本次窗口的OpenGL状态进行绘图。OpenGL绘图信息通过坐标映射从窗口系统坐标系映射到设备坐标系,调用OpenGL接口完成图形的绘制。
[0013] 上述步骤2中窗体配置属性信息包括窗口标题、窗口位置、窗口宽高基本信息。
[0014] 该基于OpenGL的MiniGUI窗口系统的支持系统包括设备坐标系模块、颜色缓冲区模块、窗口标题栏和边框绘制模块、窗口客户区绘制模块、MiniGUI绘图分析模块、坐标映射及OpenGL运行状态管理模块;
[0015] 设备坐标系模块用于读取MiniGUI配置模块信息,调用OpenGL接口设置设备坐标,为MiniGUI窗口系统的绘制提供坐标系统支持;
[0016] 颜色缓冲区模块用于读取MiniGUI配置模块信息,调用OpenGL接口选择绘图缓冲区,为MiniGUI窗口系统绘制图形提供颜色缓冲;窗口标题栏和边框绘制模块用于读取用户输入模块设置的属性信息,并将所获取的信息解析成MiniGUI绘图信息发送给MiniGUI绘图分析模块;
[0017] 窗口客户区绘制模块用于读取用户输入模块输入的窗口客户区绘图信息;窗口客户区绘制包括MiniGUI绘图接口调用和OpenGL绘制接口调用;MiniGUI绘图接口调用解析成MiniGUI绘图信息发送给MiniGUI绘图分析模块;OpenGL绘制接口调用直接发送给坐标映射及OpenGL运行状态管理模块;
[0018] MiniGUI绘图分析模块接收窗口标题栏和边框绘制模块、窗口客户区绘制模块发送的MiniGUI绘图信息,并将所接收信息转换为OpenGL绘图信息,发送给坐标映射及OpenGL运行状态管理模块;
[0019] 坐标映射及OpenGL运行状态管理模块接收MiniGUI绘图分析模块和窗口客户区绘制模块传来的绘图信息,检测当前绘图信息的窗口句柄和上次绘图窗口句柄,判断上次绘图信息是窗口客户区绘制还是窗口标题栏、边框绘制,若是上次绘制信息为窗口标题栏、边框绘制,直接设置本次窗口的OpenGL状态进行绘图,若是上次绘制信息为窗口客户区绘制信息,则保存当前OpenGL状态到上次绘图窗口句柄对应的信息中,设置本次窗口的OpenGL状态进行绘图;OpenGL绘图信息通过坐标映射从窗口系统坐标系映射到设备坐标系,调用OpenGL接口完成图形的绘制。
[0020] 上述属性信息包括窗口标题、窗口位置、窗口宽高。
[0021] 本发明的优点是:
[0022] 本发明充分利用OpenGL接口绘图功能,增强MiniGUI窗口系统的绘制能力,在同一套OpenGL接口支持的情况下,解决MiniGUI窗体绘制和客户区绘制相互影响的问题,使得MiniGUI窗口系统与OpenGL结合,为用户提供方便、灵活的窗口系统、OpenGL支持。

附图说明

[0023] 图1为本发明基于OpenGL的MiniGUI窗口系统支持方法结构图;
[0024] 附图明细如下:
[0025] 1-设备坐标系模块;2-颜色缓冲区模块;3-窗口标题栏和边框绘制模块;4-窗口客户区绘制模块;5-MiniGUI绘图分析模块;6-坐标映射及OpenGL运行状态管理模块。

具体实施方式

[0026] 下面结合附图和具体实施例,对本发明的技术方案进行清楚、完整地表述。显然,所表述的实施例仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提所获得的所有其他实施例,都属于本发明的保护范围。
[0027] 该基于OpenGL的MiniGUI窗口系统支持方法包括以下步骤:
[0028] 1】MiniGUI的配置
[0029] 读取MiniGUI配置信息,调用OpenGL接口设置设备坐标,为MiniGUI窗口系统的绘制提供坐标系统支持,同时调用OpenGL接口选择绘图缓冲区,为MiniGUI窗口系统绘制图形提供颜色缓冲;
[0030] 2】用户输入处理
[0031] 读取用户输入的窗体配置属性信息,并将所获取的信息解析成MiniGUI绘图信息,将MiniGUI绘图信息转化为OpenGL绘图信息,再将OpenGL绘图信息发送给坐标映射处理;
[0032] 读取用户输入的窗口客户区绘图信息,客户区绘图信息是MiniGUI绘图信息或OpenGL绘图信息,若客户区绘图信息是MiniGUI绘图信息则先将MiniGUI绘图信息转化为OpenGL绘图信息,然后再将OpenGL绘图信息发送给坐标映射处理;若客户区绘图信息是OpenGL绘图信息则直接将OpenGL绘图信息发送给坐标映射处理。
[0033] 上述步骤2】用户输入处理完成后进入步骤3】绘图处理:
[0034] 接收步骤2输出的经坐标映射处理的绘图信息,检测当前绘图信息的窗口句柄和上次绘图窗口句柄,判断上次绘图信息是窗体配置属性信息还是窗口客户区绘图信息,若是上次绘制信息为窗体配置属性信息,直接设置本次窗口的OpenGL状态进行绘图,若是上次绘制信息为窗口客户区绘制信息,则保存当前OpenGL状态到上次绘图窗口句柄对应的信息中,设置本次窗口的OpenGL状态进行绘图。OpenGL绘图信息通过坐标映射从窗口系统坐标系映射到设备坐标系,调用OpenGL接口完成图形的绘制。
[0035] 上述步骤2中窗体配置属性信息包括窗口标题、窗口位置、窗口宽高基本信息。
[0036] 该基于OpenGL的MiniGUI窗口系统的支持系统包括设备坐标系模块、颜色缓冲区模块、窗口标题栏和边框绘制模块、窗口客户区绘制模块、MiniGUI绘图分析模块、坐标映射及OpenGL运行状态管理模块;
[0037] 设备坐标系模块用于读取MiniGUI配置模块信息,调用OpenGL接口设置设备坐标,为MiniGUI窗口系统的绘制提供坐标系统支持;
[0038] 颜色缓冲区模块用于读取MiniGUI配置模块信息,调用OpenGL接口选择绘图缓冲区,为MiniGUI窗口系统绘制图形提供颜色缓冲;窗口标题栏和边框绘制模块用于读取用户输入模块设置的属性信息,并将所获取的信息解析成MiniGUI绘图信息发送给MiniGUI绘图分析模块;其中属性信息包括窗口标题、窗口位置、窗口宽高。
[0039] 窗口客户区绘制模块用于读取用户输入模块输入的窗口客户区绘图信息;窗口客户区绘制包括MiniGUI绘图接口调用和OpenGL绘制接口调用;MiniGUI绘图接口调用解析成MiniGUI绘图信息发送给MiniGUI绘图分析模块;OpenGL绘制接口调用直接发送给坐标映射及OpenGL运行状态管理模块;
[0040] MiniGUI绘图分析模块接收窗口标题栏和边框绘制模块、窗口客户区绘制模块发送的MiniGUI绘图信息,并将所接收信息转换为OpenGL绘图信息,发送给坐标映射及OpenGL运行状态管理模块;
[0041] 坐标映射及OpenGL运行状态管理模块接收MiniGUI绘图分析模块和窗口客户区绘制模块传来的绘图信息,检测当前绘图信息的窗口句柄和上次绘图窗口句柄,判断上次绘图信息是窗口客户区绘制还是窗口标题栏、边框绘制,若是上次绘制信息为窗口标题栏、边框绘制,直接设置本次窗口的OpenGL状态进行绘图,若是上次绘制信息为窗口客户区绘制信息,则保存当前OpenGL状态到上次绘图窗口句柄对应的信息中,设置本次窗口的OpenGL状态进行绘图;OpenGL绘图信息通过坐标映射从窗口系统坐标系映射到设备坐标系,调用OpenGL接口完成图形的绘制。
[0042] 最后应说明的是,以上事实例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。