*/
package jexer.backend;
-import java.util.LinkedList;
+import java.util.ArrayList;
import java.util.List;
import jexer.bits.Cell;
/**
* The list of screens to use.
*/
- private List<Screen> screens = new LinkedList<Screen>();
+ private List<Screen> screens = new ArrayList<Screen>();
// ------------------------------------------------------------------------
// Constructors -----------------------------------------------------------
* @param ch character to draw
* @param attr attributes to use (bold, foreColor, backColor)
*/
- public void putAll(final char ch, final CellAttributes attr) {
+ public void putAll(final int ch, final CellAttributes attr) {
for (Screen screen: screens) {
screen.putAll(ch, attr);
}
* @param ch character to draw
* @param attr attributes to use (bold, foreColor, backColor)
*/
- public void putCharXY(final int x, final int y, final char ch,
+ public void putCharXY(final int x, final int y, final int ch,
final CellAttributes attr) {
for (Screen screen: screens) {
* @param y row coordinate. 0 is the top-most row.
* @param ch character to draw
*/
- public void putCharXY(final int x, final int y, final char ch) {
+ public void putCharXY(final int x, final int y, final int ch) {
for (Screen screen: screens) {
screen.putCharXY(x, y, ch);
}
* @param attr attributes to use (bold, foreColor, backColor)
*/
public void vLineXY(final int x, final int y, final int n,
- final char ch, final CellAttributes attr) {
+ final int ch, final CellAttributes attr) {
for (Screen screen: screens) {
screen.vLineXY(x, y, n, ch, attr);
* @param attr attributes to use (bold, foreColor, backColor)
*/
public void hLineXY(final int x, final int y, final int n,
- final char ch, final CellAttributes attr) {
+ final int ch, final CellAttributes attr) {
for (Screen screen: screens) {
screen.hLineXY(x, y, n, ch, attr);
public int getTextWidth() {
int textWidth = 16;
for (Screen screen: screens) {
- int newTextWidth = textWidth;
- if (screen instanceof MultiScreen) {
- newTextWidth = ((MultiScreen) screen).getTextWidth();
- } else if (screen instanceof ECMA48Terminal) {
- newTextWidth = ((ECMA48Terminal) screen).getTextWidth();
- } else if (screen instanceof SwingTerminal) {
- newTextWidth = ((SwingTerminal) screen).getTextWidth();
- }
+ int newTextWidth = screen.getTextWidth();
if (newTextWidth < textWidth) {
textWidth = newTextWidth;
}
public int getTextHeight() {
int textHeight = 20;
for (Screen screen: screens) {
- int newTextHeight = textHeight;
- if (screen instanceof MultiScreen) {
- newTextHeight = ((MultiScreen) screen).getTextHeight();
- } else if (screen instanceof ECMA48Terminal) {
- newTextHeight = ((ECMA48Terminal) screen).getTextHeight();
- } else if (screen instanceof SwingTerminal) {
- newTextHeight = ((SwingTerminal) screen).getTextHeight();
- }
+ int newTextHeight = screen.getTextHeight();
if (newTextHeight < textHeight) {
textHeight = newTextHeight;
}