[id] = CreatePointer(id, type, ...) [id] = CreatePointer(id, #SPRITE, srcid[, frame, spotx, spoty]) [id] = CreatePointer(id, #BRUSH, srcid[, spotx, spoty]) [id] = CreatePointer(id, #POINTER, ptrtype)
id
angegebene ID zu. Wenn Sie Nil als id
übergeben,
wird CreatePointer()
automatisch eine ID wählen und
zurückgeben. Der von diesem Befehl erstellte Mauszeiger kann
später durch Aufruf von SetPointer() angezeigt werden. Mauszeiger
können entweder aus einer Sprite- oder Pinselquelle erstellt
werden oder Sie können einen vordefinierten Mauszeiger auswählen.
Die Art des Aufrufs von CreatePointer()
hängt vom Typ ab, den
Sie als zweites Argument angeben.
Für die Typen #SPRITE
und #BRUSH
müssen Sie in srcid
die
ID des Objekts angeben, die als Quelle für die Zeigergrafiken
verwendet werden soll. Der Mauszeiger, der von diesem Befehl
erzeugt wird, ist unabhängig vom Quellobjekt, so dass Sie das
Quellobjekt nach dem Aufruf von CreatePointer()
löschen können.
Wenn Sie #POINTER
als Typ angeben, müssen Sie ein zusätzliches
Argument angeben, welches vordefinierte Mauszeigerbild Sie
verwenden möchten. Derzeit kann dies #STDPTR_SYSTEM
für den
Standard-Systemmauszeiger und #STDPTR_BUSY
für den
Standard-Wartemauszeiger sein.
Mit den Argumenten spotx
und spoty
wird der aktive Zeigepunkt
(Hotspot) innerhalb des Mauszeigers definiert. Der aktive Zeigepunkt
ist der Mauszeigerpixel, welcher zum Klicken verwendet wird.
Wenn das Mauszeigerbild ein Pfeil ist, dann ist der aktive Zeigepunkt
normalerweise genau an der Spitze des Pfeils. Wenn Sie die
spotx
und spoty
Argumente nicht angeben, wird CreatePointer()
die Mitte des Bildes als aktiver Zeigepunkt verwenden.
Bitte beachten Sie, dass nicht alle Systeme Mauszeiger mit Echtfarben verarbeitet können. Wenn das System dies nicht unterstützt, wird Hollywood die Farben reduzieren. Außerdem werden Ihre Bilddaten möglicherweise skaliert, da einige Systeme Grenzen für die maximale Mauszeigergröße setzen.
Unter AmigaOS 3 unterstützt CreatePointer()
auch Palettenpinsel
und Sprites. Mauszeiger auf klassischer Amiga-Hardware sind
immer palettenbasiert, da sie mit Hardware-Sprites implementiert
sind. Wenn Sie also Palettenpinsel oder Sprites an CreatePointer()
auf AmigaOS 3 übergeben, haben Sie die volle Kontrolle über
die genauen Stifte, die vom Mauszeiger verwendet werden, was
bequemer ist als die Verwendung von 32-Bit-Grafiken, da diese
zuerst auf Palettengrafiken unter AmigaOS 3 abgebildet werden
müssen und Sie keine Kontrolle über die Palettenstifte im neu
zugewiesenen Pinsel oder Sprite haben.
id
weitergeben (siehe oben)CreatePointer(1, #BRUSH, 2, 0, 0) SetPointer(1)Der obige Code erzeugt einen neuen Mauszeiger 1 vom Pinsel mit der ID 2. Der aktive Zeigepunkt befindet sich auf der Position 0:0 (d.h. die linke obere Ecke des Zeigers). Nach dem Erstellen des Mauszeigers wird er mit SetPointer() angezeigt.