2017-01-22 13:46:38 +01:00
|
|
|
package org.warp.picalculator.gui.screens;
|
2016-10-02 16:01:41 +02:00
|
|
|
|
2017-01-31 22:29:49 +01:00
|
|
|
import static org.warp.picalculator.gui.DisplayManager.colore;
|
|
|
|
import static org.warp.picalculator.gui.DisplayManager.fonts;
|
2016-10-02 16:01:41 +02:00
|
|
|
|
|
|
|
import org.warp.picalculator.Main;
|
|
|
|
import org.warp.picalculator.device.Keyboard.Key;
|
2017-01-31 22:29:49 +01:00
|
|
|
import org.warp.picalculator.gui.DisplayManager;
|
|
|
|
import org.warp.picalculator.gui.GraphicUtils;
|
2016-10-02 16:01:41 +02:00
|
|
|
|
|
|
|
public class LoadingScreen extends Screen {
|
|
|
|
|
|
|
|
public float endLoading;
|
|
|
|
boolean mustRefresh = true;
|
|
|
|
public float loadingTextTranslation = 0.0f;
|
|
|
|
private boolean loading;
|
2017-01-31 22:29:49 +01:00
|
|
|
private static final String titleString = "Andrea Cavalli's Algebraic Calculator";
|
2016-10-02 16:01:41 +02:00
|
|
|
|
|
|
|
public LoadingScreen() {
|
|
|
|
super();
|
|
|
|
canBeInHistory = false;
|
|
|
|
}
|
2017-01-31 22:29:49 +01:00
|
|
|
|
2016-10-02 16:01:41 +02:00
|
|
|
@Override
|
|
|
|
public void created() throws InterruptedException {
|
|
|
|
endLoading = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
2017-01-31 22:29:49 +01:00
|
|
|
public void init() throws InterruptedException {}
|
|
|
|
|
2016-10-02 16:01:41 +02:00
|
|
|
@Override
|
|
|
|
public void beforeRender(float dt) {
|
2017-01-31 22:29:49 +01:00
|
|
|
loadingTextTranslation = GraphicUtils.sinDeg(endLoading * 90f) * 10f;
|
2016-10-02 16:01:41 +02:00
|
|
|
|
|
|
|
endLoading += dt;
|
2017-01-31 22:29:49 +01:00
|
|
|
if (endLoading >= 5f) {
|
2016-10-02 16:01:41 +02:00
|
|
|
loading = false;
|
2017-01-31 22:29:49 +01:00
|
|
|
DisplayManager.INSTANCE.setScreen(new MathInputScreen());
|
2016-10-02 16:01:41 +02:00
|
|
|
}
|
|
|
|
mustRefresh = true;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void render() {
|
2017-01-31 22:29:49 +01:00
|
|
|
fonts[2].use(DisplayManager.display);
|
|
|
|
DisplayManager.renderer.glClearColor(0xFF000000);
|
|
|
|
DisplayManager.renderer.glClear(DisplayManager.display.getWidth(), DisplayManager.display.getWidth());
|
|
|
|
DisplayManager.renderer.glColor3i(230, 33, 23);
|
|
|
|
DisplayManager.renderer.glDrawStringCenter((Main.screenSize[0] / 2) - 1, (int) ((Main.screenSize[1] / 2) - 25 + loadingTextTranslation), titleString);
|
|
|
|
DisplayManager.renderer.glDrawStringCenter((Main.screenSize[0] / 2) - 2, (int) ((Main.screenSize[1] / 2) - 25 + loadingTextTranslation), titleString);
|
|
|
|
DisplayManager.renderer.glDrawStringCenter((Main.screenSize[0] / 2) + 1, (int) ((Main.screenSize[1] / 2) - 25 + loadingTextTranslation), titleString);
|
|
|
|
DisplayManager.renderer.glDrawStringCenter((Main.screenSize[0] / 2) + 2, (int) ((Main.screenSize[1] / 2) - 25 + loadingTextTranslation), titleString);
|
|
|
|
DisplayManager.renderer.glDrawStringCenter((Main.screenSize[0] / 2), (int) ((Main.screenSize[1] / 2) - 25 - 1 + loadingTextTranslation), titleString);
|
|
|
|
DisplayManager.renderer.glDrawStringCenter((Main.screenSize[0] / 2), (int) ((Main.screenSize[1] / 2) - 25 - 2 + loadingTextTranslation), titleString);
|
|
|
|
DisplayManager.renderer.glDrawStringCenter((Main.screenSize[0] / 2), (int) ((Main.screenSize[1] / 2) - 25 + 1 + loadingTextTranslation), titleString);
|
|
|
|
DisplayManager.renderer.glDrawStringCenter((Main.screenSize[0] / 2), (int) ((Main.screenSize[1] / 2) - 25 + 2 + loadingTextTranslation), titleString);
|
|
|
|
|
|
|
|
DisplayManager.renderer.glDrawStringCenter((Main.screenSize[0] / 2) + 1, (int) ((Main.screenSize[1] / 2) - 25 + 1 + loadingTextTranslation), titleString);
|
|
|
|
DisplayManager.renderer.glDrawStringCenter((Main.screenSize[0] / 2) - 1, (int) ((Main.screenSize[1] / 2) - 25 + 1 + loadingTextTranslation), titleString);
|
|
|
|
DisplayManager.renderer.glDrawStringCenter((Main.screenSize[0] / 2) - 1, (int) ((Main.screenSize[1] / 2) - 25 - 1 + loadingTextTranslation), titleString);
|
|
|
|
DisplayManager.renderer.glDrawStringCenter((Main.screenSize[0] / 2) + 1, (int) ((Main.screenSize[1] / 2) - 25 - 1 + loadingTextTranslation), titleString);
|
|
|
|
DisplayManager.renderer.glColor3i(255, 255, 255);
|
|
|
|
DisplayManager.renderer.glDrawStringCenter((Main.screenSize[0] / 2), (int) ((Main.screenSize[1] / 2) - 25 + loadingTextTranslation), titleString);
|
|
|
|
DisplayManager.renderer.glColor4f(0.0f, 0.0f, 0.0f, 0.75f);
|
|
|
|
fonts[0].use(DisplayManager.display);
|
|
|
|
DisplayManager.renderer.glDrawStringCenter((Main.screenSize[0] / 2), (Main.screenSize[1] / 2) + 11, "LOADING");
|
|
|
|
fonts[1].use(DisplayManager.display);
|
|
|
|
DisplayManager.renderer.glColor4f(0.0f, 0.0f, 0.0f, 0.5f);
|
|
|
|
DisplayManager.renderer.glDrawStringCenter((Main.screenSize[0] / 2), (Main.screenSize[1] / 2) + 22, "PLEASE WAIT...");
|
|
|
|
|
2016-10-02 16:01:41 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public boolean mustBeRefreshed() {
|
|
|
|
if (mustRefresh) {
|
|
|
|
mustRefresh = false;
|
|
|
|
return true;
|
|
|
|
} else {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public boolean keyPressed(Key k) {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public boolean keyReleased(Key k) {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|