2013-12-16 42 views
0

我在Mac OSX上编写NPAPI插件与Firebreath框架。
我需要在插件窗口中创建NSTextField。
首先,我尝试创建NSWindowinit功能Firebreath mac os x在插件窗口中创建NSTextField

(NSWindow *)initWithWindowRef:(void *)carbonWindowRef 

但WindowRef总是空(我尝试FB :: CoreGraphicsDraw事件后得到它)

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

win_ref总是等于空。

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

回答

2

你想要做的事情是不可能的。现代OS X插件绘图系统不会给你一个窗口;您需要抽取CGContext给予您或销售CALayer,具体取决于您使用的是哪种型号。

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