3.10 Moduswechsel-Schalter

Wie Sie vielleicht wissen, bietet Hollywood eine Tastaturkombination zum Umschalten zwischen Fenster- und Vollbildmodus. Immer wenn der Benutzer ALT+RETURN oder COMMAND+RETURN drückt, wechselt Hollywood automatisch zwischen den Modi "Fenster" und "Vollbild". Dieses Verhalten ist standardmäßig aktiviert. Es kann deaktiviert werden, indem ModeTag in der Präprozessor-Anweisungen @DISPLAY auf False gesetzt wird.

Bei Verwendung des integrierten Bildschirmtreibers von Hollywood werden die Modiwechsel automatisch von Hollywood übernommen und das Skript muss nichts tun. Dies ist bei GL Galore anders. Mit GL Galore müssen Sie Ihren GL-Kontext nach einem Moduswechsel neu initialisieren. Dies ist notwendig, da der alte GL-Kontext gelöscht wird, wenn Hollywood den Modus wechselt. Somit gehen alle aktuellen GL-Zustände in einem Moduswechsel verloren. Dazu gehören auch Texturen und Displaylisten, die Ihr Skript zugewiesen hat. Nach einem Moduswechsel wird der GL-Kontext Ihres Skripts durch einen Vanilla-GL-Kontext ersetzt, der mit demjenigen identisch ist, mit dem Ihr Skript gestartet wurde.

Um den Moduswechsel mit GL Galore zu unterstützen, müssen Sie mit InstallEventHandler() eine Überwachung im Tag ModeSwitch installieren. Immer wenn dieser Ereignis-Handler ausgelöst wird, müssen Sie Ihren GL-Kontext neu initialisieren und jeden Status auf die gewünschten Werte setzen. Normalerweise müssen Sie Ihren Initialisierungscode, der Ihren GL-Kontext am Anfang des Skripts einrichtet, nur dann erneut ausführen, wenn das ModeSwitch-Ereignis ausgelöst wird. Wenn Ihnen das zu viel Ärger bereitet, können Sie auch den automatischen Moduswechsel deaktivieren.

Bitte beachten Sie, dass es nicht notwendig ist, den Moduswechsel manuell zu handhaben, falls Sie die OpenGL API nicht direkt verwenden. Die von GL Galore zugewiesenen Hardwarepinsel werden von GL Galore automatisch in den neuen GL-Kontext übertragen, sodass Sie nichts dafür unternehmen müssen. Es ist nur notwendig, wenn OpenGL direkt programmiert wird.


Navigation zeigen