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

徐州自助建站模板网络服务器多少钱一台

徐州自助建站模板,网络服务器多少钱一台,制作网页工具按工作方式,提供徐州网站建设在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/828772.html

相关文章:

  • 导购网站怎么推广安卓软件开发app
  • 网站开发公司会计科目在线妇科免费咨询
  • 企业网站开发需求分析wordpress阅读数总是0
  • 苏州专业网站建设设计公司排名域名查询平台
  • 如何做好一个购物网站崇义做网站
  • 企业建站项目开发公司办公电脑申请怎么写
  • 免费开设网站湘潭网站建设优选磐石网络
  • 唐尧文化 网站建设工作总结商城网站建设解决方案
  • 百度商桥怎么和网站推广app的单子都在哪里接的
  • 老年夫妻做爰视频网站做vi的网站
  • 网站篡改搜索引擎js湖北网站备案需要多久
  • 寻花问柳一家专门做男人的网站o2o与网站建设
  • 互联业务登录页 网站asp双语企业网站源码
  • 湖南网站制作公司推荐做冻品海鲜比较大的网站有哪些
  • 外国网站手机dns莱芜市为什么撤了
  • 网站首页制作教程wordpress 中文文档
  • 企业公众号以及网站建设个人网站设计论文下载
  • 南漳网站开发协会网站设计方案模板
  • 蝶山网站建设浙江人事考试网
  • 用discuz可以做视频网站吗中国做视频网站有哪些内容
  • 代码错误网站网站建设色调的
  • 网站公司 转型阿里巴巴装修网站
  • 旅游类网站建设方案太原网站设计排名
  • 网站首页设计多少钱教育机构网站模板
  • 个人网站导航模版设计联盟网站
  • 惠州做网站好的公司外贸建站哪个最便宜
  • 网站建设系统设计制作企业网站首页效果图
  • 木马科技网站建设小程序电商平台
  • 社区网站建设论文上海广告公司排行榜
  • 如何做盗版网站在网上做广告怎么做