WarpPI/core/src/main/java/it/cavallium/warppi/gui/screens/SolveForXScreen.java

82 lines
2.9 KiB
Java
Raw Normal View History

package it.cavallium.warppi.gui.screens;
2016-09-02 20:32:37 +02:00
2019-02-27 23:29:03 +01:00
import it.cavallium.warppi.WarpPI;
import it.cavallium.warppi.device.display.DisplayOutputDevice;
import it.cavallium.warppi.StaticVars;
import it.cavallium.warppi.event.KeyPressedEvent;
2018-10-05 16:00:15 +02:00
import it.cavallium.warppi.gui.HistoryBehavior;
2016-09-02 20:32:37 +02:00
public class SolveForXScreen extends Screen {
2016-09-02 20:32:37 +02:00
@SuppressWarnings("unused")
private final MathInputScreen es;
2016-09-02 20:32:37 +02:00
2018-09-22 11:17:30 +02:00
public SolveForXScreen(final MathInputScreen es) {
2016-09-02 20:32:37 +02:00
super();
2018-10-05 16:00:15 +02:00
historyBehavior = HistoryBehavior.DONT_KEEP_IN_HISTORY;
2016-09-02 20:32:37 +02:00
this.es = es;
}
2016-09-02 20:32:37 +02:00
@Override
public void created() throws InterruptedException {}
2016-09-02 20:32:37 +02:00
@Override
2018-03-17 00:09:40 +01:00
public void initialized() throws InterruptedException {}
2016-09-02 20:32:37 +02:00
@Override
public void graphicInitialized() throws InterruptedException {}
2016-09-02 20:32:37 +02:00
@Override
public void render() {
DisplayOutputDevice display = d.display;
2019-02-27 23:29:03 +01:00
WarpPI.INSTANCE.getHardwareDevice().getDisplayManager().renderer.glColor4i(0, 0, 0, 64);
WarpPI.INSTANCE.getHardwareDevice().getDisplayManager().renderer.glDrawStringCenter(display.getDisplaySize()[0] / 2 + 1, display.getDisplaySize()[1] / 4, "WORK IN PROGRESS. THIS SCREEN MUST HAVE A GUI TO SELECT THE VARIABLE TO SOLVE.");
WarpPI.INSTANCE.getHardwareDevice().getDisplayManager().renderer.glDrawStringCenter(display.getDisplaySize()[0] / 2, display.getDisplaySize()[1] / 4 + 1, "WORK IN PROGRESS. THIS SCREEN MUST HAVE A GUI TO SELECT THE VARIABLE TO SOLVE.");
WarpPI.INSTANCE.getHardwareDevice().getDisplayManager().renderer.glDrawStringCenter(display.getDisplaySize()[0] / 2 + 1, display.getDisplaySize()[1] / 4 + 1, "WORK IN PROGRESS. THIS SCREEN MUST HAVE A GUI TO SELECT THE VARIABLE TO SOLVE.");
2019-02-27 23:29:03 +01:00
WarpPI.INSTANCE.getHardwareDevice().getDisplayManager().renderer.glColor3i(255, 0, 0);
WarpPI.INSTANCE.getHardwareDevice().getDisplayManager().renderer.glDrawStringCenter(display.getDisplaySize()[0] / 2, display.getDisplaySize()[1] / 4, "WORK IN PROGRESS. THIS SCREEN MUST HAVE A GUI TO SELECT THE VARIABLE TO SOLVE.");
2016-09-02 20:32:37 +02:00
}
@Override
2018-09-22 11:17:30 +02:00
public void beforeRender(final float dt) {
2016-09-02 20:32:37 +02:00
}
@Override
public boolean mustBeRefreshed() {
return true;
}
@Override
2018-09-22 11:17:30 +02:00
public boolean onKeyPressed(final KeyPressedEvent k) {
switch (k.getKey()) {
2016-09-02 20:32:37 +02:00
case LETTER_X:
2017-02-02 12:51:05 +01:00
//TODO: far funzionare questa parte
/*Engine.INSTANCE.getHardwareDevice().getDisplayManager().goBack();
2016-09-02 20:32:37 +02:00
try {
2017-01-17 22:32:40 +01:00
es.calc.solveExpression('X');
} catch (final Error e) {
final Screen scr = Engine.INSTANCE.getHardwareDevice().getDisplayManager().getScreen();
2016-12-04 22:22:16 +01:00
if (scr instanceof MathInputScreen) {
final MathInputScreen escr = (MathInputScreen) scr;
2016-09-02 20:32:37 +02:00
escr.errorLevel = 1;
2017-01-17 22:32:40 +01:00
//escr.err2 = e; //TODO: What is this variable, and why it doesn't exists?
2016-09-02 20:32:37 +02:00
} else {
e.printStackTrace();
}
}
2017-02-02 12:51:05 +01:00
*/
2016-09-02 20:32:37 +02:00
return true;
default:
return false;
}
}
2018-10-04 12:38:54 +02:00
@Override
public String getSessionTitle() {
return "Solve for X";
}
2016-09-02 20:32:37 +02:00
}