PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Positionsbestimmung von Fonts bei Canvas...



Lin728
20-11-2002, 21:26
Servus!

Wie kann man z.B. herrausfinden, bei welcher Position ein link ist. Wird z.B. die Maus über einen Link bewegt, muss ich ja irgendwo her wissen, auchtung das rechteck sowieso fängt bei koordinate soweiso an und ist ein link..
Wie kriegt man sowas denn raus, weiß wer wie das die großen Libs wie Mozilla oder KHTML machen?
Natürlich kann ich irgendwie umständliche Font-Längenberechnungen machen, und bei jeder Mausänderung neu fragen, ob der Punkt ein Link ist, aber naja, was würde euch dazu einfallen?

Wie würdet ihr das organisieren, dass ich z.B. bei einem Mouse-Over Effekt nicht immer das ganze Bild neu zeichnen muss, sondern nur den bereich wo das Bild drinnen ist?
Mfg

anda_skoa
20-11-2002, 22:22
Du könntest dir von allen gerenderten Objekten ein umschreibendes Rechteck merken.

Wenn die Mouse bewegt wird macht du es so.
Beim ersten Mal.
Das Rechteck suchen, in dem der Cursor ist.
Checken ob es ein Link ist.
Wenn ja, Rechteck merken.

Wenn sich die Mouse wieder bewegt, kannst du dann zuerst checken, ob sie noch im aktuellen Recheck ist und erste wenn sie raus fährt, neu suchen.

Beim Zeichen so ähnlich.
Alle Elemente neu zeichen, deren Rechtecke zumindest teilweise sichtbar sind, d.h. deren Rechtecke geschnitten mit dem sichtbaren Bereich eine Schnittmenge > 0 haben.

Siehe zB java.awt.Rectangle.
contains
intersects.

Ciao,
_