2009-07-16 68 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