Bezeichnung
CreatePointer -- erstellt einen neuen Mauszeiger (V4.0)
Übersicht
[id] = CreatePointer(id, type, ...)
[id] = CreatePointer(id, #SPRITE, srcid[, frame, spotx, spoty])
[id] = CreatePointer(id, #BRUSH, srcid[, spotx, spoty])
[id] = CreatePointer(id, #POINTER, ptrtype)
Beschreibung
Dieser Befehl erzeugt einen neuen Mauszeiger und weist die in 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.

Eingaben
id
ID für den Mauszeiger oder Nil für die automatische ID-Zuweisung
type
Typ, von welchem die Quelldaten zu nehmen sind
...
Weitere Argumente; hängen vom angegebenen Typ ab (siehe oben)
Rückgabewerte
id
optional: ID des Mauszeigers; wird nur zurückgegeben, wenn Sie Nil in id weitergeben (siehe oben)
Beispiel
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.

Navigation zeigen