【问题标题】:Firebreath mac os x create NSTextField in plugin windowFirebreath mac os x 在插件窗口中创建 NSTextField
【发布时间】:2013-12-16 13:12:06
【问题描述】:

我在 Mac OSX 上使用 Firebreath 框架编写 NPAPI 插件。
我需要在插件窗口中创建 NSTextField。
首先,我尝试使用init 函数创建NSWindow

(NSWindow *)initWithWindowRef:(void *)carbonWindowRef

但 WindowRef 始终为空(我尝试在 FB::CoreGraphicsDraw 事件之后获取它)

void Plugin::onCoreGraphicsDraw(FB::CoreGraphicsDraw* evt, FB::PluginWindowMacCG* win)
{
    WindowRef win_ref = win->getWindowRef();
}

win_ref 总是等于 null。

如何创建NSTextField 其他方法?

【问题讨论】:

    标签: macos npapi firebreath


    【解决方案1】:

    您尝试做的事情是不可能的。现代 OS X 插件绘图系统不给你一个窗口;您需要绘制到给定的CGContext,或出售CALayer,具体取决于您使用的模型。

    无法在 OS X NPAPI 插件中使用本机控件。如果你想在 OS X 上使用原生控件,你需要构建一个独立的应用程序,而不是浏览器插件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-24
      • 2013-07-20
      相关资源
      最近更新 更多