home *** CD-ROM | disk | FTP | other *** search
- package com.sun.java.swing.text.html;
-
- import com.sun.java.swing.ImageIcon;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Image;
- import java.awt.MediaTracker;
- import java.awt.Toolkit;
- import java.io.File;
- import java.io.IOException;
- import java.io.InputStream;
- import java.net.MalformedURLException;
- import java.net.URL;
-
- class HTMLUtils implements HTMLDefs {
- public static String colorToHex(Color var0) throws HTMLException {
- String var1 = new String("#");
- String var2 = Integer.toHexString(var0.getRed());
- if (var2.length() > 2) {
- throw new HTMLException(1, "invalid red value");
- } else {
- if (var2.length() < 2) {
- var1 = var1 + "0" + var2;
- } else {
- var1 = var1 + var2;
- }
-
- var2 = Integer.toHexString(var0.getGreen());
- if (var2.length() > 2) {
- throw new HTMLException(1, "invalid green value");
- } else {
- if (var2.length() < 2) {
- var1 = var1 + "0" + var2;
- } else {
- var1 = var1 + var2;
- }
-
- var2 = Integer.toHexString(var0.getBlue());
- if (var2.length() > 2) {
- throw new HTMLException(1, "invalid green value");
- } else {
- if (var2.length() < 2) {
- var1 = var1 + "0" + var2;
- } else {
- var1 = var1 + var2;
- }
-
- return var1;
- }
- }
- }
- }
-
- public static boolean endTagNeeded(String var0) {
- if (!var0.equals("base") && !var0.equals("isindex") && !var0.equals("link") && !var0.equals("meta")) {
- return !var0.equals("body") && !var0.equals("head") && !var0.equals("script") && !var0.equals("style") && !var0.equals("title") && !var0.equals("p") && !var0.equals("pre") && !var0.equals("code") && !var0.equals("center") && !var0.equals("div") && !var0.equals("blockquote") && !var0.equals("kbd") && !var0.equals("b") && !var0.equals("i") && !var0.equals("u") && !var0.equals("cite") && !var0.equals("big") && !var0.equals("small") && !var0.equals("dfn") && !var0.equals("em") && !var0.equals("samp") && !var0.equals("strike") && !var0.equals("strong") && !var0.equals("sub") && !var0.equals("sup") && !var0.equals("tt") && !var0.equals("_var") ? true : true;
- } else {
- return false;
- }
- }
-
- public static final Color hexToColor(String var0) throws HTMLException {
- if (var0.length() != 7) {
- throw new HTMLException(1, "invalid hex color string length");
- } else if (var0.startsWith("#")) {
- var0.substring(1, var0.length());
- Color var1 = Color.decode(var0);
- return var1;
- } else {
- return null;
- }
- }
-
- static final int stringToHex(String var0) throws HTMLException {
- if (var0.length() != 2) {
- throw new HTMLException(2, "invalid hex string" + var0);
- } else {
- int var1 = Character.digit(var0.charAt(0), 16) * 16;
- int var2 = Character.digit(var0.charAt(1), 16);
- return var2 + var1;
- }
- }
-
- public static final Color stringToColor(String var0) throws HTMLException {
- Color var1;
- if (var0.charAt(0) == '#') {
- var1 = hexToColor(var0);
- } else if (var0.equalsIgnoreCase("Black")) {
- var1 = hexToColor("#000000");
- } else if (var0.equalsIgnoreCase("Silver")) {
- var1 = hexToColor("#C0C0C0");
- } else if (var0.equalsIgnoreCase("Gray")) {
- var1 = hexToColor("#808080");
- } else if (var0.equalsIgnoreCase("White")) {
- var1 = hexToColor("#FFFFFF");
- } else if (var0.equalsIgnoreCase("Maroon")) {
- var1 = hexToColor("#800000");
- } else if (var0.equalsIgnoreCase("Red")) {
- var1 = hexToColor("#FF0000");
- } else if (var0.equalsIgnoreCase("Purple")) {
- var1 = hexToColor("#800080");
- } else if (var0.equalsIgnoreCase("Fuchsia")) {
- var1 = hexToColor("#FF00FF");
- } else if (var0.equalsIgnoreCase("Green")) {
- var1 = hexToColor("#008000");
- } else if (var0.equalsIgnoreCase("Lime")) {
- var1 = hexToColor("#00FF00");
- } else if (var0.equalsIgnoreCase("Olive")) {
- var1 = hexToColor("#808000");
- } else if (var0.equalsIgnoreCase("Yellow")) {
- var1 = hexToColor("#FFFF00");
- } else if (var0.equalsIgnoreCase("Navy")) {
- var1 = hexToColor("#000080");
- } else if (var0.equalsIgnoreCase("Blue")) {
- var1 = hexToColor("#0000FF");
- } else if (var0.equalsIgnoreCase("Teal")) {
- var1 = hexToColor("#008080");
- } else {
- if (!var0.equalsIgnoreCase("Aqua")) {
- throw new HTMLException(1, "invalid HTML color string: " + var0);
- }
-
- var1 = hexToColor("#00FFFF");
- }
-
- return var1;
- }
-
- public static String removeSurroundingQuotes(String var0) {
- String var1 = new String(var0);
- if (var0.startsWith("\"") && var0.endsWith("\"")) {
- var1 = new String(var0.substring(1, var0.length() - 1));
- }
-
- return var1;
- }
-
- public static ImageIcon loadImage(Component var0, String var1) {
- Toolkit var2 = var0.getToolkit();
- if (var2 == null) {
- return null;
- } else {
- URL var3 = null;
-
- try {
- var3 = new URL(var1);
- InputStream var10 = var3.openConnection().getInputStream();
- var10.close();
- } catch (MalformedURLException var8) {
- File var4 = new File(var1);
- if (!var4.canRead()) {
- return null;
- }
- } catch (IOException var9) {
- return null;
- }
-
- Image var11;
- if (var3 != null) {
- var11 = var2.getImage(var3);
- } else {
- var11 = var2.getImage(var1);
- }
-
- MediaTracker var5 = new MediaTracker(var0);
- var5.addImage(var11, 0);
-
- try {
- var5.waitForID(0);
- } catch (InterruptedException var7) {
- System.out.println(var7);
- return null;
- }
-
- ImageIcon var6 = new ImageIcon(var11);
- return var6.getIconWidth() != -1 && var6.getIconHeight() != -1 ? var6 : null;
- }
- }
- }
-