Безопасно ли получить CGContext NSView от -drawRect:
и использовать его, чтобы позже выполнить больше рисунков? В простом тесте, как этот:Контекст рисования NSView
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:
. Он прекрасно работает для множества случаев, но более процедурный способ рисования облегчит жизнь в моем конкретном случае.