2013-12-16 70 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上實現本地控制,你需要構建一個獨立的應用程序,而不是一個瀏覽器插件。