X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fjexer%2Fbackend%2FECMA48Backend.java;h=3e588f992c209c7f6a0e45a2202cfccbf1dd9a22;hb=3e0743556d1f31723a11a6019b5c2b018b4b2104;hp=ee7a10374f0332ec05139a5f4bf42cf7f51580ea;hpb=42873e30bf487bc0b695d60652dba44f82185dbb;p=fanfix.git diff --git a/src/jexer/backend/ECMA48Backend.java b/src/jexer/backend/ECMA48Backend.java index ee7a103..3e588f9 100644 --- a/src/jexer/backend/ECMA48Backend.java +++ b/src/jexer/backend/ECMA48Backend.java @@ -33,9 +33,6 @@ import java.io.OutputStream; import java.io.PrintWriter; import java.io.Reader; import java.io.UnsupportedEncodingException; -import java.util.List; - -import jexer.event.TInputEvent; /** * This class uses an xterm/ANSI X3.64/ECMA-48 type terminal to provide a @@ -44,9 +41,16 @@ import jexer.event.TInputEvent; public final class ECMA48Backend extends GenericBackend { /** - * Input events are processed by this Terminal. + * Public constructor will use System.in and System.out and UTF-8 + * encoding. On non-Windows systems System.in will be put in raw mode; + * shutdown() will (blindly!) put System.in in cooked mode. + * + * @throws UnsupportedEncodingException if an exception is thrown when + * creating the InputStreamReader */ - private ECMA48Terminal terminal; + public ECMA48Backend() throws UnsupportedEncodingException { + this(null, null, null); + } /** * Public constructor. @@ -70,10 +74,10 @@ public final class ECMA48Backend extends GenericBackend { terminal = new ECMA48Terminal(listener, input, output); // Keep the terminal's sessionInfo so that TApplication can see it - sessionInfo = terminal.getSessionInfo(); + sessionInfo = ((ECMA48Terminal) terminal).getSessionInfo(); // ECMA48Terminal is the screen too - screen = terminal; + screen = (ECMA48Terminal) terminal; } /** @@ -99,10 +103,10 @@ public final class ECMA48Backend extends GenericBackend { setRawMode); // Keep the terminal's sessionInfo so that TApplication can see it - sessionInfo = terminal.getSessionInfo(); + sessionInfo = ((ECMA48Terminal) terminal).getSessionInfo(); // ECMA48Terminal is the screen too - screen = terminal; + screen = (ECMA48Terminal) terminal; } /** @@ -122,42 +126,5 @@ public final class ECMA48Backend extends GenericBackend { this(listener, input, reader, writer, false); } - /** - * Sync the logical screen to the physical device. - */ - @Override - public void flushScreen() { - screen.flushPhysical(); - } - - /** - * Get keyboard, mouse, and screen resize events. - * - * @param queue list to append new events to - */ - @Override - public void getEvents(final List queue) { - if (terminal.hasEvents()) { - terminal.getEvents(queue); - } - } - - /** - * Close the I/O, restore the console, etc. - */ - @Override - public void shutdown() { - terminal.closeTerminal(); - } - - /** - * Set the window title. - * - * @param title the new title - */ - @Override - public void setTitle(final String title) { - screen.setTitle(title); - } }