home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / javax / swing / text / html / CSS$ShorthandBackgroundParser.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  2.2 KB  |  76 lines

  1. package javax.swing.text.html;
  2.  
  3. import javax.swing.text.MutableAttributeSet;
  4. import javax.swing.text.html.CSS.Attribute;
  5.  
  6. class CSS$ShorthandBackgroundParser {
  7.    static void parseShorthandBackground(CSS var0, String var1, MutableAttributeSet var2) {
  8.       String[] var3 = CSS.parseStrings(var1);
  9.       int var4 = var3.length;
  10.       int var5 = 0;
  11.       short var6 = 0;
  12.  
  13.       while(var5 < var4) {
  14.          String var7 = var3[var5++];
  15.          if ((var6 & 1) == 0 && isImage(var7)) {
  16.             var0.addInternalCSSValue(var2, Attribute.BACKGROUND_IMAGE, var7);
  17.             var6 = (short)(var6 | 1);
  18.          } else if ((var6 & 2) == 0 && isRepeat(var7)) {
  19.             var0.addInternalCSSValue(var2, Attribute.BACKGROUND_REPEAT, var7);
  20.             var6 = (short)(var6 | 2);
  21.          } else if ((var6 & 4) == 0 && isAttachment(var7)) {
  22.             var0.addInternalCSSValue(var2, Attribute.BACKGROUND_ATTACHMENT, var7);
  23.             var6 = (short)(var6 | 4);
  24.          } else if ((var6 & 8) == 0 && isPosition(var7)) {
  25.             if (var5 < var4 && isPosition(var3[var5])) {
  26.                var0.addInternalCSSValue(var2, Attribute.BACKGROUND_POSITION, var7 + " " + var3[var5++]);
  27.             } else {
  28.                var0.addInternalCSSValue(var2, Attribute.BACKGROUND_POSITION, var7);
  29.             }
  30.  
  31.             var6 = (short)(var6 | 8);
  32.          } else if ((var6 & 16) == 0 && isColor(var7)) {
  33.             var0.addInternalCSSValue(var2, Attribute.BACKGROUND_COLOR, var7);
  34.             var6 = (short)(var6 | 16);
  35.          }
  36.       }
  37.  
  38.       if ((var6 & 1) == 0) {
  39.          var0.addInternalCSSValue(var2, Attribute.BACKGROUND_IMAGE, (String)null);
  40.       }
  41.  
  42.       if ((var6 & 2) == 0) {
  43.          var0.addInternalCSSValue(var2, Attribute.BACKGROUND_REPEAT, "repeat");
  44.       }
  45.  
  46.       if ((var6 & 4) == 0) {
  47.          var0.addInternalCSSValue(var2, Attribute.BACKGROUND_ATTACHMENT, "scroll");
  48.       }
  49.  
  50.       if ((var6 & 8) == 0) {
  51.          var0.addInternalCSSValue(var2, Attribute.BACKGROUND_POSITION, (String)null);
  52.       }
  53.  
  54.    }
  55.  
  56.    static boolean isImage(String var0) {
  57.       return var0.startsWith("url(") && var0.endsWith(")");
  58.    }
  59.  
  60.    static boolean isRepeat(String var0) {
  61.       return var0.equals("repeat-x") || var0.equals("repeat-y") || var0.equals("repeat") || var0.equals("no-repeat");
  62.    }
  63.  
  64.    static boolean isAttachment(String var0) {
  65.       return var0.equals("fixed") || var0.equals("scroll");
  66.    }
  67.  
  68.    static boolean isPosition(String var0) {
  69.       return var0.equals("top") || var0.equals("bottom") || var0.equals("left") || var0.equals("right") || var0.equals("center") || var0.length() > 0 && Character.isDigit(var0.charAt(0));
  70.    }
  71.  
  72.    static boolean isColor(String var0) {
  73.       return CSS.stringToColor(var0) != null;
  74.    }
  75. }
  76.