Firebreath mac os x在插件窗口中创建NSTextField

时间:2013-12-16 13:12:06

标签: macos npapi firebreath

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

创建init
(NSWindow *)initWithWindowRef:(void *)carbonWindowRef

但是WindowRef总是为null(我尝试在FB :: CoreGraphicsDraw事件之后得到它)

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

win_ref始终等于null。

我如何创建NSTextField另一种方法?

1 个答案:

答案 0 :(得分:2)

你要做的事是不可能的。现代OS X插件绘图系统没有给你一个窗口;你需要绘制一个CGContext给你,或者卖CALayer,这取决于你使用的模型。

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