3 Stimmen

NSWindowGraphicContext?

Ich frage mich, was ist NSWindowGraphicContext und wie kann ich es zugreifen? Es scheint versteckt zu sein. Wie auch immer, wenn ich folgenden Code className stellt sich heraus, NSWindowGraphicContext sein.

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

Dasselbe gilt für CGContextRef.

Die Dokumentation sagt

"Ein Fenstergrafikkontext ist ein Grafikkontext, den Sie zum Zeichnen in einem Fenster verwenden können. Da es sich bei Quartz 2D um eine Grafik-Engine und nicht um ein Fensterverwaltungssystem handelt, verwenden Sie eines der Anwendungs-Frameworks, um einen Grafikkontext für ein Fenster zu erhalten."

Aber es wird nicht der Name der Kopfzeile oder Details zur Erstellung angegeben, wie es bei Bitmap-Kontext und PDF-Grafik-Kontext der Fall ist? Ich würde gerne mehr darüber wissen.

Ich gehe davon aus, dass Apple diese Details nicht an die Nutzer weitergeben möchte. Aber ich muss mehr wissen.

3voto

ughoavgfhw Punkte 39353

Es handelt sich um eine private Unterklasse, die von Apple verwendet wird und von der Sie nichts wissen sollen. Daher gibt es keine öffentliche Dokumentation oder Header. Sie wird automatisch für Ihr Windows erstellt. Sie können sie entweder durch Zugriff auf den aktuellen Kontext (wie in Ihrer Frage) oder wie folgt erhalten:

[NSGraphicsContext graphicsContextWithWindow:theWindow];

Wenn Sie mehr über die Klasse erfahren möchten, können Sie Klassendump auf AppKit, um eine Kopfzeile zu erhalten. Mit den Informationen aus der Kopfzeile können Sie möglicherweise neue Kontexte erstellen, aber es wird wahrscheinlich schwierig sein, sie richtig einzurichten, und es ist besser, das System um einen zu bitten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X