铬嵌入式检测按钮按下
chromium embedded detect button press
我想使用 Chromium 嵌入式框架作为我的 OpenGL 应用程序的 GUI。
我正在使用离屏渲染。
如何检测 HTML button/link 何时被点击?
我试过 google 这个,但是搜索词太笼统了,只有噪音。
一般用法 wiki 也不包含此内容。
您是否将任何 UI 事件从您的 OpenGL 应用程序传递给 CEF?
通常,您应将 OpenGL 和 CEF 实例附加到相同的 window。您还应覆盖使 window 区域无效的请求,以通知您的 OpenGL 代码它需要重新渲染 window,包括该屏幕缓冲区的内容。
操作顺序:
- Window 收到鼠标移动事件。
- Window 将其传递给您的 CEF 实例。
- 如果 CEF 确定它需要将 :hover 状态应用到您的按钮,那么它将调用 window.invalidateArea(areaOfTheButton)。
- 您通过更新 OpenGL 场景(包括新版本的离屏位图)来处理 window.invalidateArea()。
- 您还应该从 CEF 收到各种辅助 DOM 事件以响应鼠标 move/up/down/etc。在 window.
并检查一下:http://sciter.com/sciter-and-directx/ - 它是 DirectX window,集成了 HTML/CSS UI 和我的 Sciter 引擎。目前我正在为 OpenGL 设计相同的东西。
我认为您应该在 JS 代码中捕获事件并将消息发送到 C++ 代码。可以使用此处描述的消息路由器来完成:
https://bitbucket.org/chromiumembedded/cef/wiki/GeneralUsage#markdown-header-asynchronous-javascript-bindings
也可以使用 JS 集成机制实现自定义消息路由器:
https://bitbucket.org/chromiumembedded/cef/wiki/JavaScriptIntegration.md
我想使用 Chromium 嵌入式框架作为我的 OpenGL 应用程序的 GUI。
我正在使用离屏渲染。
如何检测 HTML button/link 何时被点击?
我试过 google 这个,但是搜索词太笼统了,只有噪音。 一般用法 wiki 也不包含此内容。
您是否将任何 UI 事件从您的 OpenGL 应用程序传递给 CEF?
通常,您应将 OpenGL 和 CEF 实例附加到相同的 window。您还应覆盖使 window 区域无效的请求,以通知您的 OpenGL 代码它需要重新渲染 window,包括该屏幕缓冲区的内容。
操作顺序:
- Window 收到鼠标移动事件。
- Window 将其传递给您的 CEF 实例。
- 如果 CEF 确定它需要将 :hover 状态应用到您的按钮,那么它将调用 window.invalidateArea(areaOfTheButton)。
- 您通过更新 OpenGL 场景(包括新版本的离屏位图)来处理 window.invalidateArea()。
- 您还应该从 CEF 收到各种辅助 DOM 事件以响应鼠标 move/up/down/etc。在 window.
并检查一下:http://sciter.com/sciter-and-directx/ - 它是 DirectX window,集成了 HTML/CSS UI 和我的 Sciter 引擎。目前我正在为 OpenGL 设计相同的东西。
我认为您应该在 JS 代码中捕获事件并将消息发送到 C++ 代码。可以使用此处描述的消息路由器来完成: https://bitbucket.org/chromiumembedded/cef/wiki/GeneralUsage#markdown-header-asynchronous-javascript-bindings
也可以使用 JS 集成机制实现自定义消息路由器: https://bitbucket.org/chromiumembedded/cef/wiki/JavaScriptIntegration.md