Bezeichnung
DISPLAY -- erstellt ein neues Display (V2.0)
Übersicht
@DISPLAY [id,] table
Beschreibung
Diese Präprozessor-Anweisung erstellt ein neues Display. Mit Hilfe der optionalen Attribute in der Tabelle table kann das Erscheinungsbild des Displays beeinflusst werden. Eine ID wird nur dann benötigt, wenn Ihr Skript mehrere Displays verwendet. Wenn Sie nur ein einzelnes verwenden, können Sie den Identifikator auslassen und Hollywood wird dann den Identifikator 1 für das Display verwenden. Wenn Sie mehrere Monitore verwenden, wird gemäß Styleguide empfohlen, für das erste/Haupt-Display die ID 1 zu wählen.

Möchten Sie Displays dynamisch zur Laufzeit erstellen, können Sie den Befehl CreateDisplay() benutzen.

Das Erscheinungsbild des neuen Displays wird durch die Einstellung einer Anzahl von Tags in der optionalen Tabelle table konfiguriert. Die folgenden Tags werden derzeit von @DISPLAY unterstützt:

Title:
Verwenden Sie diesen Tag, um den Titel für dieses Display einzustellen. Dieser Titel wird dann in der Fensterleiste des Displays angezeigt (wenn das Display einen Rahmen hat). Standardtitel ist "Hollywood".

X,Y:
Mit X und Y können Sie definieren, wo auf dem Host-Bildschirm das Display geöffnet wird. Hier mit absoluten Werten zu arbeiten ist eher kontraproduktiv, weil man meist nicht wissen kann, wie groß der Bildschirm ist (außer der Vollbildmodus wird verwendet). Es ist klüger, hier die speziellen Positionkonstanten von Hollywood zu gebrauchen. Wenn Sie diese Tags nicht verwenden, wird das Display immer in der Mitte des Bildschirms geöffnet werden. Sie können später auch das Display mit dem Befehl MoveDisplay() bewegen.

BGPic:
Definiert das BGPic, welches zusammen mit dem neuen Display angezeigt werden soll. Jedes Display muss ein zugehöriges BGPic haben. Wenn Sie also diesen Tag nicht angeben, wird Hollywood automatisch ein neues BGPic für dieses Display erstellen, wobei der Füllstil vom Tag FillStyle sowie die beiden Größen in den Tags Width (Breite) und Height (Höhe) verwendet werden (siehe unten). Eine Ausnahme wird für das Display mit der ID 1 gemacht: Aus Gründen der Kompatibilität für die Displaynummer 1 wird automatisch dem BGPic die Nummer 1 zugeordnet werden, wenn es eines gibt. (V4.5)

Width, Height:
Diese Tags müssen Sie nur verwenden, wenn Sie nicht ein Hintergrundbild in BGPic (siehe oben) angegeben haben und Ihre Displaygröße eine andere Abmessung als die Standardgröße 640x480 haben soll. Falls dies zutrifft, setzen Sie diese beiden Tags auf die gewünschten Abmessungen. Diese Tags werden ignoriert, wenn Sie ein BGPic angeben. Ab Hollywood 7.0 können Sie diese Tags auch auf die spezielle Konstante #NATIVE setzen. In diesem Fall wird Hollywood die Dimensionen des Displays vom Host-Geräts verwenden.

Desktop:
Wenn diesen Tag auf True gesetzt ist, wird das Hintergrundbild eine Kopie Ihres Desktop-Bildschirms sein. Dies kann für einige nette Effekte mit diesem Bildschirm verwendet werden. Hollywood wird auch automatisch ein randloses Fenster öffnen, wenn dieser Tag auf True gesetzt ist.

Mode:
Mit diesem Tag können Sie einstellen, in welchem Modus das Display geöffnet werden soll. Sie müssen diesem Tag eine der folgenden Zeichenfolgen übergeben:

Windowed
Öffnet das Display im Fenstermodus.

FullScreen
Öffnet das Display im Vollbildmodus. Dies kann die Auflösung Ihres Monitors auf die Abmessungen ändern, die am besten zu den Dimensionen Ihres Displays passen. Wenn Sie das nicht wollen, werfen Sie einen Blick auf die nachfolgenden Modi FullScreenScale und FakeFullScreen.

FullScreenScale
Dies ist ein spezieller Vollbildmodus, der die Auflösung Ihres Monitors nicht ändert. Stattdessen wird das Display von Hollywood so dimensioniert, dass es den Dimensionen Ihres Monitors entspricht. Zusätzlich aktiviert dieser Vollbildmodus die Autoskalierung, so dass Ihr Display automatisch skaliert wird, um sich den Dimensionen Ihres Monitors anzupassen. FullScreenScale verwendet standardmäßig Autoskalierung. Wenn Sie möchten, dass Ebenenskalierung verwendet wird, müssen Sie auch ScaleMode auf #SCALEMODE_LAYER setzen. FullScreenScale ist besonders bei mobilen Geräten nützlich, deren Display-Hardware eine hartcodierte Auflösung hat und keine Auflösungsänderungen in gleicher Weise wie ein externer Monitor unterstützt, der mit einem Desktop-Computer verbunden ist. Der Nachteil von FullScreenScale ist, dass es langsamer ist, weil Hollywood alle Wiedergabe-Operationen auf die Dimensionen des Monitors skalieren muss. (V7.0)

AutoFullScreen:
Dadurch wird das Display mithilfe des automatischen Skalierungssystems in den Vollbildmodus versetzt, anstatt die Auflösung des Monitors zu ändern, aber nur, wenn Hollywood auf Systemen ausgeführt wird, die GPU-beschleunigte Skalierung unterstützen. Auf allen anderen Plattformen wird ein normaler Vollbildmodus verwendet, d.h. Hollywood passt die Auflösung des Monitors an die aktuellen Bildschirmgröße an. Derzeit wird die GPU-beschleunigte Skalierung unter Windows, macOS, Android und iOS unterstützt, was bedeutet, dass auf diesen Plattformen keine Änderung der Monitorauflösung stattfindet, da Hollywood die Grafiken einfach skalieren kann, um sie an die aktuelle Bildschirmgröße anzupassen. Auf AmigaOS-kompatiblen Systemen und Linux wird es bei diesem Modus jedoch immer noch eine Änderung der Monitorauflösung geben, weil Hollywood auf diesen Plattformen keine GPU-beschleunigte Skalierung unterstützt. (V9.1)

LayerFullScreen:
Dadurch wird das Display mithilfe der Ebenenskalierung in den Vollbildmodus versetzt, anstatt die Auflösung des Monitors zu ändern, aber nur, wenn Hollywood auf Systemen ausgeführt wird, die GPU-beschleunigte Skalierung unterstützen. Auf allen anderen Plattformen wird ein normaler Vollbildmodus verwendet, d.h. Hollywood passt die Auflösung des Monitors an die aktuelle Bildschirmgröße an. Derzeit wird die GPU-beschleunigte Skalierung unter Windows, macOS, Android und iOS unterstützt, was bedeutet, dass auf diesen Plattformen keine Änderung der Bildschirmauflösung stattfindet, da Hollywood die Grafiken einfach skalieren kann, um sie an die aktuellen Bildschirmabmessungen anzupassen. Auf AmigaOS-kompatiblen Systemen und Linux wird es bei diesem Modus jedoch immer noch eine Änderung der Bildschirmauflösung geben, weil Hollywood auf diesen Plattformen keine GPU-beschleunigte Skalierung unterstützt.(V9.1)

FakeFullScreen
Öffnet das Display in einem unechten vollen Bildschirmmodus. Das bedeutet, dass Hollywood die Auflösung des Monitors nicht ändert, aber die Hintergrundfüllung den ganzen Desktop abdecken wird. Somit erhält der Anwender den Eindruck, als ob Hollywood im Vollbildmodus ausgeführt wird, obwohl es auf dem Desktop läuft.

ModeRequester
Dies öffnet einen Anzeigemodus-Dialogfenster, in dem der Benutzer den gewünschten Vollbildmodus auswählen kann.

Ask
Es öffnet sich ein Dialogfenster, wo der Benutzer zwischen Fenster- und Vollbildmodus auswählen kann.

SystemScale:
Wenn Sie diesen Display-Modus wählen, wird der Skalierungsfaktor des Hostsystems automatisch auf Ihr Display angewendet. Dies kann bei Systemen mit High-DPI-Monitoren nützlich sein. Wenn Ihr Display beispielsweise normalerweise in 640 x 480 Pixeln öffnet und Sie es auf einem Monitor ausführen, der doppelt so viele Punkte pro Zoll (DPI) verwendet, wird Ihr Skript im Modus SystemScale automatisch auf 1280 x 960 Pixel skaliert, damit es nicht winzig aussieht, nur weil das System einen High-DPI-Monitor verwendet. Beachten Sie, dass durch die Verwendung von SystemScale standardmäßig die Autoskalierung aktiviert wird. Wenn Sie stattdessen die Ebenenskalierung verwenden möchten, benutzen Sie einfach den Tag ScaleMode, um dies in Ebenenskalierung zu ändern. Beachten Sie, dass SystemScale intern denselben Skalierungsmodus wie ScaleFactor verwendet, so dass sich Displays, die SystemScale verwenden, so verhalten, als wäre ScaleFactor angegeben worden. Es ist sogar möglich, den Tag ScaleFactor über SystemScale anzugeben. In diesem Fall wird der in ScaleFactor angegebene Wert mit dem Standard-Skalierungsfaktor des Hostsystems multipliziert. Siehe Skalierungssysteme für Details. Beachten Sie, dass Sie unter Windows auch den Tag DPIAware in der Präprozessor-Anweisung @OPTIONS auf True setzen müssen, um SystemScale zu verwenden. Siehe OPTIONS für Details. (V8.0)

Standardmäßig wird der Fenstermodus verwendet.

Borderless:
Setzen Sie diesen Tag auf True, wenn das Display ein randloses Fenster sein soll. Der Standardwert ist False.

Sizeable:
Setzen Sie diesen Tag auf True, wenn die Displaygröße durch den Benutzer verstellbar sein soll. Wenn Borderless auch auf True gesetzt ist, wird das Größesymbol in der unteren rechten Ecke des Fensters unsichtbar. Der Standardwert ist False.

Fixed:
Wenn dieser Tag auf True gesetzt ist, wird Hollywood ein festes, nichtziehbares Fenster erstellen. Dies ist besonders nützlich, wenn das Display als Vollbild angezeigt wird. Der Standardwert ist False.

Backfill:
Dieser Tag kann verwendet werden, um die Einstellung der Hintergrundfüllung für dieses Display zu konfigurieren. Backfill kann ein Schutzfenster schaffen, welches das gesamte Gebiet von Ihrem Hauptdisplay besetzt. Das wird allerdings nur dann unterstützt, wenn Mode auf FullScreen oder FakeFullScreen gesetzt wurde. Sie können eine statische Farbe, einen Farbverlauf, ein Bild oder eine Textur als Hintergrundfüllung verwenden. Sie müssen eine Tabelle an diesen Tag übergeben. Die folgenden Tabellen-Felder stehen derzeit zur Verfügung:

Type:
Dieses Feld ist obligatorisch. Es kann Color (Farbe), Gradient (Farbverlauf), Texture (Struktur) oder Picture (Bild) sein. Der Typ muss hier als Zeichenkette übergeben werden (z.B. "Texture")

Color:
Wenn Sie Color als Type angegeben, übergeben Sie hier die gewünschte Hintergrundfarbe.

StartColor, EndColor:
Wenn Sie Gradient als Type angegeben, verwenden Sie diese beiden Felder, um die Start- und Endfarben für den Farbverlauf zu definieren.

Brush:
Wenn Sie Texture oder Picture als Type verwenden, geben Sie hier die ID des Pinsels an. Wenn Sie den Dateinamen direkt übergeben möchten, verwenden Sie das BrushFile-Feld.

X,Y:
Wenn Sie Picture als Type angegeben haben, können Sie diese beiden Felder verwenden, um das Bild auf dem Bildschirm zu positionieren. Beide sind auf #CENTER voreingestellt.

HideTitleBar:
Wenn Sie dieses Feld auf True setzen, wird die Hintergrundfüllung auch die Titelleiste des Host-Bildschirm abdecken (zum Beispiel Finder-Titelleiste auf macOS oder die Workbench-Titelleiste auf AmigaOS kompatible Geräte). Beachten Sie, dass Sie auch HideTitleBar außerhalb des Backfill-Feldes verwenden können, weil auf Android und iOS HideTitleBar auch ohne Hintergrundfüllung verwendet werden kann. Wenn HideTitleBar ohne Hintergrundfüllung benutzt wird, versteckt HideTitleBar die Statusleiste des Gerätes auf Android sowie iOS.

BrushFile:
Wenn Sie Texture oder Picture als Type angeben, können Sie hier den Dateinamen des Pinsels verwenden. Diese Datei wird dann beim Kompilieren mit dem Applet/der ausführbaren Datei verknüpft werden, außer Sie setzen LinkBrushFile auf False. Wenn Sie die ID des Pinsels übergeben möchten, verwenden Sie das Brush-Feld. (V4.0)

LinkBrushFile:
Wenn BrushFile angegeben ist, kann mit diesem Feld eingestellt werden, ob die Pinseldatei beim Kompilieren in das Applet/die ausführbare Datei eingebunden werden soll oder nicht. Der Standardwert ist True, was bedeutet, dass der Pinsel mit der Datei verknüpft wird. (V4.0)

Transparency:
Beim Type Picture können Sie hier eine RGB-Farbe angeben, die transparent dargestellt werden soll. Der Standardwert ist #NOTRANSPARENCY. (V4.0)

ScalePicture:
Beim Type Picture können Sie dieses Feld verwenden, um festzulegen, ob das Bild an die Dimensionen des Displays angepasst/skaliert wird (True) oder nicht (False). Der Standardwert ist False. (V4.0)

SmoothScale:
Setzen Sie dieses Feld auf True, wenn Sie bei der Skalierung des Hintergrundbildes die Kantenglättung (Antialias) verwenden wollen. Dieses Feld wird nur dann berücksichtigt, wenn ScalePicture auf True gesetzt wurde. Der Standardwert ist False. (V6.0)

ScrWidth, ScrHeight:
Wenn Mode auf FullScreen gesetzt ist, können Sie mit diesen Tags die gewünschten Dimensionen für den Vollbildmodus einstellen. Voreinstellung ist, was beim Erstellen des Displays eingestellt wurde. Ab Hollywood 7.0 können Sie diese Tags auch auf die spezielle Konstante #NATIVE setzen. In diesem Fall wird Hollywood die Dimensionen des Host-Geräts des Displays verwenden. (V3.0)

ScrDepth:
Wenn Mode auf FullScreen gesetzt worden ist, ermöglicht dieser Tag, die gewünschte Farbtiefe für den Vollbildmodus zu setzen. Der Standardwert ist, was eingestellt wurde, als das Display erstellt wurde. (V3.0)

HidePointer:
Wenn Sie diesen Tag angeben, wird der Mauszeiger automatisch wieder ausgeblendet werden, wenn Hollywood in Vollbild- oder unechten vollen Bildschirmmodus wechselt. Dieses Argument hat gegenüber dem Befehl HidePointer() den Vorteil, dass der Mauszeiger nur im Vollbildmodus versteckt wird. Wenn Hollywood sich wieder im Fenstermodus befindet, wird der Mauszeiger wieder sichtbar. Wenn Sie den Mauszeiger im Fenstermodus verstecken, kann der Benutzer verwirrt werden. Der Standardwert ist False. (V3.0)

NoModeSwitch:
Wenn Sie dieses Argument angeben, wird es nicht möglich sein, bei diesem Display zwischen Fenster- und Vollbildmodus zu wechseln, indem Sie die Tastenkombination CMD+RETURN (macOS und Amiga) oder LALT+RETURN (Windows) drücken. Wenn NoModeSwitch angegeben ist, wird dieses Display immer in seinem ursprünglichen Anzeigemodus bleiben. Der Standardwert ist False. (V3.0)

NoHide:
Setzen Sie diesen Tag auf True, wenn Sie für dieses Display kein Iconify-Gadget haben wollen. Wenn Sie diesen Tag nicht angeben, wird Ihr Display immer über ein Iconify-Gadget verfügen. Der Standardwert ist False. (V4.5)

ScaleMode:
Mit diesem Argument können Sie ein Skalierungssystem für dieses Display auswählen. Scalemode kann auf einen der folgenden Parameter eingestellt werden: #SCALEMODE_LAYER (verwendet Ebenenskalierung), #SCALEMODE_AUTO (verwendet Autoskalierung) oder #SCALEMODE_NONE (verwendet kein Skalierungssystem). Wenn Scalemode nicht angegeben wird, ist beim Display der Skalierungsmodus #SCALEMODE_NONE eingestellt, dementsprechend ist kein Skalierungssystem aktiv. Bei der Angabe von ScaleMode möchten Sie in der Regel entweder die Argumente ScaleWidth und ScaleHeight oder den Display-Modus ScaleFactor oder SystemScale festlegen, um die Skalierungsdimensionen anzugeben (siehe unten). Siehe Skalierungssysteme für weitere Informationen über die Skalierungssysteme von Hollywood. (V4.5)

ScaleWidth, ScaleHeight:
Diese beiden Tags können verwendet werden, um die gewünschten Skalierungsmaße anzugeben, wenn ein Skalierungssystem aktiv ist (siehe Dokumentation von ScaleMode oben). Sie können die Größe entweder als direkten Wert übergeben oder eine prozentuale Zeichenfolge (d.h. ScaleWidth="200%") angeben. Wenn Sie eine prozentuale Zeichenfolge übergeben, wird die Skalierungsgröße relativ zur ursprünglichen Größe festgelegt (d.h. ScaleWidth="200%" bedeutet zweimal die ursprüngliche Breite). Ab Hollywood 7.0 können Sie diese Tags auch auf die spezielle Konstante #NATIVE setzen. In diesem Fall wird Hollywood die Dimensionen des Displays vom Host-Gerät verwenden. (V4.5)

SmoothScale:
Wenn ScaleMode eingestellt ist, können Sie mit diesem Argument festlegen, ob Hollywood Antialiasing bei der Skalierung verwenden soll (True) oder nicht (False). Der Standardwert ist False, somit wird kein Antialiasing verwendet. Beachten Sie, dass die Skalierung mit Antialiasing viel langsamer als die normale Skalierung ist. (V4.5)

Hidden:
Setzen Sie dies auf True, wenn dieses Display zunächst ausgeblendet werden soll. Somit wird das Display erst angezeigt, wenn Sie OpenDisplay() aufrufen. Sie können diesen Tag auch verwenden, um ein Hollywood-Skript auszuführen, das kein Display öffnet. Aber bedenken Sie, dass einige Befehle (z.B. WaitLeftMouse()) nur mit sichtbarem Display funktionieren. (V4.5)

Active:
Mit diesem Tag können Sie dem Display angeben, ob es beim Start aktiv sein soll. Bitte beachten Sie, dass nur ein Display aktiv sein kann, so dass es nicht gültig ist, für mehrere Displays Active auf True zu setzen. Dies wird zu nicht definierten Ergebnisse führen. Wenn Sie Active bei keinem Display auf True setzen, wird Hollywood die Displaynummer 1 standardmäßig aktivieren. (V4.5)

DragRegion:
Mit diesem Tag können Sie eine benutzerdefinierte Ziehregion (Drag-Bar) für dieses Display definieren. Benutzerdefinierte Ziehbereiche werden nur bei randlosen Displays unterstützt, so müssen Sie vorher Borderless auf True setzen, wenn Sie diesen Tag verwenden. Sie können mehrere Ziehregionen mit diesem Tag definieren. Aus diesem Grund müssen Sie eine Tabelle übergeben, die eine Liste von Tabellen enthält, die jeweils einen einzelnen rechteckigen Bereich definiert. Jede Tabelle in der Liste muss die folgenden Felder beinhalten: Type, X, Y, Width und Height. Momentan muss Type immer auf #BOX eingestellt werden, da derzeit nur rechteckige Bereiche unterstützt werden. Dies hört sich evtl. ziemlich kompliziert an, aber in Wirklichkeit ist es wirklich einfach. Alles, woran Sie denken müssen, ist eine Liste der Tabelle diesem Feld zu übergeben. Selbst wenn Sie nur eine einzige rechteckige Ziehregion wollen, müssen Sie eine Liste übergeben. Siehe unten für ein Beispiel. (V4.5)

SizeRegion:
Mit diesem Tag können Sie eine benutzerdefinierte Größenregion für dieses Display definieren. Benutzerdefinierte Größenbereiche werden nur von randlosen Displays unterstützt, so müssen Sie vorher Borderless auf True setzen, wenn Sie diesen Tag verwenden. Sie können mehrere Größenregionen mit diesem Tag definieren. Aus diesem Grund müssen Sie eine Tabelle übergeben, die eine Liste von Tabellen enthält, die jeweils einen einzelnen rechteckigen Bereich definiert. Jede Tabelle in der Liste muss die folgenden Felder beinhalten: Type, X, Y, Width und Height. Momentan muss Type immer #BOX eingestellt werden, da derzeit nur rechteckige Bereiche unterstützt werden. Dies hört sich evtl. ziemlich kompliziert an, aber in Wirklichkeit ist es wirklich einfach. Alles, woran Sie denken müssen, ist eine Liste der Tabelle diesem Tag zu übergeben. Selbst wenn Sie nur eine einzige rechteckige Größenregion wollen, müssen Sie eine Liste übergeben. Siehe unten für ein Beispiel. (V4.5)

Layers:
Setzen Sie diesen Tag auf True, wenn Sie für dieses Display Ebenen aktivieren wollen. Wenn Sie diesen Tag auf True setzen, müssen Sie für dieses Display nicht den Befehl EnableLayers() aufrufen. Siehe Einführung in die Ebenentechnik für weitere Informationen zu den Ebenen.. Dieser Tag wird standardmäßig auf False gesetzt. (V4.5)

UseQuartz:
Dieser Tag wird nur unterstützt, wenn Hollywood unter macOS läuft. Wenn Sie diesen Tag auf True setzen, wird das Display seine Grafiken mit der Quartz 2D-API zeichnen. Wenn es auf False gesetzt ist, wird QuickDraw verwendet werden. Beachten Sie, dass dieses Argument nur von Hollywood in der PowerPC-Version unterstützt wird. Die x86/x64-Versionen von Hollywood für macOS verwenden immer Quarz 2D. Voreingestellt ist False. (V4.5)

NoClose:
Setzen Sie diesen Tag auf True, wenn das Display kein Schließknopf in seinem Fensterrahmen haben soll. Denken Sie zweimal nach, bevor Sie diesen Tag verwenden. Es könnte den Benutzer verwirren und Sie müssen einen Ersatz für das Schließen des Displays bereit halten (z.B. EscapeQuit() oder CtrlCQuit()). Voreingestellt ist False. (V4.5)

FitScale:
Dieser Tag wird nur berücksichtigt, wenn entweder #SCALEMODE_AUTO oder #SCALEMODE_LAYER in ScaleMode (siehe oben) aktiv ist. Ist dies der Fall und FitScale wird auf True gesetzt, füllt das Skript den gesamten Bildschirm aus. Dies geschieht, indem die Auflösung des Displays auf die aktuelle Bildschirmauflösung skaliert wird. Dies ist im Wesentlichen das Gleiche wie die aktuelle Bildschirmabmessung in ScaleWidth und ScaleHeight. Beachten Sie, dass FitScale das Aussehen Ihres Skripts verzerren könnte, falls die aktuelle Bildschirmauflösung ein anderes Seitenverhältnis als das Skript hat. Um diese Verzerrung zu verhindern, müssen Sie KeepProportions (siehe unten) verwenden. Der Standardwert ist False. (V4.7)

KeepProportions:
Dieser Tag wird nur berücksichtigt, wenn entweder #SCALEMODE_AUTO oder #SCALEMODE_LAYER in ScaleMode (siehe oben) aktiv ist. Falls dies der Fall ist und KeepProprotions wird auf True gesetzt, wird die Auflösung des aktuellen Skripts durch Verändern der Größe des Fensters nicht verzerrt. Stattdessen werden schwarze Ränder für die nichtproportionalen Fensterbereiche verwendet. Das Display selbst wird immer das Seitenverhältnis beibehalten. Dies ist sehr nützlich für Skripte, die nicht verzerrt werden sollten. (V4.7)

FillStyle:
Dieser Tag ermöglicht es Ihnen, einen gefüllten Hintergrund mit einem Füllstil für dieses Display zu definieren. Dieser Tag wird nur berücksichtigt, wenn BGPic nicht angegeben wurde. Die Standardeinstellung für diesen Tag ist #FILLCOLOR. Siehe SetFillStyle für Informationen über alle verfügbaren Füllstile. (V5.0)

Color:
Dieser Tag wird nur dann ausgeführt, wenn Sie BGPic nicht verwendet haben und bei FillStyle #FILLCOLOR gesetzt haben. In diesem Fall können Sie mit diesem Tag die Farbe für die Hintergrundfüllung festlegen, die automatisch für dieses Display erstellt wird.

TextureBrush:
Wenn bei FillStyle #FILLTEXTURE gesetzt wurde, können Sie mit diesem Tag die ID des Pinsels angeben, die für die Texturierung verwendet werden soll. (V5.0)

TextureX, TextureY:
Diese Tags steuern den Startpunkt innerhalb des Texturpinsels und werden nur unterstützt, wenn FillStyle auf #FILLTEXTURE gesetzt wurde. Siehe SetFillStyle für Details. (V5.0)

GradientStyle:
Wenn FillStyle auf #FILLGRADIENT gesetzt wurde, können Sie diesen Tag nutzen, um den Farbverlauftyp anzugeben. Dies kann #LINEAR, #RADIAL oder #CONICAL sein. (V5.0)

GradientAngle:
Gibt die Ausrichtung des Farbverlaufs an, wenn bei FillStyle #FILLGRADIENT eingestellt ist. Der Winkel wird in Grad ausgedrückt. Nur für die beiden GradientStyle #LINEAR und #CONICAL. (V5.0)

GradientStartColor, GradientEndColor:
Verwenden Sie diese beiden Farben, um den Farbverlauf zu konfigurieren, wenn FillStyle auf #FILLGRADIENT gesetzt wurde. (V5.0)

GradientCenterX, GradientCenterY:
Legt den Mittelpunkt für die GradientStyle des Typs #RADIAL oder #CONICAL fest. Muss ein Fließkommawert zwischen 0.0 und 1.0 sein. Siehe CreateGradientBGPic für Details. (V5.0)

GradientBalance:
Dieser Tag steuert den Balancepunkt für Farbverläufe des Typs #CONICAL. Muss ein Fließkommawert zwischen 0.0 und 1.0 sein. Siehe CreateGradientBGPic für Details. (V5.0)

GradientBorder:
Dieser Tag steuert die Rahmengröße der Farbverläufe des Typs #RADIAL. Muss ein Fließkommawert zwischen 0.0 und 1.0 und sein. Siehe CreateGradientBGPic für Details. (V5.0)

GradientColors:
Dieser Tag kann verwendet werden, um einen Farbverlauf zwischen mehr als zwei Farben zu erzeugen. Dies muss mit einer Tabelle gesetzt werden, die Sequenzen von abwechselnden Farben und Stoppwerte enthält. Wenn dieser Tag verwendet wird, werden die Tags GradientStartColor und GradientEndColor ignoriert. Siehe CreateGradientBGPic für Details. (V5.0)

KeepScreenOn:
Dieser Tag wird nur dann unterstützt, wenn Hollywood auf Android und iOS läuft. Wenn Sie ihn auf True setzten, wird der Batteriesparmodus auf mobilen Geräten deaktiviert. Dies bedeutet, dass der Bildschirm des Geräts nie gedimmt oder ausgeschaltet wird, um Energie zu sparen. Nützlich für Skripte, die keine Benutzereingaben erfordern. Der Standardwert ist False. (V5.1)

PubScreen:
Dieser Tag wird nur auf AmigaOS und kompatiblen Betriebssystemen unterstützt. Er kann verwendet werden, um den öffentlichen Bildschirm anzugeben, auf dem dieses Display geöffnet wird. Sie müssen eine Zeichenfolge übergeben, die den Namen des öffentlichen Bildschirms enthält. Bitte beachten Sie, dass wenn Sie mehrere öffentlichen Bildschirmen auf verschiedenen Monitoren verwenden, ist es zwingend erforderlich, dass die einzelnen öffentlichen Bildschirmen das gleiche Pixelformat verwenden. Es ist also nicht erlaubt, ein Display auf einem 16-Bit öffentlichen Bildschirm zu haben, während das andere Display auf einem 32-Bit-öffentlichen Bildschirm angezeigt wird. Das Pixelformat muss für alle öffentlichen Bildschirmen identisch sein. (V5.2)

HideFromTaskbar:
Dieser Tag wird nur dann unterstützt, wenn Hollywood unter Windows ausgeführt wird. Falls Sie diesen Tag auf True setzen, wird Ihr Display keinen Eintrag in der Windows-Taskleiste erhalten. Dies ist nützlich, wenn Sie bereits ein Piktogramm der Taskleiste hinzugefügt haben und Sie kein Knopf in der Taskleiste wollen. Der Standardwert ist False. (V5.3)

HideOptionsMenu:
Dieser Tag wird nur auf Android-Geräten unterstützt. Wenn der Benutzer das Optionsmenü auf Android-Geräten öffnet, ermöglicht Hollywood dem Benutzer, mehrere Displayparameter zu konfigurieren, wie das Aktivieren oder Deaktivieren der automatischen Skalierung oder der Ebenenskalierung. Wenn der Benutzer dieses Optionsmenü nicht öffnen darf, setzen Sie diesen Tag auf True. Der Standardwert ist False. (V5.3)

Orientation:
Diesen Tag wird nur auf mobilen Plattformen unterstützt. Es ermöglicht Ihnen, eine hartcodierte Orientierung für Ihr Skript anzugeben. Wenn Sie diesen Tag setzen, wird Hollywood nicht reagieren, wenn sich die Ausrichtung beim Drehen des Gerätes ändert. Stattdessen wird es die Ausrichtung halten, die Sie hier angegeben. Die folgenden Werte sind möglich:

 
#ORIENTATION_NONE
#ORIENTATION_PORTRAIT
#ORIENTATION_LANDSCAPE
#ORIENTATION_PORTRAITREV
#ORIENTATION_LANDSCAPEREV

Der Standardwert ist #ORIENTATION_NONE, was bedeutet, dass keine feste Orientierung eingestellt ist und dass Hollywood sich dynamisch den Orientierungsänderungen anpasst. (V5.3)

NoHardwareScale: VERALTET
Dieser Tag wird nur auf Android unterstützt. Aus Performancegründen wird Hollywood versuchen, die hardwarebeschleunigte Skalierung zu verwenden, wenn automatische Skalierung auf Android-Geräten standardmäßig aktiviert ist. Einige Geräte haben keine Grafikhardware und es kann zu seltsamen Ergebnissen führen, wenn Sie das automatische Skalierungssystem benutzen. Ist dies der Fall, dann setzen Sie NoHardwareScale auf True und schauen, ob das hilft. Dieser Tag ist seit Hollywood 8.0 veraltet. Hollywood wird jetzt immer die hardwarebeschleunigte Skalierung verwenden. (V5.3) [Nur Android]

DisableBlanker:
Setzen Sie diesen Tag auf True, wenn Sie den Bildschirm-Blanker deaktivieren möchten, während dieses Display geöffnet ist. Der Standardwert ist False. (V6.0)

Menu:
Dieser Tag kann verwendet werden, um diesem Display eine Menüleiste zuzuweisen. Sie übergeben die ID einer Menüleiste, die mit der Präprozessor-Anweisung @MENU oder dem Befehl CreateMenu() erstellt wurde. Es ist auch möglich, eine einzelne Menüleiste mehreren Displays zuzuweisen. Siehe MENU für Details. (V6.0)

Monitor:
Mit diesem Tag können Sie den Monitor angeben, auf dem dieses Display geöffnet werden soll. Monitore werden von 1 bis zur Anzahl Monitore von dem System gezählt. Bitte beachten Sie, wenn Sie diesen Tag setzen: Befehle, die Displaykoordinaten annehmen, z.B. MoveDisplay(), orientieren sich nach dem Ursprung des im Monitor angegeben Monitor mit relativen Werten. Voreingestellt ist 1, was bedeutet, dass das Display auf dem primären Monitor geöffnet werden soll. (V6.0)

XServer:
Dieser Tag kann verwendet werden, um den X-Server anzugeben, dem dieses Display zugewiesen wird. Standardmäßig verwendet Hollywood den X-Server, der in der DISPLAY Umgebungsvariable angegeben wurde. Wenn Sie einen anderen X-Server für dieses Display verwenden möchten, verwenden Sie diesen Tag, welcher nur in der Linux-Version von Hollywood zur Verfügung steht. (V6.0)

ScreenTitle:
Auf AmigaOS kann dieser Tag verwendet werden, um den Text in der Titelleiste des Bildschirms zu setzen, wenn das Display angezeigt wird. In der Standardeinstellung wird "Workbench screen" angezeigt. Dieser Tag steht nur den AmigaOS-kompatiblen Versionen von Hollywood zur Verfügung. (V6.0)

ScreenName:
Wenn dieses Display im Vollbildmodus geöffnet werden soll, können Sie mit diesem Tag den gewünschten öffentlichen Bildschirmnamen für das Display einstellen. Standardmäßig wird Hollywood "HOLLYWOOD.X" verwenden, wobei "X" durch einen leeren Index ersetzt wird. Dieser Tag steht den AmigaOS und kompatiblen Versionen von Hollywood zur Verfügung. (V6.0)

RememberPosition:
Setzen Sie hier den Tag auf True, wenn sich das Display an seine Position und Größe erinnern soll. Dies ist natürlich nur im Fenstermodus möglich. RememberPosition arbeitet nicht im Vollbildmodus. Sie müssen auch eine eindeutige ID für Ihre Anwendung angeben, welche mit der Präprozessor-Anweisung @APPIDENTIFIER festgelegt wird. Das Display kann auch eine numerische ID verwenden, das heißt Sie können mit diesem Tag auch Displays verwenden, welche die ID mit der automatischen ID-Zuweisung erhalten haben. Beachten Sie, dass dieser Tag durch das Argument ‘-overrideplacement’ außer Kraft gesetzt werden kann. Wenn Sie Hollywood oder ein kompiliertes Skript mit dem Argument ‘-overrideplacement’ starten, wird jede gespeicherte Position oder Größe ignoriert. Siehe Konsolenargumente für Details. (V6.1)

Maximized:
Wenn Sie diesen Tag auf True setzen, öffnet sich das Display im maximierten Modus. Dies ist nur möglich, wenn das Display größenveränderlich ist. Dieser Tag wird derzeit nur unter Windows unterstützt. (V7.0)

TrapRMB:
Wenn dies unter AmigaOS auf True gesetzt ist, liefert Hollywood auch die rechten Maustastenereignisse, wenn eine Menüleiste einem Display zugewiesen wurde. Der Nachteil ist, dass der Menüzugriff nur über die Titelleiste des Bildschirms möglich ist. Dieser Tag wird nur dann berücksichtigt, wenn Ihr Display über eine Menüleiste verfügt, sonst hat es überhaupt keine Wirkung. TrapRMB ist standardmäßig auf False gesetzt, das heißt wenn eine Menüleiste einem Display zugeordnet ist, werden rechte Maustastenereignisse nicht erzeugt. Dieser Tag ist nur in den AmigaOS-kompatiblen Versionen von Hollywood verfügbar. (V7.0)

NoScaleEngine:
Dieser Tag wird nur berücksichtigt, wenn Mode für Ihr Display auf FullScreenScale gesetzt ist. In diesem Fall wird Hollywood keine Skalierungssysteme verwenden, sondern wird Ihr Display einfach in den gleichen Dimensionen wie die Auflösung des Monitors öffnen. Ihr Skript muss sich dann manuell an die Auflösung des Monitors anpassen. Dies ermöglicht es Ihnen Skripte zu schreiben, die sich dynamisch an verschiedene Auflösungen anpassen können, ohne einfach ihre Grafiken zu skalieren. (V7.0)

NoLiveResize:
Auf vielen Plattformen wird Hollywood Live-Größenänderung verwenden, wenn der Benutzer die Dimensionen eines Displays verändert. Dies bedeutet, dass der Inhalt des Displays automatisch skaliert wird, während der Benutzer das Display verkleinert. Wenn Sie das nicht wollen, können Sie diesen Tag auf True setzen. (V7.0)

NativeUnits:
Wenn Sie diesen Tag auf True setzen, verwendet Hollywood das native Koordinatennetz des Hostsystems und dessen Einheiten anstelle von Pixeln. Dies hat derzeit nur einen Einfluss auf macOS und iOS, da beide Betriebssysteme benutzerdefinierte Einheiten anstelle von Pixeln verwenden, wenn sie auf einem Retina-Gerät laufen. Standardmäßig wird Hollywood die Verwendung von Pixeln auf Retina Macs und iOS-Geräten wegen plattformübergreifende Kompatibilitätsgründe erzwingen, aber Sie können diese Einstellung mit diesem Tag überschreiben. (V7.0)

AlwaysOnTop:
Wenn Sie diesen Tag auf True setzen, bleibt das Display immer im Vordergrund. Verwenden Sie diesen Tag mit Vorsicht, da er für den Benutzer sehr lästig sein kann. (V7.1)

NoCyclerMenu:
Unter Android fügt Hollywood dem Optionsmenü in der Aktionsleiste der App automatisch ein Auswahl-Listenfeld-Menü hinzu, wenn mehr als ein Hollywood-Display geöffnet ist. Sie können dieses Auswahl-Listenfeld-Menü dann verwenden, um bequem zu anderen Displays zu wechseln. Wenn Sie nicht möchten, dass Hollywood ein solches Auswahl-Listenfeld-Menü hinzufügt, setzen Sie diesen Tag auf False. Dies wird nur auf Android unterstützt. Der Standardwert ist False. (V8.0)

HideTitleBar:
Setzen Sie diese Option auf True, um die Statusleiste unter iOS oder die Aktionsleiste unter Android auszublenden. Standardmäßig sind sowohl die Statusleiste als auch die Aktionsleiste immer sichtbar. Der Standardwert ist False. (V8.0)

Subtitle:
Mit diesem Tag können Sie den Untertitel des Displays einstellen. Dies wird nur auf Android unterstützt. Der Untertitel des Displays wird in der Aktionsleiste der App unter dem Anzeigetitel angezeigt, der mit dem oben genannten Tag Titel festgelegt wurde. Standardmäßig gibt es keine Untertitel. (V8.0)

SingleMenu:
Mit diesem Tag können Sie Menüelemente in der Stammebene des Optionsmenüs der Aktionsleiste von Android platzieren. Normalerweise ist dies nicht möglich, da auf Desktopsystemen Menüelemente immer Mitglieder bestimmter Stammgruppen sein müssen (z.B. "Datei", "Bearbeiten", "Ansicht" usw.). Bei der Verwendung von Menüleisten unter Android wird Hollywood natürlich das Verhalten der Desktop-Menüs durch Erstellen einzelner Untermenüs für diese Stammgruppen replizieren. Das bedeutet, dass der Benutzer mindestens zweimal auftippen muss, um ein Menüelement auszuwählen, da es in der Stammebene keine Menüelemente gibt. Stattdessen befinden sie sich immer in Untermenüs. Wenn Sie nicht möchten, dass Hollywood diese Untermenüs erstellt, sondern alle Elemente in der Stammebene platziert, setzen Sie diesen Tag auf True. Dies ist besonders nützlich, wenn es nur wenige Menüpunkte gibt und es nicht sinnvoll ist, sie in Untermenüs zu platzieren. Dieser Tag ist nur für Android verfügbar. Der Standardwert ist False. (V8.0)

ScaleFactor:
Wenn ein Skalierungssystem mit dem Tag ScaleMode (siehe oben) aktiviert wurde, können Sie mit diesem Tag einen globalen Skalierungsfaktor auf Ihr Display anwenden. Der Skalierungsfaktor muss als Bruchzahl angegeben werden, die den gewünschten Skalierungskoeffizienten angibt, z.B. ein Wert von 0.5 verkleinert alles auf die Hälfte seiner Größe, während ein Wert von 2.0 alles auf das Doppelte skaliert. Beachten Sie, dass sich das Skript durch die Einstellung von ScaleFactor geringfügig von der Einstellung von ScaleWidth und ScaleHeight (siehe oben) unterscheidet. Letzteres erzwingt eine feste Displaygröße, die niemals geändert wird, es sei denn, der Benutzer verwendet die Maus manuell zum Ändern der Displaygröße. Wenn Sie ScaleFactor einstellen, wird der Skalierungsfaktor jedoch auf alle neuen BGPics- und Displaygrößen angewendet, sodass sich die Displaygröße ändern kann, wenn sich die BGPic-Größe ändert oder das Skript die Displaygröße ändert. Daher ist die Verwendung von ScaleFactor ideal für die Skalierung eines Skripts für ein Display mit hoher Auflösung, da sichergestellt ist, dass sich das Skript genau gleich verhält, aber nur größer erscheint (oder kleiner, wenn Sie möchten!). Sie können den Tag SystemScale auch verwenden, um den Skalierungsfaktor des Hostsystems automatisch auf Ihr Display anzuwenden (siehe unten). Siehe Skalierungssysteme für Details. (V8.0)

ImmersiveMode:
Auf Android können Sie mit diesem Tag das Display in den immersiven Modus versetzen. Der Immersive-Modus ist ein spezieller Vollbildmodus, der die meisten System-Benutzeroberfläche (wie die Statusleiste) ausblendet, um Ihren Programmen so viel Platz wie möglich auf dem Bildschirm zu geben. Wenn Sie möchten, dass Ihr Display den Immersive-Modus verwendet, müssen Sie ImmersiveMode auf eines der folgenden Tags setzen. Alle diese Modi unterscheiden sich nur darin, wie der Benutzer die Systemleisten einblenden kann und ob Ihr Skript darüber benachrichtigt wird oder nicht.

#IMMERSIVE_NORMAL:
Normaler immersiver Modus. Benutzer können die Systemleisten wieder einblenden, indem sie von einer beliebigen Kante aus wischen, an der sich eine ausgeblendete Systemleiste befindet. Über die Ereignis-Handler ShowSystemBars und HideSystemBars werden Sie über Änderungen der Sichtbarkeit der Systemleiste benachrichtigt.

#IMMERSIVE_LEANBACK:
Lean back immersiver Modus. In diesem Modus können Systemleisten durch Tippen auf eine beliebige Stelle des Bildschirms wieder eingeblendet werden. Sie werden über Änderungen der Sichtbarkeit der Systemleisten mit den Ereignis-Handlern ShowSystemBars und HideSystemBars benachrichtigt.

#IMMERSIVE_STICKY:
Sticky immersiver Modus. Dies ist dasselbe wie #IMMERSIVE_NORMAL, außer dass keine Benachrichtigung erfolgt, wenn sich die Sichtbarkeit der Systemleiste ändert. Stattdessen werden die rohen/unbearbeiteten Swipe-Ereignisse an Sie weitergeleitet, auch wenn sie dazu führen, dass die Systemleisten wieder angezeigt wurden.

Beachten Sie, dass sowohl #IMMERSIVE_NORMAL als auch #IMMERSIVE_LEANBACK Ihr Skript mit den Ereignis-Handlern ShowSystemBars und HideSystemBars über Änderungen der Sichtbarkeit der Systemleiste benachrichtigen. Sie können diese Ereignisse mit dem Befehl InstallEventHandler() überwachen. Siehe InstallEventHandler für Details. (V9.0)

Palette:
Wenn dieser Tag auf den Identifikator einer Palette gesetzt ist, erstellt Hollywood eine Palettenmodus-Display für Sie. Paletten können mit Befehlen wie CreatePalette() oder LoadPalette() erstellt werden. Alternativ können Sie diesen Tag auch auf eine von Hollywoods integrierten Paletten setzen, z.B. #PALETTE_AGA. Siehe SetStandardPalette für eine Liste der integrierten Paletten. (V9.0)

FillPen:
Wenn der Tag Palette gesetzt ist (siehe oben), können Sie mit dem Tag FillPen den Stift einstellen, mit dem der Hintergrund des Displays gefüllt werden soll. (V9.0)

SoftwareRenderer:
Auf Windows-Systemen können Sie diesen Tag auf True setzen, um die GPU-beschleunigte Direct2D-Wiedergabe von Hollywood auf Windows-Systemen zu deaktivieren. Hollywood wird dann seine CPU-basierten Wiedergabe für maximale Kompatibilität verwenden. Dies ist vor allem für Testzwecke nützlich. Normalerweise sollte es keinen Grund geben, diesen Tag auf True zu setzen. (V9.0)

VSync:
Auf Windows-Systemen kann dieser Tag auf True gesetzt werden, um die Hollywood-Wiedergabe zu zwingen, die Aktualisierung auf die Bildwiederholrate des Monitors zu drosseln. Das bedeutet, dass Sie keine Befehle wie VWait() mehr verwenden müssen, um das Zeichnen zu drosseln. Beachten Sie jedoch, dass Sie, wenn Sie dies auf True setzen, darauf achten müssen, nur in Vollbildern zu zeichnen, da sonst das Zeichnen extrem langsam wird. Das Zeichnen in Vollbildern kann z.B. durch die Verwendung eines doppelten Puffers oder durch die Verwendung der Befehle BeginRefresh() und EndRefresh() beschleunigt werden. Beachten Sie auch, dass VSync derzeit nur unter Windows und nur dann unterstützt wird, wenn Hollywood seine Direct2D-Wiedergabe verwendet. Direct2D ist vor Windows Vista SP2 nicht verfügbar. (V9.0)

ScaleSwitch:
Wenn Sie ein Display zwischen Fenster- und Vollbildmodus umschalten, indem Sie das Tastaturkürzel CMD+RETURN (LALT+RETURN unter Windows) drücken oder den Modus #DISPMODE_MODESWITCH an ChangeDisplayMode() übergeben, ändert Hollywood den Bildschirmmodus des Monitors nicht auf Systemen, auf denen hardwarebeschleunigte Skalierung verfügbar ist. Auf diesen Systemen simuliert Hollywood einfach den Vollbildmodus, indem das Display auf die aktuelle Auflösung des Monitors skaliert wird. Nur auf älteren Systemen oder Plattformen, die keine hardwarebeschleunigte Skalierung unterstützen, schaltet Hollywood den Bildschirm auf eine neue Auflösung um. Der Grund, warum das Umschalten der Bildschirmauflösung nicht mehr standardmäßig erfolgt, ist, dass dies oft sehr lange dauert und nicht alle Monitore dies unterstützen (z.B. Laptop-Bildschirme unterstützen dies oft nicht). Wenn Sie Hollywood zwingen möchten, die Auflösung des Monitors beim Vollbildmodus immer zu ändern und niemals den Vollbildmodus durch Skalierung zu simulieren, setzen Sie diesen Tag einfach auf True. Die Voreinstellung ist False. (V9.0)

UserTags:
Dieser Tag kann verwendet werden, um zusätzliche Daten anzugeben, die an Display-Plugins übergeben werden sollen. Wenn Sie diesen Tag verwenden, müssen Sie ihn auf eine Tabelle mit Schlüssel-Wert-Paaren setzen, die die zusätzlichen Daten enthalten, die an Plugins übergeben werden sollen. Siehe Benutzer-Tags für Details. (V10.0)

Viele der Tags von oben - vor allem diejenigen, die das Erscheinungsbild des Displays konfigurieren - sind auch als Konsolenargumente verfügbar, welche dem Benutzer eine gewisse Flexibilität bei der Steuerung der Erscheinung des Skripts geben. Zum Beispiel ist es möglich, den Anzeigemodus des Skripts (Fenster, Vollbild, etc.) oder Fensterstil (randlos, Größe veränderbar, etc.) auch von der Kommandozeile aus zu ändern. Wenn Sie das nicht wollen, müssen Sie beim kompilieren Ihrer Skripte das Argument -locksettings verwenden. Damit wird verhindert, dass der Benutzer Änderungen an den von Ihnen definierten Einstellungen der Präprozessor-Anweisung vornimmt.

Eingaben
table
eine Tabelle, die ein oder mehrere der oben aufgeführten Tags enthält
Beispiel
@DISPLAY {Title = "My App", X = #LEFT, Y = #TOP, Width = 320,
    Height = 240, Color = #WHITE}
Dieser Code öffnet ein 320x240 großes Display mit einem weißen Hintergrund. Das Display wird auf den obersten linken Rand des Host-Bildschirms positioniert. Der Fenstertitel lautet: "My App".


@DISPLAY {Width = 640, Height = 480, Borderless = True,
DragRegion = {
{Type = #BOX, X=0, Y=460, Width=640, Height=20}, ; untere Ziehregion
{Type = #BOX, X=0, Y=0, Width=20, Height=480} ; linke Ziehregion
}
}
Der obige Code wird ein randloses Display mit der Abmessung 640x480 öffnen. Im oberen Bereich des Displays wird es keine Ziehregion (Drag-Bar) haben, aber es wird durch die Angabe einer benutzerdefinierten Ziehregion mit dem Tag DragRegion im unteren und linken Bereiche des Displays jeweils eine geben. Beachten Sie, dass den DragRegion-Tag erfordert, dass Sie immer eine Liste von rechteckigen Regionen übergeben, auch wenn Sie nur eine einzige Region brauchen. Siehe oben für weitere Informationen.

Navigation zeigen