X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fjexer%2Fbackend%2FSwingBackend.java;h=8a342b604f8d438988df943c741b91f0d54b2f06;hb=8a1cae77d279cc246a68109f6178b2bb05e7471f;hp=acca7fa0b66c0e4d056e8b268d504b11de83f731;hpb=c447c6e5759db7ac9bbb05cc1b3618dd38230335;p=fanfix.git diff --git a/src/jexer/backend/SwingBackend.java b/src/jexer/backend/SwingBackend.java deleted file mode 100644 index acca7fa..0000000 --- a/src/jexer/backend/SwingBackend.java +++ /dev/null @@ -1,121 +0,0 @@ -/* - * Jexer - Java Text User Interface - * - * The MIT License (MIT) - * - * Copyright (C) 2017 Kevin Lamonte - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * @author Kevin Lamonte [kevin.lamonte@gmail.com] - * @version 1 - */ -package jexer.backend; - -import java.util.List; - -import jexer.event.TInputEvent; -import jexer.io.SwingScreen; -import jexer.io.SwingTerminal; - -/** - * This class uses standard Swing calls to handle screen, keyboard, and mouse - * I/O. - */ -public final class SwingBackend extends Backend { - - /** - * Input events are processed by this Terminal. - */ - private SwingTerminal terminal; - - /** - * Public constructor. The window will be 80x25 with font size 20 pts. - * - * @param listener the object this backend needs to wake up when new - * input comes in - */ - public SwingBackend(final Object listener) { - this(listener, 80, 25, 20); - } - - /** - * Public constructor. - * - * @param listener the object this backend needs to wake up when new - * input comes in - * @param windowWidth the number of text columns to start with - * @param windowHeight the number of text rows to start with - * @param fontSize the size in points. Good values to pick are: 16, 20, - * 22, and 24. - */ - public SwingBackend(final Object listener, final int windowWidth, - final int windowHeight, final int fontSize) { - - // Create a screen - SwingScreen screen = new SwingScreen(windowWidth, windowHeight, - fontSize); - this.screen = screen; - - // Create the Swing event listeners - terminal = new SwingTerminal(listener, screen); - - // Hang onto the session info - this.sessionInfo = terminal.getSessionInfo(); - } - - /** - * 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() { - ((SwingScreen) screen).shutdown(); - } - - /** - * Set the window title. - * - * @param title the new title - */ - @Override - public void setTitle(final String title) { - ((SwingScreen) screen).setTitle(title); - } - -}