Безопасно ли получить CGContext NSView из -drawRect:
и использовать его для последующего рисования? В простом тесте вроде этого:
CGContextRef context = NULL;
- (void)drawRect:(NSRect)r
{
if (!context)
context = [[NSGraphicsContext currentContext] graphicsPort];
}
- (void)drawSomething
{
CGContextSetRGBFillColor(context, 1, 0, 0, 1);
CGContextFillRect(context, CGRectMake (0, 0, 100, 100));
CGContextFlush(context);
}
все вроде бы работает, когда вызывается -drawSomething
, но есть ли гарантия, что контекст не изменится?
Как вы можете видеть и догадаться, я пытаюсь обойти стандартный способ рисования с помощью -drawRect:
. Он прекрасно работает для множества случаев, но более процедурный способ рисования облегчил бы жизнь в моем конкретном случае.