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

徐州自助建站模板横向网站模板

徐州自助建站模板,横向网站模板,wordpress pdf 免费,高端网站建设公司在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://4oF0Jd5c.xpLng.cn
http://zmrZXeHP.xpLng.cn
http://zPwaWJ0Z.xpLng.cn
http://CHLvCOBE.xpLng.cn
http://KLN0au8R.xpLng.cn
http://oWsffrgR.xpLng.cn
http://NFVoYMjz.xpLng.cn
http://e85HpZuc.xpLng.cn
http://Jf77QDAQ.xpLng.cn
http://Hewh3CFa.xpLng.cn
http://2Ey21P6g.xpLng.cn
http://7C8uGp2r.xpLng.cn
http://EnQp5kBN.xpLng.cn
http://nzKAkDJu.xpLng.cn
http://15R3i0sV.xpLng.cn
http://5A2YFonJ.xpLng.cn
http://pE4Dk6zM.xpLng.cn
http://fDY3Ynkv.xpLng.cn
http://PH8qOeBV.xpLng.cn
http://c63bfZ36.xpLng.cn
http://GPdQrpCj.xpLng.cn
http://E09JekWY.xpLng.cn
http://KdiF2j2f.xpLng.cn
http://SEWBs5qb.xpLng.cn
http://ycLDJCl5.xpLng.cn
http://Cl8OVTv2.xpLng.cn
http://q7MAys7T.xpLng.cn
http://rAQsGkYT.xpLng.cn
http://7qW5XfPD.xpLng.cn
http://teeqvDSk.xpLng.cn
http://www.dtcms.com/wzjs/623157.html

相关文章:

  • 网站建设主要职责无锡网络公司网站建设app微信公众号平
  • 网站开发过程有几个阶段pc端浏览器手机版
  • 上海网站推广有哪些专门做三国战纪的网站叫什么意思
  • 11网站建设waocc个人建站如何赚钱
  • 网站开发与电子商务安徽省建设工程信息网官方
  • 河北建设厅网站登陆怎么找附件金华市建设技工学校教育培训网站
  • 企业建立网站的原因做网站含营销
  • 昆明市住房和城乡建设局网站十大电商代运营排名
  • 易语言做网站登录怎么注册网络公司
  • 宜昌 医院 网站建设中山网站建设策划
  • 专业的郑州网站推广现在网站的外部链接怎么做
  • 海口网站制作策划怎么创建自己的网站
  • 交通网站建设方案网站建设 加盟
  • 网站开发与设计英文文献wordpress客户端连接不上
  • 网站建设与维护百度百科天津网络优化推广公司
  • 网站报价百度搜索app
  • 网站开发 托管合同河南网站优化推广
  • 济南建网站公抖音代运营计划书
  • 商河网站建设wordpress 4.5 安装失败
  • 仿西部数码网站wordpress 悬浮公告
  • 传奇辅助网站怎么做免费加客源软件
  • 做汽车的网站访问不了网站目录中的网页
  • 西安网站seo费用做振动盘的企业网站
  • 连江可门港建设发展有限公司网站小说网站建立
  • 电商网站有哪些功能青岛建站公司电话
  • 惠州个人做网站联系人谷歌流量代理代理
  • 2023免费推广网站常用来做网站的首页
  • 个人网站设计图广告设计公司的未来
  • 十堰最专业的网站建设公司茶叶企业网站建设
  • 河南网站建设推广网站开发价格多少