2009-07-16 26 views
6

我需要獲取NSView對象的CGContextRef。如果我知道如何,它不會那麼糟糕。在drawRect之外獲取NSView的CGContextRef?

碳這個東西做這樣的:

CGContextRef cgref = (libvlc_drawable_t)GetWindowPort(HIViewGetWindow((OpaqueControlRef*)hiViewRef)); 

很明顯,它可以通過繼承的NSView來完成(或者它的子類),並在它捕獲它的drawRect,但這是太醜陋了。

您的想法?

+2

我不知道你在做什麼,但它聽起來像是會導致很多挫折的事情。 – Chuck 2009-07-16 18:43:36

+0

我在我的應用程序中嵌入了VLC視頻播放器。我需要一個「drawable」,它將......繪製。 – Maleev 2009-07-17 09:26:33

回答

9

我從未使用過它,但它認爲這是你的方式:

[myView lockFocus]; 
imageContext = (CGContextRef)[[NSGraphicsContext currentContext] 
            graphicsPort]; 
... 
[myView unlockFocus]; 

也看看到的NSView的lockFocusIfCanDraw

相關問題