CGLayers没有画画

时间:2014-02-02 20:28:52

标签: macos cocoa drawing quartz-2d

我的drawRect:代码有什么问题?

为绘图创建CGContextRef

   CGContextRef myContext = [[NSGraphicsContext currentContext] graphicsPort];

使用当前上下文创建CGLayerRef

   CGLayerRef theLayer = CGLayerCreateWithContext(myContext, CGSizeMake(5, 5) NULL);

为图层本身创建CGContextRef

   CGContextRef theCurrentLayer = CGLayerGetContext(theLayer);

获取鼠标的位置,用作原点

   NSPoint point = [self.window mouseLocationOutsideOfEventStream];

将颜色设置为黑色

   CGContextSetRGBFillColor(theCurrentLayer, 0, 0, 0, 1);

在图层上绘制一个矩形

   CGContextFillRect (theCurrentLayer, CGRectMake (point.x, point.y, 5, 5));

将图层绘制到鼠标位置的当前上下文

   CGContextDrawLayerAtPoint(myContext, CGPointMake(point.x, point.y), theLayer);

没有任何反应......内存使用量稳步增加,表明正在创建图层,但窗口中没有任何内容。

0 个答案:

没有答案