¿Es seguro obtener un CGContext de NSView de -drawRect:
y utilizarlo para realizar más dibujos posteriormente? En una prueba sencilla como ésta:Contexto de dibujo de 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);
}
todo parece funcionar cuando -drawSomething
se llama, pero es que garantiza que el contexto no va a cambiar?
Como puede ver y puede adivinar, estoy intentando omitir la forma estándar de dibujar usando -drawRect:
. Funciona muy bien para una miríada de ocasiones, pero una forma de dibujo más procedimental facilitaría la vida en mi caso particular.