带有C 的程序NSTOUCHBAR

program NSTouchBar with c++

本文关键字:NSTOUCHBAR 程序 带有      更新时间:2023-10-16

问题

我想使用C 来创建一个使用新的MacBook Pro Touch Bar的应用程序。但是,我找不到任何非常好的资源。苹果没有任何关于使用C 编程触摸栏的文档。

我做了

我在C 和Touch Bar上找到了这篇文章,但是我找不到脚本GLFW/glfw3.hGLFW/glfw3native.h的标头文件。这两者都对脚本工作至关重要。

有关此问题的更多信息

即使上述文章的脚本有效,也没有用于使用C 编程的官方文档(我知道)。我认为这是一件重要的事情,因为许多应用程序(如果不是大多数应用程序)是用C/C 编写的。

预先感谢您的帮助!

因此,如果您不使用GLFW,则基本上链接到基本上的文章不需要GLFW/glfw3.hGLFW/glfw3native.h文件。

您在C 应用程序中使用什么UI框架?

除非它仍在使用碳,否则在最低级别,该框架将创建NSWindows,以便在UI中实际具有Windows。您需要访问您的框架用来托管UI的NSWindow。如果它仍在使用碳,我认为您可能无法实现这一目标。

如果该框架提供了一些机制来获取本机平台窗口(这将是NSWINDOW),则可以用框架中的正确调用替换作者对glfwGetCocoaWindow(window);的呼叫。

如果该框架无法访问NSWINDOW,那么您将需要使用文章底部注释的代码将触摸栏连接到应用程序中的窗口。

请注意,所有代码都是OBJ-C代码;您需要在项目中至少有一个.m.mm文件,以提供OBJ-C胶代码以访问触摸栏。基本上,该代码是可可API周围的可Callable包装器。

还要注意,您需要为所有想要放入触摸台的东西扩展按钮和操作列表。您可以添加自己的包装API,以便从C 完成工具栏的构建,并注册将背包的操作拨打到您的C 应用程序中以处理这些事件。

从根本上讲,触摸栏在任何其他平台上都没有可用,因此试图避免编写OBJ-C以实现您的触摸栏没有很大的好处,因为该代码无论如何只能在MacOS上运行。如果使用.mm文件来实现此代码的OBJ-C ,则仍然可以从触摸栏代码中调用C 对象。