当前位置: 首页 > wzjs >正文

东莞网站网络公司google关键词分析

东莞网站网络公司,google关键词分析,泰州网站建设价位,北京视频制作公司在Imgui初始化时,会重新接手glfw的键盘鼠标事件。也就是遇到glfw的键盘鼠标事件时,imgui先会运行自己的处理过程,然后再去处理用户自己注册的glfw的键盘鼠标事件。 看imgui_impl_glfw.cpp源码的安装回调函数部分代码 void ImGui_ImplGlfw_In…

在Imgui初始化时,会重新接手glfw的键盘鼠标事件。也就是遇到glfw的键盘鼠标事件时,imgui先会运行自己的处理过程,然后再去处理用户自己注册的glfw的键盘鼠标事件。

看imgui_impl_glfw.cpp源码的安装回调函数部分代码


void ImGui_ImplGlfw_InstallCallbacks(GLFWwindow* window)
{ImGui_ImplGlfw_Data* bd = ImGui_ImplGlfw_GetBackendData();IM_ASSERT(bd->InstalledCallbacks == false && "Callbacks already installed!");IM_ASSERT(bd->Window == window);bd->PrevUserCallbackWindowFocus = glfwSetWindowFocusCallback(window, ImGui_ImplGlfw_WindowFocusCallback);bd->PrevUserCallbackCursorEnter = glfwSetCursorEnterCallback(window, ImGui_ImplGlfw_CursorEnterCallback);bd->PrevUserCallbackCursorPos = glfwSetCursorPosCallback(window, ImGui_ImplGlfw_CursorPosCallback);bd->PrevUserCallbackMousebutton = glfwSetMouseButtonCallback(window, ImGui_ImplGlfw_MouseButtonCallback);bd->PrevUserCallbackScroll = glfwSetScrollCallback(window, ImGui_ImplGlfw_ScrollCallback);bd->PrevUserCallbackKey = glfwSetKeyCallback(window, ImGui_ImplGlfw_KeyCallback);bd->PrevUserCallbackChar = glfwSetCharCallback(window, ImGui_ImplGlfw_CharCallback);bd->PrevUserCallbackMonitor = glfwSetMonitorCallback(ImGui_ImplGlfw_MonitorCallback);bd->InstalledCallbacks = true;
}

看到了吗,Imgui会用一个类似PrevUserCallbackMousebutton这样的函数记录glfwSetMouseButtonCallback之前绑定的函数
glfwSetMouseButtonCallback会返回之前已经绑定的函数。

(从这个意义上说,在Imgui初始化之前,就需要先绑定用户自己的鼠标键盘事件函数)

然后再看Imgui接手的函数

void ImGui_ImplGlfw_MouseButtonCallback(GLFWwindow* window, int button, int action, int mods)
{ImGui_ImplGlfw_Data* bd = ImGui_ImplGlfw_GetBackendData();if (bd->PrevUserCallbackMousebutton != nullptr && ImGui_ImplGlfw_ShouldChainCallback(window))bd->PrevUserCallbackMousebutton(window, button, action, mods);ImGui_ImplGlfw_UpdateKeyModifiers(window);ImGuiIO& io = ImGui::GetIO();if (button >= 0 && button < ImGuiMouseButton_COUNT)io.AddMouseButtonEvent(button, action == GLFW_PRESS);
}

看到了吗,当发生鼠标键盘事件时,会先调用用户之前注册的事件处理方法,然后再是Imgui自己的处理方法。

因此在写自己的键盘鼠标事件函数时,不需要考虑去调用Imgui的事件处理函数, 只需要专心写自己的函数即可。
当用户在于Imgui交互时,因为也会触发自己的键盘鼠标事件,这个时候可以在自己的事件处理函数中忽略这个交互

    ImGuiIO& io = ImGui::GetIO();if (io.WantCaptureMouse) return; /* *  后面是自己的事件处理过程*/
http://www.dtcms.com/wzjs/243166.html

相关文章:

  • 企业网站管理规定让手机变流畅的软件下载
  • 广东做网站的公司如何建立网站服务器
  • 做网站 推广新媒体营销推广方案
  • 网站建设实训课实训心得上海网站推广优化
  • 济南天桥区做网站公司app投放渠道有哪些
  • 物联网管理平台下载seo站内优化培训
  • cms 官方网站图片外链生成
  • 如何线下宣传网站最好的bt种子搜索引擎
  • 婚纱摄影网站应该如何做优化免费b2b信息发布网站
  • 兰州网站的优化在百度做广告多少钱
  • wordpress怎么弄垂直分类上海做网络口碑优化的公司
  • 网站运营做产品需要哪些知识百度一下点击搜索
  • 简单网站的设计与制作如何做网销
  • 俄罗斯乌克兰地图百度网络优化
  • 程序员做的简单的网站百度一下你就知道官页
  • 怎么登陆wordpress后台草根seo视频大全
  • 行业网站建设方案网站是如何建立的
  • 什么网站可以接单做设计方案旺道seo怎么优化网站
  • 用java做音乐网站seo网站快速排名
  • 长春网长春网站设计站建设国内免费ip地址
  • 做网站的流程百科semantics
  • 网站空间哪个比较好免费个人网站建设
  • 微信网站建设哪家好网站seo优化培训
  • wordpress地图在哪seo搜索优化邵阳
  • 百度如何建网站百度分析工具
  • behance设计网站怎么念网络营销活动策划方案
  • 打开网页wordpress错误宁波seo快速优化公司
  • 如何做网站页面天津站内关键词优化
  • 如何做网站热力图福州seo博客
  • 教育加盟培训网站建设企业网站分析报告