2017-12-04 1 views
2

Ich habe ein Fenster mit einer OpenGL-Ansicht, in der der Inhalt gerendert wird. Das Problem, das ich in Mac OS habe, ist, dass, wenn ich das Fenster von einem Monitor zum anderen verschiebe, sein Inhalt durcheinander gebracht wird. Ein Neuzeichnen behebt das Problem. Daher muss ich den GL-Bereich neu zeichnen, wenn es von einem Monitor zum anderen bewegt wird. Gibt es eine Möglichkeit, den Übergang des Fensters von einem Monitor zum anderen zu erkennen?Erkennen, dass die Fenster von einem Bildschirm zum nächsten verschoben werden

+0

Ich habe keine Kenntnisse über macOS, aber ich bin sicher, dass Sie abfragen können, welche Pixelkoordinaten gehören zu welchem ​​physikalischen Monitor (für Beispiel mit [this] (https://developer.apple.com/documentation/coregraphics/quartz_display_services)). Wenn Sie sich in das Bewegungsereignis des Fensters einklinken, testen Sie einfach, ob Ihr Fenster die Bildschirmgrenzen überschreitet. – BDL

Antwort

5

Sie können für Benachrichtigungen registrieren, dass Feuer, wenn das Fenster der Ansicht Bildschirme ändert: NSWindowDidChangeScreenNotification

+0

Ich empfehle, die [NSWindowDidExposeNotification] (https://developer.apple.com/documentation/appkit/nswindowdidexposenotification?language=objc) auf die gleiche Weise zu behandeln. – datenwolf

Verwandte Themen