cds.aladin
Class Blink

java.lang.Object
  extended by cds.aladin.Blink

public final class Blink
extends java.lang.Object

Le blinking consiste à désigner une source pour la repérer aisément. La méthode consiste à faire des XOR de carrés de plus en plus grands puis de repasser dessus afin de les effacer. L'intérêt de la méthode est qu'il est inutile de mémoriser ce qu'il y a sous la source pour restituer la source après l'avoir montrée. Sa difficulté consiste à faire un nombre pair de XOR, malgré les affichages asynchrones. 1. La souris rentre dans une source dans la vue n (ou respectivement en sort) - appel à la fonction View.showSource(Source s) qui va transmettre à toutes les vues que la nouvelle source à montrer est s (s null si sort d'une source) => ViewSimple.changeBlinkSource(Source s) - Lance le thread de blinking si ce n'est déjà fait, sinon lui passe une interruption afin que la prise en compte soi immédiate. 2. Thread de blinking (View.runC()) - incrémente le mode blink (View.modeBlink) - demande le repaint (blinkRepaint()) pour toutes les vues qui ont quelques choses à faire (au-moins une source à montrer ou à restituer) - si aucune, s'arrête sinon attend 0.3 secondes et boucle 3. La modification d'une source à montrer pour une vue - cherche dans sa liste de Blinks, toutes les sources qu'il faut restituer et en fait la demande - si dans la liste de Blinks (ViewSimple.showSource) dont il dispose il y a un Blink libre, il l'utilise pour insérer la nouvelle source à montrer et demande son clignotement - s'il n'y a plus de place dans la liste des Blinks, il ajoute un nouveau Blink décrivant la nouvelle source à montrer 3. Le repaint des vues en mode blink - restitue ou montre les sources qui doivent l'être (parcours du Vector showSource contenant des objets Blink 4. Le paint d'un blink - Un Blink dispose de 4 états (UNBLINK,START,BLINK et STOP) START et STOP peuvent être demandé par start() et stop() UNBLINK correspond à un Blink libre BLINK correspond à l'état de clignotement - L'état d'un blink change de fait uniquement lors de l'appel à paint(Graphics g) car il doit disposer du contexte graphique pour opérer. *

Version:
1.0 : (11 mai 2004) création
Author:
Pierre Fernique [CDS]

Method Summary
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 



Copyright © 2009 UDS/CNRS