CN105573752B - 一种基于OpenGL的MiniGUI窗口系统支持方法 - Google Patents
一种基于OpenGL的MiniGUI窗口系统支持方法 Download PDFInfo
- Publication number
- CN105573752B CN105573752B CN201510927371.9A CN201510927371A CN105573752B CN 105573752 B CN105573752 B CN 105573752B CN 201510927371 A CN201510927371 A CN 201510927371A CN 105573752 B CN105573752 B CN 105573752B
- Authority
- CN
- China
- Prior art keywords
- opengl
- minigui
- information
- window
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Image Generation (AREA)
Abstract
本发明属于计算机应用技术领域,尤其涉及一种基于OpenGL的MiniGUI窗口系统支持方法。该方法包括1】MiniGUI的配置、2】用户输入处理以及可选步骤3】绘图处理;基于该方法的实现系统包括设备坐标系模块、颜色缓冲区模块、窗口标题栏和边框绘制模块、窗口客户区绘制模块、MiniGUI绘图分析模块、坐标映射及OpenGL运行状态管理模块。本发明充分利用OpenGL接口绘图功能,增强MiniGUI窗口系统的绘制能力,在同一套OpenGL接口支持的情况下,解决MiniGUI窗体绘制和客户区绘制相互影响的问题,使得MiniGUI窗口系统与OpenGL结合,为用户提供方便、灵活的窗口系统、OpenGL支持;为MiniGUI窗口系统在OpenGL接口支持系统上的移植提供参考和指导作用。
Description
技术领域
本发明属于计算机应用技术领域,尤其涉及一种基于OpenGL的MiniGUI窗口系统支持方法。
背景技术
MiniGUI窗口系统是目前流行的窗口系统,广泛应用于嵌入式系统中,在具体系统中应用时需要为其底层图形库支持,目前公开的资料中多为帧缓冲机制的软件图形库,没有针对OpenGL接口支持的资料。
发明内容
本发明提供一种基于OpenGL的MiniGUI窗口系统支持方法,通过基于OpenGL接口解决了MiniGUI绘制窗体和窗口客户区之间的问题,实现了MiniGUI在OpenGL接口平台上的窗口系统运行。
本发明的解决方案是:
该基于OpenGL的MiniGUI窗口系统支持方法包括以下步骤:
1】MiniGUI的配置
读取MiniGUI配置信息,调用OpenGL接口设置设备坐标,为MiniGUI窗口系统的绘制提供坐标系统支持,同时调用OpenGL接口选择绘图缓冲区,为MiniGUI窗口系统绘制图形提供颜色缓冲;
2】用户输入处理
读取用户输入的窗体配置属性信息,并将所获取的信息解析成MiniGUI绘图信息,将MiniGUI绘图信息转化为OpenGL绘图信息,再将OpenGL绘图信息发送给坐标映射处理;
读取用户输入的窗口客户区绘图信息,客户区绘图信息是MiniGUI绘图信息或OpenGL绘图信息,若客户区绘图信息是MiniGUI绘图信息则先将MiniGUI绘图信息转化为OpenGL绘图信息,然后再将OpenGL绘图信息发送给坐标映射处理;若客户区绘图信息是OpenGL绘图信息则直接将OpenGL绘图信息发送给坐标映射处理。
上述步骤2】用户输入处理完成后进入步骤3】绘图处理:
接收步骤2输出的经坐标映射处理的绘图信息,检测当前绘图信息的窗口句柄和上次绘图窗口句柄,判断上次绘图信息是窗体配置属性信息还是窗口客户区绘图信息,若是上次绘制信息为窗体配置属性信息,直接设置本次窗口的OpenGL状态进行绘图,若是上次绘制信息为窗口客户区绘制信息,则保存当前OpenGL状态到上次绘图窗口句柄对应的信息中,设置本次窗口的OpenGL状态进行绘图。OpenGL绘图信息通过坐标映射从窗口系统坐标系映射到设备坐标系,调用OpenGL接口完成图形的绘制。
上述步骤2中窗体配置属性信息包括窗口标题、窗口位置、窗口宽高基本信息。
该基于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接口完成图形的绘制。
上述属性信息包括窗口标题、窗口位置、窗口宽高。
本发明的优点是:
本发明充分利用OpenGL接口绘图功能,增强MiniGUI窗口系统的绘制能力,在同一套OpenGL接口支持的情况下,解决MiniGUI窗体绘制和客户区绘制相互影响的问题,使得MiniGUI窗口系统与OpenGL结合,为用户提供方便、灵活的窗口系统、OpenGL支持。
附图说明
图1为本发明基于OpenGL的MiniGUI窗口系统支持方法结构图;
附图明细如下:
1-设备坐标系模块;2-颜色缓冲区模块;3-窗口标题栏和边框绘制模块;4-窗口客户区绘制模块;5-MiniGUI绘图分析模块;6-坐标映射及OpenGL运行状态管理模块。
具体实施方式
下面结合附图和具体实施例,对本发明的技术方案进行清楚、完整地表述。显然,所表述的实施例仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提所获得的所有其他实施例,都属于本发明的保护范围。
该基于OpenGL的MiniGUI窗口系统支持方法包括以下步骤:
1】MiniGUI的配置
读取MiniGUI配置信息,调用OpenGL接口设置设备坐标,为MiniGUI窗口系统的绘制提供坐标系统支持,同时调用OpenGL接口选择绘图缓冲区,为MiniGUI窗口系统绘制图形提供颜色缓冲;
2】用户输入处理
读取用户输入的窗体配置属性信息,并将所获取的信息解析成MiniGUI绘图信息,将MiniGUI绘图信息转化为OpenGL绘图信息,再将OpenGL绘图信息发送给坐标映射处理;
读取用户输入的窗口客户区绘图信息,客户区绘图信息是MiniGUI绘图信息或OpenGL绘图信息,若客户区绘图信息是MiniGUI绘图信息则先将MiniGUI绘图信息转化为OpenGL绘图信息,然后再将OpenGL绘图信息发送给坐标映射处理;若客户区绘图信息是OpenGL绘图信息则直接将OpenGL绘图信息发送给坐标映射处理。
上述步骤2】用户输入处理完成后进入步骤3】绘图处理:
接收步骤2输出的经坐标映射处理的绘图信息,检测当前绘图信息的窗口句柄和上次绘图窗口句柄,判断上次绘图信息是窗体配置属性信息还是窗口客户区绘图信息,若是上次绘制信息为窗体配置属性信息,直接设置本次窗口的OpenGL状态进行绘图,若是上次绘制信息为窗口客户区绘制信息,则保存当前OpenGL状态到上次绘图窗口句柄对应的信息中,设置本次窗口的OpenGL状态进行绘图。OpenGL绘图信息通过坐标映射从窗口系统坐标系映射到设备坐标系,调用OpenGL接口完成图形的绘制。
上述步骤2中窗体配置属性信息包括窗口标题、窗口位置、窗口宽高基本信息。
该基于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接口完成图形的绘制。
最后应说明的是,以上事实例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (5)
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窗口系统的支持系统,其特征在于:所述属性信息包括窗口标题、窗口位置、窗口宽高。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510927371.9A CN105573752B (zh) | 2015-12-11 | 2015-12-11 | 一种基于OpenGL的MiniGUI窗口系统支持方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510927371.9A CN105573752B (zh) | 2015-12-11 | 2015-12-11 | 一种基于OpenGL的MiniGUI窗口系统支持方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105573752A CN105573752A (zh) | 2016-05-11 |
CN105573752B true CN105573752B (zh) | 2018-12-25 |
Family
ID=55883928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510927371.9A Active CN105573752B (zh) | 2015-12-11 | 2015-12-11 | 一种基于OpenGL的MiniGUI窗口系统支持方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105573752B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106709966A (zh) * | 2016-12-12 | 2017-05-24 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于OpenGL的图形扩展系统 |
CN106683033B (zh) * | 2016-12-12 | 2020-09-22 | 中国航空工业集团公司西安航空计算技术研究所 | 一种乱序OpenGL接口处理方法 |
CN108255488B (zh) * | 2018-01-11 | 2021-07-23 | 武汉斗鱼网络科技有限公司 | 一种创建窗口边框的方法、装置及计算机设备 |
CN113672321B (zh) * | 2021-07-26 | 2023-08-22 | 中标软件有限公司 | 支持客户端窗口坐标的轻量级wayland合成器的实现方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101814024A (zh) * | 2009-10-23 | 2010-08-25 | 深圳创维-Rgb电子有限公司 | 一种跨平台3d界面设计架构和工具 |
CN104793931A (zh) * | 2015-03-23 | 2015-07-22 | 广东瑞德智能科技股份有限公司 | 一种基于MiniGUI的窗口消息处理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9665921B2 (en) * | 2012-12-29 | 2017-05-30 | Futurewei Technologies, Inc. | Adaptive OpenGL 3D graphics in virtual desktop infrastructure |
-
2015
- 2015-12-11 CN CN201510927371.9A patent/CN105573752B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101814024A (zh) * | 2009-10-23 | 2010-08-25 | 深圳创维-Rgb电子有限公司 | 一种跨平台3d界面设计架构和工具 |
CN104793931A (zh) * | 2015-03-23 | 2015-07-22 | 广东瑞德智能科技股份有限公司 | 一种基于MiniGUI的窗口消息处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105573752A (zh) | 2016-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105573752B (zh) | 一种基于OpenGL的MiniGUI窗口系统支持方法 | |
CN110276344B (zh) | 一种图像分割的方法、图像识别的方法以及相关装置 | |
US10776584B2 (en) | Typifying emotional indicators for digital messaging | |
CN103984502B (zh) | 一种截取屏幕内容的方法及便携式终端 | |
US8619049B2 (en) | Monitoring interactions between two or more objects within an environment | |
CN116342622A (zh) | 视频流的图像分割和修改 | |
CN103189864A (zh) | 用于确定个人的共享好友的方法、设备和计算机程序产品 | |
KR20160097974A (ko) | 영상의 컬러 변환 방법 및 전자 장치 | |
CN107450831A (zh) | 基于双系统的笔迹显示处理方法和系统、存储介质及设备 | |
CN103873811A (zh) | 信息处理设备、信息处理方法和信息处理系统 | |
CN104360788A (zh) | 透明标注方法和桌面书写控制方法 | |
CN106791937A (zh) | 视频图像的标注方法和系统 | |
CN104461545B (zh) | 将移动终端中内容提供至用户的方法及装置 | |
CN103106388A (zh) | 图像识别方法和系统 | |
CN101354789A (zh) | 一种图像面具特效的实现方法和设备 | |
CN105653133B (zh) | 应用程序的扩展方法及装置 | |
CN104077100A (zh) | 复合缓冲区图像显示方法及装置 | |
CN107341005A (zh) | 图表生成方法及其装置 | |
CN108089796A (zh) | 快捷工具栏的显示方法及装置 | |
CN108369445A (zh) | 唤醒分割架构的级联触摸 | |
CN106407391B (zh) | 一种数据质量监控的方法及系统 | |
CN112541477A (zh) | 表情包生成方法、装置、电子设备和存储介质 | |
WO2023024959A1 (zh) | 图像标注方法、系统、设备和存储介质 | |
CN109685324A (zh) | 布料检测数据处理方法、系统和设备 | |
KR20140134154A (ko) | 이미지에서 객체를 추출하기 위한 방법 및 단말기 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |