@DISPLAY [id,] table
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:
X,Y:
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:
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:
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:
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:
FullScreenScale
und FakeFullScreen
.
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)
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:
True
, wenn das Display ein randloses
Fenster sein soll. Der Standardwert ist False
.
Sizeable:
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:
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:
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:
Color
(Farbe), Gradient
(Farbverlauf), Texture
(Struktur) oder Picture
(Bild) sein.
Der Typ muss hier als Zeichenkette übergeben werden (z.B. "Texture")
Color:
Color
als Type
angegeben, übergeben Sie hier die gewünschte
Hintergrundfarbe.
StartColor, EndColor:
Gradient
als Type
angegeben, verwenden Sie diese
beiden Felder, um die Start- und Endfarben für den Farbverlauf
zu definieren.
Brush:
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:
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:
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:
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:
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:
Type
Picture
können Sie hier eine RGB-Farbe angeben,
die transparent dargestellt werden soll. Der Standardwert ist
#NOTRANSPARENCY
. (V4.0)
ScalePicture:
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:
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:
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:
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:
False
. (V3.0)
NoModeSwitch:
NoModeSwitch
angegeben
ist, wird dieses Display immer in seinem ursprünglichen Anzeigemodus
bleiben. Der Standardwert ist False
. (V3.0)
NoHide:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
#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:
#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:
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:
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:
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:
FillStyle
auf #FILLTEXTURE
gesetzt
wurde. Siehe SetFillStyle für Details. (V5.0)
GradientStyle:
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:
FillStyle
#FILLGRADIENT
eingestellt ist. Der Winkel wird in Grad ausgedrückt.
Nur für die beiden GradientStyle
#LINEAR
und #CONICAL
. (V5.0)
GradientStartColor, GradientEndColor:
FillStyle
auf #FILLGRADIENT
gesetzt wurde. (V5.0)
GradientCenterX, GradientCenterY:
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:
#CONICAL
.
Muss ein Fließkommawert zwischen 0.0 und 1.0 sein.
Siehe CreateGradientBGPic für Details. (V5.0)
GradientBorder:
#RADIAL
. Muss ein Fließkommawert zwischen 0.0 und 1.0 und sein.
Siehe CreateGradientBGPic für Details. (V5.0)
GradientColors:
GradientStartColor
und GradientEndColor
ignoriert.
Siehe CreateGradientBGPic für Details. (V5.0)
KeepScreenOn:
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:
HideFromTaskbar:
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:
True
. Der Standardwert
ist False
. (V5.3)
Orientation:
#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
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:
True
, wenn Sie den Bildschirm-Blanker
deaktivieren möchten, während dieses Display geöffnet ist.
Der Standardwert ist False
. (V6.0)
Menu:
Monitor:
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:
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:
ScreenName:
RememberPosition:
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:
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:
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:
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:
True
setzen. (V7.0)
NativeUnits:
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:
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:
False
. Dies wird nur auf Android unterstützt.
Der Standardwert ist False
. (V8.0)
HideTitleBar:
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:
Titel
festgelegt wurde. Standardmäßig
gibt es keine Untertitel. (V8.0)
SingleMenu:
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:
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:
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:
ShowSystemBars
und HideSystemBars
werden Sie über Änderungen der Sichtbarkeit der Systemleiste
benachrichtigt.
#IMMERSIVE_LEANBACK:
ShowSystemBars
und
HideSystemBars
benachrichtigt.
#IMMERSIVE_STICKY:
#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:
#PALETTE_AGA
. Siehe SetStandardPalette für eine Liste der integrierten Paletten.
(V9.0)
FillPen:
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:
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:
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:
#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:
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.
@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.