X-Git-Url: http://git.nikiroo.be/?p=jvcard.git;a=blobdiff_plain;f=src%2Fcom%2Fgooglecode%2Flanterna%2Fterminal%2Fswing%2FTerminalEmulatorPalette.java;fp=src%2Fcom%2Fgooglecode%2Flanterna%2Fterminal%2Fswing%2FTerminalEmulatorPalette.java;h=0000000000000000000000000000000000000000;hp=efc64dcefefbedd0b07f0dd03f445c18bb915bc2;hb=f06c81000632cfb5f525ca458f719338f55f9f66;hpb=a73a906356c971b080c36368e71a15d87e8b8d31 diff --git a/src/com/googlecode/lanterna/terminal/swing/TerminalEmulatorPalette.java b/src/com/googlecode/lanterna/terminal/swing/TerminalEmulatorPalette.java deleted file mode 100644 index efc64dc..0000000 --- a/src/com/googlecode/lanterna/terminal/swing/TerminalEmulatorPalette.java +++ /dev/null @@ -1,448 +0,0 @@ -/* - * This file is part of lanterna (http://code.google.com/p/lanterna/). - * - * lanterna is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - * - * Copyright (C) 2010-2015 Martin - */ - -package com.googlecode.lanterna.terminal.swing; - -import com.googlecode.lanterna.TextColor; -import java.awt.Color; - -/** - * This class specifies the palette of colors the terminal will use for the normally available 8 + 1 ANSI colors but - * also their 'bright' versions with are normally enabled through bold mode. There are several palettes available, all - * based on popular terminal emulators. All colors are defined in the AWT format. - * @author Martin - */ -@SuppressWarnings("WeakerAccess") -public class TerminalEmulatorPalette { - /** - * Values taken from gnome-terminal on Ubuntu - */ - public static final TerminalEmulatorPalette GNOME_TERMINAL = - new TerminalEmulatorPalette( - new java.awt.Color(211, 215, 207), - new java.awt.Color(238, 238, 236), - new java.awt.Color(46, 52, 54), - new java.awt.Color(46, 52, 54), - new java.awt.Color(85, 87, 83), - new java.awt.Color(204, 0, 0), - new java.awt.Color(239, 41, 41), - new java.awt.Color(78, 154, 6), - new java.awt.Color(138, 226, 52), - new java.awt.Color(196, 160, 0), - new java.awt.Color(252, 233, 79), - new java.awt.Color(52, 101, 164), - new java.awt.Color(114, 159, 207), - new java.awt.Color(117, 80, 123), - new java.awt.Color(173, 127, 168), - new java.awt.Color(6, 152, 154), - new java.awt.Color(52, 226, 226), - new java.awt.Color(211, 215, 207), - new java.awt.Color(238, 238, 236)); - - /** - * Values taken from - * wikipedia, these are supposed to be the standard VGA palette. - */ - public static final TerminalEmulatorPalette STANDARD_VGA = - new TerminalEmulatorPalette( - new java.awt.Color(170, 170, 170), - new java.awt.Color(255, 255, 255), - new java.awt.Color(0, 0, 0), - new java.awt.Color(0, 0, 0), - new java.awt.Color(85, 85, 85), - new java.awt.Color(170, 0, 0), - new java.awt.Color(255, 85, 85), - new java.awt.Color(0, 170, 0), - new java.awt.Color(85, 255, 85), - new java.awt.Color(170, 85, 0), - new java.awt.Color(255, 255, 85), - new java.awt.Color(0, 0, 170), - new java.awt.Color(85, 85, 255), - new java.awt.Color(170, 0, 170), - new java.awt.Color(255, 85, 255), - new java.awt.Color(0, 170, 170), - new java.awt.Color(85, 255, 255), - new java.awt.Color(170, 170, 170), - new java.awt.Color(255, 255, 255)); - - /** - * Values taken from - * wikipedia, these are supposed to be what Windows XP cmd is using. - */ - public static final TerminalEmulatorPalette WINDOWS_XP_COMMAND_PROMPT = - new TerminalEmulatorPalette( - new java.awt.Color(192, 192, 192), - new java.awt.Color(255, 255, 255), - new java.awt.Color(0, 0, 0), - new java.awt.Color(0, 0, 0), - new java.awt.Color(128, 128, 128), - new java.awt.Color(128, 0, 0), - new java.awt.Color(255, 0, 0), - new java.awt.Color(0, 128, 0), - new java.awt.Color(0, 255, 0), - new java.awt.Color(128, 128, 0), - new java.awt.Color(255, 255, 0), - new java.awt.Color(0, 0, 128), - new java.awt.Color(0, 0, 255), - new java.awt.Color(128, 0, 128), - new java.awt.Color(255, 0, 255), - new java.awt.Color(0, 128, 128), - new java.awt.Color(0, 255, 255), - new java.awt.Color(192, 192, 192), - new java.awt.Color(255, 255, 255)); - - /** - * Values taken from - * wikipedia, these are supposed to be what terminal.app on MacOSX is using. - */ - public static final TerminalEmulatorPalette MAC_OS_X_TERMINAL_APP = - new TerminalEmulatorPalette( - new java.awt.Color(203, 204, 205), - new java.awt.Color(233, 235, 235), - new java.awt.Color(0, 0, 0), - new java.awt.Color(0, 0, 0), - new java.awt.Color(129, 131, 131), - new java.awt.Color(194, 54, 33), - new java.awt.Color(252,57,31), - new java.awt.Color(37, 188, 36), - new java.awt.Color(49, 231, 34), - new java.awt.Color(173, 173, 39), - new java.awt.Color(234, 236, 35), - new java.awt.Color(73, 46, 225), - new java.awt.Color(88, 51, 255), - new java.awt.Color(211, 56, 211), - new java.awt.Color(249, 53, 248), - new java.awt.Color(51, 187, 200), - new java.awt.Color(20, 240, 240), - new java.awt.Color(203, 204, 205), - new java.awt.Color(233, 235, 235)); - - /** - * Values taken from - * wikipedia, these are supposed to be what putty is using. - */ - public static final TerminalEmulatorPalette PUTTY = - new TerminalEmulatorPalette( - new java.awt.Color(187, 187, 187), - new java.awt.Color(255, 255, 255), - new java.awt.Color(0, 0, 0), - new java.awt.Color(0, 0, 0), - new java.awt.Color(85, 85, 85), - new java.awt.Color(187, 0, 0), - new java.awt.Color(255, 85, 85), - new java.awt.Color(0, 187, 0), - new java.awt.Color(85, 255, 85), - new java.awt.Color(187, 187, 0), - new java.awt.Color(255, 255, 85), - new java.awt.Color(0, 0, 187), - new java.awt.Color(85, 85, 255), - new java.awt.Color(187, 0, 187), - new java.awt.Color(255, 85, 255), - new java.awt.Color(0, 187, 187), - new java.awt.Color(85, 255, 255), - new java.awt.Color(187, 187, 187), - new java.awt.Color(255, 255, 255)); - - /** - * Values taken from - * wikipedia, these are supposed to be what xterm is using. - */ - public static final TerminalEmulatorPalette XTERM = - new TerminalEmulatorPalette( - new java.awt.Color(229, 229, 229), - new java.awt.Color(255, 255, 255), - new java.awt.Color(0, 0, 0), - new java.awt.Color(0, 0, 0), - new java.awt.Color(127, 127, 127), - new java.awt.Color(205, 0, 0), - new java.awt.Color(255, 0, 0), - new java.awt.Color(0, 205, 0), - new java.awt.Color(0, 255, 0), - new java.awt.Color(205, 205, 0), - new java.awt.Color(255, 255, 0), - new java.awt.Color(0, 0, 238), - new java.awt.Color(92, 92, 255), - new java.awt.Color(205, 0, 205), - new java.awt.Color(255, 0, 255), - new java.awt.Color(0, 205, 205), - new java.awt.Color(0, 255, 255), - new java.awt.Color(229, 229, 229), - new java.awt.Color(255, 255, 255)); - - /** - * Default colors the SwingTerminal is using if you don't specify anything - */ - public static final TerminalEmulatorPalette DEFAULT = GNOME_TERMINAL; - - private final Color defaultColor; - private final Color defaultBrightColor; - private final Color defaultBackgroundColor; - private final Color normalBlack; - private final Color brightBlack; - private final Color normalRed; - private final Color brightRed; - private final Color normalGreen; - private final Color brightGreen; - private final Color normalYellow; - private final Color brightYellow; - private final Color normalBlue; - private final Color brightBlue; - private final Color normalMagenta; - private final Color brightMagenta; - private final Color normalCyan; - private final Color brightCyan; - private final Color normalWhite; - private final Color brightWhite; - - /** - * Creates a new palette with all colors specified up-front - * @param defaultColor Default color which no specific color has been selected - * @param defaultBrightColor Default color which no specific color has been selected but bold is enabled - * @param defaultBackgroundColor Default color to use for the background when no specific color has been selected - * @param normalBlack Color for normal black - * @param brightBlack Color for bright black - * @param normalRed Color for normal red - * @param brightRed Color for bright red - * @param normalGreen Color for normal green - * @param brightGreen Color for bright green - * @param normalYellow Color for normal yellow - * @param brightYellow Color for bright yellow - * @param normalBlue Color for normal blue - * @param brightBlue Color for bright blue - * @param normalMagenta Color for normal magenta - * @param brightMagenta Color for bright magenta - * @param normalCyan Color for normal cyan - * @param brightCyan Color for bright cyan - * @param normalWhite Color for normal white - * @param brightWhite Color for bright white - */ - public TerminalEmulatorPalette( - Color defaultColor, - Color defaultBrightColor, - Color defaultBackgroundColor, - Color normalBlack, - Color brightBlack, - Color normalRed, - Color brightRed, - Color normalGreen, - Color brightGreen, - Color normalYellow, - Color brightYellow, - Color normalBlue, - Color brightBlue, - Color normalMagenta, - Color brightMagenta, - Color normalCyan, - Color brightCyan, - Color normalWhite, - Color brightWhite) { - this.defaultColor = defaultColor; - this.defaultBrightColor = defaultBrightColor; - this.defaultBackgroundColor = defaultBackgroundColor; - this.normalBlack = normalBlack; - this.brightBlack = brightBlack; - this.normalRed = normalRed; - this.brightRed = brightRed; - this.normalGreen = normalGreen; - this.brightGreen = brightGreen; - this.normalYellow = normalYellow; - this.brightYellow = brightYellow; - this.normalBlue = normalBlue; - this.brightBlue = brightBlue; - this.normalMagenta = normalMagenta; - this.brightMagenta = brightMagenta; - this.normalCyan = normalCyan; - this.brightCyan = brightCyan; - this.normalWhite = normalWhite; - this.brightWhite = brightWhite; - } - - /** - * Returns the AWT color from this palette given an ANSI color and two hints for if we are looking for a background - * color and if we want to use the bright version. - * @param color Which ANSI color we want to extract - * @param isForeground Is this color we extract going to be used as a background color? - * @param useBrightTones If true, we should return the bright version of the color - * @return AWT color extracted from this palette for the input parameters - */ - public Color get(TextColor.ANSI color, boolean isForeground, boolean useBrightTones) { - if(useBrightTones) { - switch(color) { - case BLACK: - return brightBlack; - case BLUE: - return brightBlue; - case CYAN: - return brightCyan; - case DEFAULT: - return isForeground ? defaultBrightColor : defaultBackgroundColor; - case GREEN: - return brightGreen; - case MAGENTA: - return brightMagenta; - case RED: - return brightRed; - case WHITE: - return brightWhite; - case YELLOW: - return brightYellow; - } - } - else { - switch(color) { - case BLACK: - return normalBlack; - case BLUE: - return normalBlue; - case CYAN: - return normalCyan; - case DEFAULT: - return isForeground ? defaultColor : defaultBackgroundColor; - case GREEN: - return normalGreen; - case MAGENTA: - return normalMagenta; - case RED: - return normalRed; - case WHITE: - return normalWhite; - case YELLOW: - return normalYellow; - } - } - throw new IllegalArgumentException("Unknown text color " + color); - } - - @SuppressWarnings({"SimplifiableIfStatement", "ConstantConditions"}) - @Override - public boolean equals(Object obj) { - if(obj == null) { - return false; - } - if(getClass() != obj.getClass()) { - return false; - } - final TerminalEmulatorPalette other = (TerminalEmulatorPalette) obj; - if(this.defaultColor != other.defaultColor && (this.defaultColor == null || !this.defaultColor.equals(other.defaultColor))) { - return false; - } - if(this.defaultBrightColor != other.defaultBrightColor && (this.defaultBrightColor == null || !this.defaultBrightColor.equals(other.defaultBrightColor))) { - return false; - } - if(this.defaultBackgroundColor != other.defaultBackgroundColor && (this.defaultBackgroundColor == null || !this.defaultBackgroundColor.equals(other.defaultBackgroundColor))) { - return false; - } - if(this.normalBlack != other.normalBlack && (this.normalBlack == null || !this.normalBlack.equals(other.normalBlack))) { - return false; - } - if(this.brightBlack != other.brightBlack && (this.brightBlack == null || !this.brightBlack.equals(other.brightBlack))) { - return false; - } - if(this.normalRed != other.normalRed && (this.normalRed == null || !this.normalRed.equals(other.normalRed))) { - return false; - } - if(this.brightRed != other.brightRed && (this.brightRed == null || !this.brightRed.equals(other.brightRed))) { - return false; - } - if(this.normalGreen != other.normalGreen && (this.normalGreen == null || !this.normalGreen.equals(other.normalGreen))) { - return false; - } - if(this.brightGreen != other.brightGreen && (this.brightGreen == null || !this.brightGreen.equals(other.brightGreen))) { - return false; - } - if(this.normalYellow != other.normalYellow && (this.normalYellow == null || !this.normalYellow.equals(other.normalYellow))) { - return false; - } - if(this.brightYellow != other.brightYellow && (this.brightYellow == null || !this.brightYellow.equals(other.brightYellow))) { - return false; - } - if(this.normalBlue != other.normalBlue && (this.normalBlue == null || !this.normalBlue.equals(other.normalBlue))) { - return false; - } - if(this.brightBlue != other.brightBlue && (this.brightBlue == null || !this.brightBlue.equals(other.brightBlue))) { - return false; - } - if(this.normalMagenta != other.normalMagenta && (this.normalMagenta == null || !this.normalMagenta.equals(other.normalMagenta))) { - return false; - } - if(this.brightMagenta != other.brightMagenta && (this.brightMagenta == null || !this.brightMagenta.equals(other.brightMagenta))) { - return false; - } - if(this.normalCyan != other.normalCyan && (this.normalCyan == null || !this.normalCyan.equals(other.normalCyan))) { - return false; - } - if(this.brightCyan != other.brightCyan && (this.brightCyan == null || !this.brightCyan.equals(other.brightCyan))) { - return false; - } - if(this.normalWhite != other.normalWhite && (this.normalWhite == null || !this.normalWhite.equals(other.normalWhite))) { - return false; - } - return !(this.brightWhite != other.brightWhite && (this.brightWhite == null || !this.brightWhite.equals(other.brightWhite))); - } - - @SuppressWarnings("ConstantConditions") - @Override - public int hashCode() { - int hash = 5; - hash = 47 * hash + (this.defaultColor != null ? this.defaultColor.hashCode() : 0); - hash = 47 * hash + (this.defaultBrightColor != null ? this.defaultBrightColor.hashCode() : 0); - hash = 47 * hash + (this.defaultBackgroundColor != null ? this.defaultBackgroundColor.hashCode() : 0); - hash = 47 * hash + (this.normalBlack != null ? this.normalBlack.hashCode() : 0); - hash = 47 * hash + (this.brightBlack != null ? this.brightBlack.hashCode() : 0); - hash = 47 * hash + (this.normalRed != null ? this.normalRed.hashCode() : 0); - hash = 47 * hash + (this.brightRed != null ? this.brightRed.hashCode() : 0); - hash = 47 * hash + (this.normalGreen != null ? this.normalGreen.hashCode() : 0); - hash = 47 * hash + (this.brightGreen != null ? this.brightGreen.hashCode() : 0); - hash = 47 * hash + (this.normalYellow != null ? this.normalYellow.hashCode() : 0); - hash = 47 * hash + (this.brightYellow != null ? this.brightYellow.hashCode() : 0); - hash = 47 * hash + (this.normalBlue != null ? this.normalBlue.hashCode() : 0); - hash = 47 * hash + (this.brightBlue != null ? this.brightBlue.hashCode() : 0); - hash = 47 * hash + (this.normalMagenta != null ? this.normalMagenta.hashCode() : 0); - hash = 47 * hash + (this.brightMagenta != null ? this.brightMagenta.hashCode() : 0); - hash = 47 * hash + (this.normalCyan != null ? this.normalCyan.hashCode() : 0); - hash = 47 * hash + (this.brightCyan != null ? this.brightCyan.hashCode() : 0); - hash = 47 * hash + (this.normalWhite != null ? this.normalWhite.hashCode() : 0); - hash = 47 * hash + (this.brightWhite != null ? this.brightWhite.hashCode() : 0); - return hash; - } - - @Override - public String toString() { - return "SwingTerminalPalette{" + - "defaultColor=" + defaultColor + - ", defaultBrightColor=" + defaultBrightColor + - ", defaultBackgroundColor=" + defaultBackgroundColor + - ", normalBlack=" + normalBlack + - ", brightBlack=" + brightBlack + - ", normalRed=" + normalRed + - ", brightRed=" + brightRed + - ", normalGreen=" + normalGreen + - ", brightGreen=" + brightGreen + - ", normalYellow=" + normalYellow + - ", brightYellow=" + brightYellow + - ", normalBlue=" + normalBlue + - ", brightBlue=" + brightBlue + - ", normalMagenta=" + normalMagenta + - ", brightMagenta=" + brightMagenta + - ", normalCyan=" + normalCyan + - ", brightCyan=" + brightCyan + - ", normalWhite=" + normalWhite + - ", brightWhite=" + brightWhite + '}'; - } -}