WarpPI/core/src/main/java/it/cavallium/warppi/gui/expression/ExtraMenu.java

41 lines
1.1 KiB
Java

package it.cavallium.warppi.gui.expression;
import java.io.Serializable;
import it.cavallium.warppi.event.KeyboardEventListener;
import it.cavallium.warppi.gui.expression.blocks.Block;
import it.cavallium.warppi.gui.graphicengine.GraphicEngine;
import it.cavallium.warppi.gui.graphicengine.Renderer;
public abstract class ExtraMenu<T extends Block> implements Serializable, KeyboardEventListener {
private static final long serialVersionUID = -6944683477814944299L;
public ExtraMenu(T block) {
this.block = block;
this.location = new int[] { 0, 0 };
this.width = 0;
this.height = 0;
}
public final T block;
protected int width;
protected int height;
protected int[] location;
public abstract void draw(GraphicEngine ge, Renderer r, Caret caret);
public abstract void open();
public abstract void close();
public boolean beforeRender(float delta, Caret caret) {
final int[] l = caret.getLastLocation();
final int[] cs = caret.getLastSize();
location[0] = l[0] - block.getWidth() / 2 - width / 2;
location[1] = l[1] + cs[1];
return false;
}
}