Il posizionamento dei blocchi viene fatto con Mouse e Tastiera.
Con la tastiera sono abilitati i tasti SU,GIU,DESTRA,SINISTRA che spostano di una casella griglia ogni pressione.
Se tenuto premuto: continua a muovere
Trascinamento:
- Mouse spostato su un blocco, lui si illumina
- Mouse premuto su un blocco (salva x,y relativa al blocco, per spostamento centrato) inizia trascinamento
- Mouse trasciato, il blocco è illuminato e mezzo trasparente (g.setComposite(alpha...) prima di disegnare il blocco selezionato) e le freccie si aggiornano dasole
- Esc premuto o mouse fuori da portata, reset e torna dove eri
- Mouse lasciato, il blocco prende la posizione e finisce trascinamento
Se ALT è premuto: muovi di un pixel per volta (qualc tipo: moveAmount = gridSize o 1)
Con il mouse si spostano seguendo i punti della griglia (se invece si preme ALT si sposta liberamente)
Opzione allineamento:
- in alto: tutte quelli selezionati prendono y = min(tutte le y selezionate)
- in basso: tutte quelli selezionati prendono y + height = max(tutte le y+height selezionate)
- a sinsitra: tutte quelli selezionati prendono x = min(tutte le x selezionate)
- a destra: tutti quelli selezionati prendono x + width = max(tutte le x+width selezionate)