You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
1.5 KiB
67 lines
1.5 KiB
11 years ago
|
package mightypork.rogue.screens;
|
||
|
|
||
|
|
||
11 years ago
|
import mightypork.gamecore.control.AppAccess;
|
||
11 years ago
|
import mightypork.gamecore.gui.AlignX;
|
||
11 years ago
|
import mightypork.gamecore.gui.components.painters.TextPainter;
|
||
11 years ago
|
import mightypork.gamecore.gui.screens.Overlay;
|
||
11 years ago
|
import mightypork.gamecore.input.KeyStroke;
|
||
|
import mightypork.gamecore.input.Keys;
|
||
11 years ago
|
import mightypork.gamecore.render.fonts.GLFont;
|
||
11 years ago
|
import mightypork.rogue.Res;
|
||
11 years ago
|
import mightypork.util.constraints.num.Num;
|
||
11 years ago
|
import mightypork.util.constraints.rect.proxy.RectBound;
|
||
|
import mightypork.util.constraints.vect.Vect;
|
||
11 years ago
|
import mightypork.util.control.Action;
|
||
|
import mightypork.util.math.color.Color;
|
||
|
import mightypork.util.string.StringProvider;
|
||
11 years ago
|
|
||
|
|
||
11 years ago
|
public class FpsOverlay extends Overlay {
|
||
11 years ago
|
|
||
|
TextPainter tp;
|
||
|
|
||
|
|
||
11 years ago
|
public FpsOverlay(AppAccess screen) {
|
||
11 years ago
|
super(screen);
|
||
|
|
||
11 years ago
|
/*
|
||
|
* Toggle key: F3
|
||
|
*/
|
||
11 years ago
|
bindKey(new KeyStroke(Keys.F3), new Action() {
|
||
11 years ago
|
|
||
|
@Override
|
||
11 years ago
|
public void execute()
|
||
11 years ago
|
{
|
||
11 years ago
|
setVisible(!isVisible());
|
||
11 years ago
|
}
|
||
11 years ago
|
});
|
||
11 years ago
|
|
||
|
final GLFont font = Res.getFont("default");
|
||
11 years ago
|
|
||
11 years ago
|
final Num h = root.height();
|
||
|
final RectBound constraint = root.shrink(h.perc(3)).topRight().startRect().growDown(h.perc(8).max(32));
|
||
11 years ago
|
|
||
11 years ago
|
tp = new TextPainter(font, AlignX.RIGHT, Color.WHITE, new StringProvider() {
|
||
11 years ago
|
|
||
|
@Override
|
||
|
public String getString()
|
||
|
{
|
||
|
return getDisplay().getFps() + " fps";
|
||
|
}
|
||
|
});
|
||
11 years ago
|
|
||
11 years ago
|
tp.setRect(constraint);
|
||
11 years ago
|
tp.setShadow(Color.BLACK, Vect.make(tp.height().div(16)));
|
||
11 years ago
|
|
||
11 years ago
|
root.add(tp);
|
||
11 years ago
|
}
|
||
|
|
||
11 years ago
|
|
||
11 years ago
|
@Override
|
||
|
public int getPriority()
|
||
|
{
|
||
|
return Integer.MAX_VALUE;
|
||
|
}
|
||
|
}
|