cegui根据一个位置获得窗体

osganimationeasemotion例子 osgWidget是通过HUD来实现的一个嵌入OSG中的响应界面,和功能更加强大的CEGUI类似。 WindowManager 是osgWidget管理类,继承自Switch,可以识别事件的响应,添加各种窗体,例如button 、label等。WindowManager还可以支持Lua、Python等脚本文件,通过ScriptEngine进行脚本解析。 Event定义事件,EventIn 阅读详情

不是很多,但是偶尔会遇到这种需求:传入一个Windows窗口的位置,然后返回一个该位置上可以点到的控件。。

第一次找到的了CEGUI::System下的

Window* getTargetWindow(const Point& pt, const bool allow_disabled) const;

但是他是私有..

看看实现就知道其实还是通过Window::getTargetChildAtPosition得到的~看看这个函数的实现,是迭代的过程~那么调用根窗体的这个方法应该可以得到~

System中不过做了一个全局的考虑~比如CaptureWindow和ModalTarget,ModalTarget应该就是独占窗体吧。。。

有意思的是Window::getTargetChildAtPosition如何能正确得到哪个孩子在上还是在下。。

秘密在这:

Window* Window::getTargetChildAtPosition(const Vector2& position,
                                         const bool allow_disabled) const
{
    const ChildList::const_reverse_iterator end = d_drawList.rend();

...

}

 

    //! Child window objects arranged in rendering order.
    ChildList d_drawList;

 

后绘在上...

..........................................


 /*!
 /brief
  Return the Window object that the mouse is presently within

 /return
  Pointer to the Window object that currently contains the mouse cursor, or NULL if none.
 */
 Window* getWindowContainingMouse(void) const {return d_wndWithMouse;}

CEGUI 动画系统 CEGUI的动画系统是一个强大而灵活的工具,可以帮助开发者为GUI应用程序创建各种吸引人的动画效果。以上示例只是一个简单的演示,实际上CEGUI的动画系统还提供了更多功能和选项,可以满足更复杂的动画需求。其中一个重要的特性是其动画系统,它允许开发者创建各种动画效果来增强用户界面的交互性和吸引力。当然,CEGUI的动画系统还提供了更多功能和灵活性,开发者可以根据需要进行扩展和定制。下面是一个简单示例,展示了如何使用CEGUI动画系统创建一个渐变动画效果。 阅读详情

相关推荐

天龙八部TLBB系列 - 客户端技术整体性分析

本文是对经典国产MMORPG《天龙八部》客户端的技术逆向研究总结。通过对其资源结构、引擎使用、渲染机制及系统设计的深入剖析,旨在为游戏开发者、引擎学习者与逆向工程爱好者提供一份详实的技术参考。

空名先生 951

【CEGUI】概念简介

CEGUI 背景 Crazy Eddie’s GUI(MIT License),一款开源的GUI(图形用户界面)库。使用C++实现,遵循OOP,其宗旨: games developers who should be spending their time creating great games, not building GUI sub-systems. 目前最新版为0.8.7,官网(http://cegui.org.uk/) 下文以0.8.7版本进行介绍。 架构图 ImageCode:图形解

林多 2328

从入门到实践:CEGUI图形用户界面教程

CEGUI(Customizable Easy-to-use Graphical User Interface)是一个开源的C++图形用户界面库,它允许开发者在各种平台和图形渲染后端上创建丰富的2D用户界面。CEGUI被广泛应用于游戏开发领域,因为它提供了高度的可定制性、易于使用的API接口和丰富的功能,包括布局管理、样式管理、事件处理和动态皮肤切换等。在 CEGUI 中,样式的定义允许开发者指定控件在不同状态下应如何显示。这包括控件的字体、颜色、边框、图像等视觉属性。

weixin_42433737的博客 1422

CEGUI基础

文章中部分内容和思路来自《CEGUI深入解析》简介1.CEGUI(Crazy Eddie’s GUI http://www.cegui.org.uk)是一个自由免费的GUI库,基于LGPL协议,使用C++实现,完全面向对象设计2.CEGUI的渲染需要3D图形API的支持,如OpenGL或Direct3D3.CEGUI封装了FreeImage,SILLY,DevILI,Corona解析库,另外还自己...

SuperYang_的博客 2847

CEGUI深入详解--CEGUI架构、消息处理、窗体、XML、LUA

1.CEGUI基本库,CEGUIBase,这个库是CEGUI最早的库,第一版的CEGUI就有这个工程。 2.CEGUI的渲染集,CEGUIFalagardWRBase库,这个库在现在这一版改动是最大的。 3.XML的解析库,共有四个库和1.2.1中介绍的四个对应。但CEGUI的解决方案里只使用了expatParser一个工程。 4.图像解码库,所有工程名带codec的都是图像解码的工程。共有四个工程。 5.渲染库,工程里共有两个CEGUI渲染工程,一个是OpenGL的一个是DirectX9的。 6.脚本模块库,共有三个工程,工程名都含有Lua,表明CEGUI通过Lua实现脚本的支持,我们前面已经讲过,本书使用LuaPlus作为CEGUI的Lua封装库。

CEGUI 原版教程

html及编译好的chm格式的CEGUI原版文档。

探索CEGUI:强大的跨平台图形用户界面库

探索CEGUI:强大的跨平台图形用户界面库 cegui Crazy Eddie's GUI library is a versatile, fast, adjustable, multi-platform, C++ library for creating graphical user interfaces for ga...

gitblog_00078的博客 1029

CEGUI深入解析 cegui框架解析

CEGUI深入解析,完整版 大家快下载啊 CEGUI深入解析,完整版 大家快下载啊

CEGUI的使用简单说明

●在介绍CELayoutEditor的使用前,先来介绍一下CEGUI的文件结构: CEGUI文件结构很简单,共定义了四种格式的xml文件:scheme,looknfeel,imageset,layout。 .scheme文件: .scheme文件可以将许多数据组合在一起使用,它也是装载与注册widget最方便的方法。因为它是一个XML文件,改变装载的资源时不需要重新编译。一个Schema可以...

weixin_30902675的博客 516

CEGUI教程---教你如何使用CEGUI库

CEGUI(Crazy Eddie’s GUI http://www.cegui.org.uk)是一个自由免费的GUI库,基于LGPL协议,使用C++实现,完全面向对象设计。CEGUI开发者的目的是希望能够让游戏开发人员从繁琐的GUI实现细节中抽身出来,以便有更多的开发时间可以放在游戏性上。 CEGUI的渲染需要3D图形API的支持,如OpenGL或Direct3D。另外,使用更高级的图形库也是可以的,比如OGRE、Irrlicht和RenderWare等,关键需求可以简化为二点: 纹理(Texture)的支持直接写屏(RHW的顶点格式、正交投影、或者使用shader实现) 本书截止日时,CEGUI的最新版本是0.6.0(本书的讨论也是基于此版本),本书光盘提供了SDK和全部源码的下载。 除此之外,CEGUI还同步提供了官方界面编辑器LayoutEditor和ImageSet编辑器,以方便UI和图像集的制作。作为界面编辑器,它需要系统级界面以提供编辑器操作,0.3.0版是基于MFC实现的;而在0.4.0版本以后,改为基于wxWidgets(跨平台的本地UI框架,这里的UI指Window操作系统底层,如:Windows、Unix和Mac,详见http://www.wxwidgets.org)实现。 目前将CEGUI作为游戏界面库开发的游戏已经有好多种,国内的天龙八部,巨人等游戏就是很好的例子。 CEGUI的功能是非常强大的,而且使用也非常的灵活,可以和脚本配合。可以通过配置文件自定义窗口外观。通过布局文件实现窗口布局等等特性,使得游戏的界面开发更加方便。

普源精电DHO系列示波器选购指南:从学生党到工程师的完整对比

本文深入评测普源精电DHO系列示波器,从DHO800到DHO4000各型号的核心参数、功能特点及适用场景进行全面对比,帮助学生党和工程师根据实际需求选择最佳型号。重点分析带宽、采样率、存储深度等关键指标,并提供实用的选购建议和进阶使用技巧,帮助用户充分发挥示波器性能。

weixin_30485379的博客 167

CEGUI小结

CEGUI文件类型.scheme它是CEGUI首先调用的一个文件,内容包括要使用的imageset文件、所对应的looknfeel文件,以及将要在looknfeel定义的控件的类型、工厂、渲染器和在looknfeel中的名字。如其中window set 指定了装载模块( .dll 等)的名称,和一组可以注册到系统中的 widget.不同版本的CEGUI里面scheme文件的结构可能

zzz822163的专栏 1296

用C++手把手教你连接SimNow期货模拟盘:从CTP API封装到第一个订单(附完整代码)

本文详细介绍了如何使用C++连接SimNow期货模拟盘,从CTP API的基础架构解析到实现第一个订单的完整流程。内容涵盖CTP API的封装、SimNow环境配置、交易通道实现、行情接收与处理等核心环节,并提供完整代码示例,帮助开发者快速掌握量化交易中的期货模拟盘连接技术。

weixin_27215337的博客 328

使用CEGUI coding

创建一个CEGUI窗口这个指南的目的是让我们创建一个简单的窗体然后显示到屏幕上。在开始这个前,理解上面两节是很重要的。因为这节是建立在它们的基础上。   内容:   介绍窗口和部件的概念   每个部件就是一个窗体   许多设置是被继承的   创建窗口   GUI的创建通过C++代码   XML layouts   总结   介绍窗口和部件的概念在读这

jxusthusiwen的专栏 821

SAP特殊库存全解析:供应商寄售、客户寄售、分包与项目库存说明

客户寄售库存(Customer Consignment)是企业将物料存放于客户处,客户实际领用后才确认销售收入。这种模式能缩短交货周期、提高客户满意度,但需严格跟踪寄售库存的数量与状态。

我小时候很黑的博客 818

智能家居系统设计:基于MATLAB的智能家居系统设计和仿真,包括智能家居控制、家庭能源管理和家庭安全监控

基于 MATLAB 的智能家居系统设计方法可以有效地解决各类智能家居问题。

走向CTO的路上... 1775

Ogre的渲染优化心得

做商业网络游戏的话,效率是一个不可避免的话题,为了留更多的空间给客户端的逻辑,那么渲染模块就应该尽量高效. 小弟只浅谈一下Ogre的渲染优化,以大家熟悉的天龙八部为例. 以网上流传版本的天龙代码来看,Ogre和CEGUI部分的渲染都有严重的性能问题, Ogre: 地形的实现,一个tile,只按材质做了批次优化,并没有按材质做摄像机的裁剪,导致游戏视角下批次增加很多 静态实体的合并,完全错误的做法,同地形一样,只优化了批次,没做摄像机的裁剪. CEGUI: 由于CEGUI本身对字体重绘处理的缺陷,导致缓存的字

Augmented Reality & Computer Graphics 1445

非洲秃鹫优化算法(AVOA)详解:从原理到实战

非洲秃鹫优化算法(AVOA)是一种模拟秃鹫觅食行为的元启发式算法。该算法通过数学建模秃鹫的群体分工、饥饿感知和食物竞争等行为,将优化问题转化为智能觅食过程。AVOA包含四个关键阶段:(1)种群初始化与最佳秃鹫选择;(2)饥饿率控制探索与开发平衡;(3)探索阶段模拟远距离飞行搜索;(4)开发阶段模拟食物源附近的竞争行为。算法采用饥饿率函数实现自适应搜索,初期偏向全局探索,后期转向局部开发。实验表明AVOA在标准测试函数和工程设计问题上表现出优越性能,其创新性在于将秃鹫独特的生物学特性转化为高效的优化机制。

qq_42212808的博客 226

盖莫游戏引擎-GUI系统-布局管理器

盖莫游戏引擎-GUI系统-布局管理器 GUI系统 布局管理器 1.布局管理器存在的理由:可以避免手动或者逐个调整控件位置 2.布局管理器的基本功能:调整同一容器下同一层次下各个控件的位置 3.布局管理器的基本接口:        A.控件加入        B.控件移除        C.控件排列 4.布局管理器和控件的关系        A.一个布局管理器负责1个或则多个控

linshixina的专栏 1531

【我的Android进阶之旅】Android自定义View实现一个游戏摇杆,来实现监听遥动的方向或者监听摇动的角度的功能

一、需求描述 去年有个需求,需要使用自定义View实现一个游戏摇杆,来识别上下左右摇动的方向。 有点类似下面这样的王者荣耀游戏摇杆的效果 二、业界已有的参考资料 在下面这篇博客介绍了如何自定义游戏摇杆 2.1 博客介绍 Android自定义摇杆 2.1.1 功能 支持自适应大小 支持2个方向、4个方向、8个方向的摇动监听 支持摇动角度获取 可选回调模式 支持可摇动区域自定义 支持摇杆自定义 支持设置图片、色值、Shape图形 2.1.2 效果图 2.1.3 设置回调方式 setCallBac

字节卷动 1409

Orange3实战教程:实例---文本分类

我们可以使用预测模型按作者、类型、情感等对文档进行分类。在此工作流中,我们根据文档的Aarne Thompshon Uther索引对文档进行归类,这是故事的主题定义。我们使用两个简单的学习器,Logistic回归和朴素贝叶斯,两者都可以在诺谟图中检查。然后再从可视化分类中添加列线图组件,观察哪些词对逻辑回归最重要。也可以尝试使用在朴素贝叶斯模型上,并编辑连线属性。再从模型中添加朴素贝叶斯模型,以尝试不同的学习器。

err2008的专栏 385

OGRE例子:Demo_Ocean 源码解析

因为最近在做水,所以这篇海洋的例子是必须要读懂的。 耐着性子看了一下,还是能看懂的。现在将代码解析放上来。 程序共有四个文件: MaterialControls.h : MaterialControls.cpp 包含一个Shader属性结构和材质结构。其中Shader属性结构对应于海洋中模型对应VS,PS的一些属性。 材质结构中包含了若干这个属性。使用一个容器来存放。 另外有两个...

移动开发记录 135

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

CEGUI-专用游戏界面开发库

<br />转载请注明原帖地址:http://www.unpack.cn/thread-62011-1-1.html<br />本文来自:UPK软件安全社区 作者:铁打英雄<br /> <br />下载:<br />http://www.cegui.org.uk/wiki/index.php/Downloads<br /><br />更多中文教程<br />http://www.ispinel.com/2010/05/26/971<br /><br />首先感谢李素颙同学的热心和耐心指导。<br /><br

优秀技术文章收录 1万+

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

CEGUI数据文件

y CEGUI所用的数据文件除了少数的特殊情况外都是XML格式的。但是,为了清晰的说明数据文件代表什么类型的资源,数据文件并不是以“.xml”作为后缀,而是用更有意义的后缀名。比如,Imageset的后缀名是.imageset,Font的后缀名是.font,等等。下面将对每种文件类型做个简要的说明,以后将对它们进行更深入的讨论。 Imageset 这么说吧,通常,为了提到效率,我

coderchen 1330

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

CEGUI环境的搭配

提前准备工具及安装包: 1、CMake:一款编译工具 下载地址 2、CEGUI的源码及依赖项 第一个箭头所指,代表是Windows系统的源码包,第二个则是Unix和Linux系统的源码包。 配置环境步骤(针对windows平台,图形化操作) Linux下,或者Windows下dos命令也可以完成相应操作,输入相关命令即可。 将源码包以及依赖项进行解压 如: 然后打...

冷崖的博客 1716
上一篇: cegui0.7.4中animationSystem存在内存泄漏问题。。。
下一篇: cegui事件订阅为什么可以是私有的...
wang37921
博客等级 码龄18年 14粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值