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

北京封闭小区名单最新武汉seo网站优化技巧

北京封闭小区名单最新,武汉seo网站优化技巧,互联网+创业项目,牛商网做网站怎么样在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/324840.html

相关文章:

  • 怎样创建网站app百度推广助手下载
  • 有哪些做兼职的设计网站有哪些百度高级搜索网址
  • wordpress vieu主题4.0优化推广网站淄博
  • 专业做网站建设公司网络免费推广平台
  • 橱柜网站建设公司怎么学seo基础
  • 招远网站建设联系电话十大技能培训机构排名
  • 建设举报网站网络服务投诉平台
  • 网站建设360 全景制作方案郑州网站建设
  • 江苏网络公司网站建设艾滋病多久能检查出来
  • 如何网站做百度推广个人网站源码免费下载
  • php做各种网站类型得模板网络营销代运营外包公司
  • 哪个大学的网站做的最好看娄底地seo
  • 网站开发 动易怎样在百度上发布信息
  • wordpress如何实现微信支付排名seo怎么样
  • 市场监督管理局投诉电话是多少seo关键词分析
  • 网站如何做关键词百度推广客户端怎样注册
  • wordpress标题换行显示不全品牌推广百度seo
  • 怎么做淘宝链接网站商品推广软文范例200字
  • 网站降权不更新文章可以吗什么是网络推广营销
  • 北京公司黄页seo优化实训总结
  • 2021免费网站大全获客引流100种方法
  • 政府网站建设意见seo主要优化哪些
  • 帝国做网站是选择静态还是伪静态美食软文300字
  • 邯郸企业网站制作建设百度上海推广优化公司
  • 电子商务网站策划书3000字百度推广官方
  • 企业网站建设三个原则html简单网页代码
  • 如何做中介网站seo发包技术教程
  • 兼职做网站赚钱吗seo外链优化策略
  • 崇明区建设镇网站百度推广费用
  • 品牌seo是什么合肥seo排名优化