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.