NSWindowGraphicContext? - PullRequest
       12

NSWindowGraphicContext?

3 голосов
/ 09 июня 2011

Мне было интересно, что такое NSWindowGraphicContext и как я могу получить к нему доступ? Это кажется скрытым. В любом случае, когда я следую за кодом, className оказывается NSWindowGraphicContext.

NSGraphicsContext *graphiccontext = [NSGraphicsContext currentContext];
const char* className             = class_getName([graphiccontext class]);

То же самое с CGContextRef.

Документация гласит

"Графический контекст окна - это графический контекст, который можно использовать для рисования в окне. Обратите внимание, что поскольку Quartz 2D является графическим ядром, а не системой управления окнами, для получения графического контекста вы используете одну из структур приложения. для окна. "

Но это не дает название заголовка или детали для создания, как это делает для растрового контекста и графического контекста PDF? Я хотел бы узнать о них больше.

Я предполагаю, что Apple не хочет раскрывать эти детали пользователю. Но мне нужно знать больше.

1 Ответ

3 голосов
/ 09 июня 2011

Это частный подкласс, используемый Apple, о котором вы не должны знать. Таким образом, нет общедоступной документации или заголовков. Он будет создан автоматически для ваших окон. Вы можете получить его, открыв текущий контекст (как вы делаете в своем вопросе), или так:

[NSGraphicsContext graphicsContextWithWindow:theWindow];

Если вы хотите узнать больше о классе, вы можете запустить class-dump в AppKit, чтобы получить заголовок. Используя информацию из заголовка, вы, возможно, сможете создавать новые контексты, но их, вероятно, будет сложно настроить должным образом, и лучше попросить систему о них.

...