package org.geogebra.desktop.euclidian.event;
import java.awt.event.KeyEvent;
import java.util.LinkedList;
import org.geogebra.desktop.main.AppD;
public class KeyEventD extends org.geogebra.common.euclidian.event.KeyEvent {
private static final LinkedList<KeyEventD> pool = new LinkedList<KeyEventD>();
private KeyEvent event;
public KeyEventD(KeyEvent e) {
this.event = e;
}
public static KeyEventD wrapEvent(KeyEvent e) {
if (!pool.isEmpty()) {
KeyEventD wrap = pool.getLast();
wrap.event = e;
pool.removeLast();
return wrap;
}
return new KeyEventD(e);
}
public void release() {
KeyEventD.pool.add(this);
}
@Override
public boolean isEnterKey() {
return event.getKeyChar() == '\n';
}
@Override
public boolean isCtrlDown() {
return AppD.isControlDown(event);
}
@Override
public boolean isAltDown() {
return AppD.isAltDown(event);
}
@Override
public char getCharCode() {
return event.getKeyChar();
}
@Override
public void preventDefault() {
event.consume();
}
}