Die ptr-Makros bieten folgende Möglichkeiten:
Demonstration von Interkationen mit Bildern
Jedes Bild auf einer Wiki-Seite wird als Basisbild bezeichnet und erhält intern eine Nummer (BildID) zugewiesen, unter welcher es mit den ptr-Makros referenziert werden kann. Das erste Basisbild einer Seite hat immer die Nummer 0. Die Bilder können aber auch explizit mit einer ID versehen werden, was im Zusammenhang mit Makros empfohlen wird.
Jede Ausschnittsvergrösserung und jede Markierung erhält einen Namen, der innerhalb eines Basisbildes oder HTML-Elementes eindeutig sein muss. Unter diesen Namen können die Vergrösserungen und die Markierungen in den ptr Makros referenziert werden.
Für Beispiele siehe Tutorial Interaktionen
Nachfolgend werden die einzelnen ptr-Makros detailliert beschrieben. Es gibt 4 ptr-Makros:
{{ptr def|BildID:Ptr-Name|Pic-Name|Top,Left,Width,Height|Text}}
oder
{{ptr def|$ID:Ptr-Name|Top,Left,Width,Height|Text}}
Definiert eine rechteckige Markierung für ein Bild oder HTML-Element.
Text kann auch als Hot-Link ausgezeichnet werden und zwar sowohl als Wiki-Link, als auch als externer Link. Dazu muss Text in entsprechende eckige Klammern gesetzt werden. Es gelten die allgemeinen Regeln für Links.
Wird Text als Link ausgezeichnet, wird der oben angegebene Bereich als Rechteck eingeblendet, sobald der Mauszeiger ins Bild bewegt wird. Das Rechteck wird zu einem Hot-Link. Das heisst, wenn der Benutzer in das Rechteck klickt, wird zur entsprechenden (Wiki)-Seite gesprungen. Wenn du einen unbeschrifteten Hot-Link erzeugen willst, musst du als Text einen Doppelpunkt verwenden: [[Link|:]].
Siehe auch Spezielle Hot-Link-Aktionen
Beispiele
[[Bild:Synapse.jpg|id=Syn|300px|framed|Synapse]] {{ptr pic|Syn:Zoom|SynapseZoom.jpg|172,118,125,129}} {{ptr def|Syn:V|75,151,45,45|Vesikel}} {{ptr def|Syn:R|45,125,12,43|[[Rezeptor|5HT-Rezeptor]]}} {{ptr def|Syn:NT|Zoom|38,114,8,8|[[Neurotransmitter]]}}
{{ptr pic|BildID:Pic-Name|Bild-URL|Top,Left,Width,Height|Text}} {{ptr apic|BildID:Pic-Name|Bild-URL|Top,Left,Width,Height|Text}}
Bindet ein Vergrösserungsbild (ptr pic) oder ein alternatives Bild (ptr apic) ein. Der Unterschied liegt in der Art, wie die Markierung animiert wird. Ein Vergrösserungsbild zeigt ja immer einen Ausschnitt eines Basisbildes an, hat also eine optische Beziehung zum Basisbild, während ein beliebiges anderes Bild diese Beziehung nicht hat und daher auch die Markierung unabhängig vom Basisbild animiert werden muss. Du musst dich nicht weiter verwirren lassen, verwende einfach ptr pic, wenn das einzubindende Bild einen Ausschnitt aus dem Basisbild darstellt, andernfalls verwendest du ptr apic.
Beispiele
Unter Verwendung einer Bild-ID NTBild
[[Bild:NT.jpg|id=NTBild|300px|framed|Neurotransmitter]] {{ptr pic|NTBild:Zoom|NTZoom.jpg|172,118,125,129|Zoom}}
Ohne explizite BildID: die folgenden Beispiele sind alle gleichbedeutend:
[[Bild:NT.jpg|300px|framed|Neurotransmitter]] {{ptr pic|0:NTZoom|NTZoom.jpg|172,118,125,129|Zoom}} {{ptr pic|NTZoom|NTZoom.jpg|172,118,125,129|Zoom}} {{ptr pic|NTZoom.jpg|172,118,125,129|Zoom}}
{{ptr|BildIDs:Ptr-Namen|Linktext}} {{ptr link|BildIDs:Ptr-Namen|Linktext}}
Erzeugt einen Link, der beim Anklicken die entsprechende Markierung einblendet und dabei nötigenfalls auch zugehörige Vergrösserungsbilder einzoomt.
Das Makro ptr wird wie eine kleine Schaltfläche dargestellt, während das Makro ptr link wie ein normaler Link angezeigt wird.
Es kann eine Reihe von Markierungen mit einem Makro aktiviert werden. Die verschiedenen BildIDs/Ptr-Namen Paare müssen durch ; von einander getrennt werden.
Spiezialfälle:
Beispiele
[[Bild:ControlStand.jpg|id=CS|300px|framed|Control Stand]] {{ptr|CS:|Control Stand}} zeigt Basisbild ohne Marker {{ptr|CS:PicSchubhebel|Schubhebel}} zeigt Bild PicSchubhebel ohne Marker {{ptr|CS:AT|A/T Disengage}} zeigt Schubhebel mit Markierung AT
Mehrere Markierungen hintereinander automatisch abrufen:
{{ptr|PID:mark1,mark2,mark3|Irgendwas}}
Wie oben, aber als letzten Schritt die Markierung wieder auf das ganze Bild setzen:
{{ptr|PID:mark1,mark2,mark3,|Irgendwas}}
Je eine Markierung auf zwei Bildern gleichzeitig anzeigen (setzt voraus, dass für beide Basisbilder eine Markierung mit dem selben Namen definiert worden ist):
{{ptr|PID1,PID2:Mark|Irgendwas}}
Mehrere Absätze gleichzeitig Markieren:
{{div|id=Teil1}} Text {{end div}} : {{div|id=Teil2}} Text {{end div}} {{ptr def|$Teil1:A|-1|Absatz 1}} {{ptr def|$Teil2:B|-1|Absatz 2}} {{ptr|$Teil1:A;$Teil2:B|Absätze markieren}}
Die Makros ptr def und ptr pic sind weit flexibler, als dass nur zu einer Seite gesprungen werden kann, wenn ein Bereich in einem Bild angeklickt wird. Du kannst als Link ein ptr- oder sel-Makro oder sogar JavaScript-Code ausfüren.
Die Gross-/Kleinschreibung der Keywörter sel, ptr und JavaScript wird nicht beachtet.
Beispiel für das Ausführen eines ptr-Makros
{{ptr def|Syn:V|75,151,45,45|[[#ptr=Syn:R|Vesikel]]}} {{ptr def|Syn:R|45,125,12,43|Rezeptor}}
Im Beispiel wird als Link #ptr=Syn:R angegeben. Dies hat dieselbe Wirkung wie das Makro {{ptr|Syn:R|...}} und wird ausgelöst, wenn der entsprechende Bildbereich angeklickt wird. In diesem Beispiel wird beim Anklicken des Vesikels der Rezeptor markiert.
Beispiel für das Ausführen eines sel-Makros
{{ptr def|Syn:V|75,151,45,45|[[#sel=Brain:Ventrikel|Vesikel]]}}
Im Beispiel wird als Link #sel=Brain:Ventrikel angegeben. Dies hat dieselbe Wirkung wie das Makro {{sel|Brain:Ventrikel|...}} und wird ausgelöst, wenn der entsprechende Bildbereich angeklickt wird. So kannst du durch Anklicken von Bildbereichen Seitenelemente ein- und ausblenden (siehe Makro: sel).
Beispiel für beliebigen JavaScript-Code
{{ptr def|Syn:V|75,151,45,45|Vesikel|[[#JavaScript=alert('Ventrikel geklickt')|Klick mich]]}}
Im Beispiel wird als Link #JavaScript=alert('Ventrikel geklickt') angegeben. Sobald du in den entsprechenden Bildbereich klickst, wird das JavaScript ausgeführt. In diesem Fall wird eine Alert-Box mit der Meldung «Ventrikel geklickt» angezeigt.
Die Darstellung des Rahmens und Textes können geändert werden:
Der Text Style kann mit CSS verändert werden, indem der Standardwert mit dem Attribut !important überschrieben wird:
<style> #HotSpotText { font-size: bigger !important; padding: 3px !important; background-color: #00f !important; border: 1px solid black !important; } </style>
Der Style des Rahmens kann geändert werden, indem eine entsprechende globale Variable definiert wird, deren Wert übernommen wird, sobald die Pointer Objekte erzeugt werden (sobald die Seite erstellt ist):
<jscript> HotSpotsFrameStyles = [ '2px solid #bbf', '2px solid #00f', '2px solid #00f' ]; </jscript>
Wenn man Bilder tum Beispiel mit den Tabs-Makros übereinander legt, so dass von einem Bild zum nächsten gewechselt werden kann, werden die Pointer nicht automatisch deaktiviert wenn ein anderes Bild ausgewählt wird. Man kann mit mit Javascript erzwingen, dass die Pointer deaktiviert werden, wenn ein Bild mit definierten Pointern unsichtbar wird:
<jscript> function SelectObsTab( ix ) { Tabs.Select( 'ObsTabs', ix ); // pointer deaktivieren, wenn ein anderer Tab als 0 gewählt wird if (ix > 0) HotSpots.Finish(); } </jscript>