home *** CD-ROM | disk | FTP | other *** search
- package javax.swing.text.html;
-
- import javax.swing.text.MutableAttributeSet;
- import javax.swing.text.html.CSS.Attribute;
-
- class CSS$ShorthandBackgroundParser {
- static void parseShorthandBackground(CSS var0, String var1, MutableAttributeSet var2) {
- String[] var3 = CSS.parseStrings(var1);
- int var4 = var3.length;
- int var5 = 0;
- short var6 = 0;
-
- while(var5 < var4) {
- String var7 = var3[var5++];
- if ((var6 & 1) == 0 && isImage(var7)) {
- var0.addInternalCSSValue(var2, Attribute.BACKGROUND_IMAGE, var7);
- var6 = (short)(var6 | 1);
- } else if ((var6 & 2) == 0 && isRepeat(var7)) {
- var0.addInternalCSSValue(var2, Attribute.BACKGROUND_REPEAT, var7);
- var6 = (short)(var6 | 2);
- } else if ((var6 & 4) == 0 && isAttachment(var7)) {
- var0.addInternalCSSValue(var2, Attribute.BACKGROUND_ATTACHMENT, var7);
- var6 = (short)(var6 | 4);
- } else if ((var6 & 8) == 0 && isPosition(var7)) {
- if (var5 < var4 && isPosition(var3[var5])) {
- var0.addInternalCSSValue(var2, Attribute.BACKGROUND_POSITION, var7 + " " + var3[var5++]);
- } else {
- var0.addInternalCSSValue(var2, Attribute.BACKGROUND_POSITION, var7);
- }
-
- var6 = (short)(var6 | 8);
- } else if ((var6 & 16) == 0 && isColor(var7)) {
- var0.addInternalCSSValue(var2, Attribute.BACKGROUND_COLOR, var7);
- var6 = (short)(var6 | 16);
- }
- }
-
- if ((var6 & 1) == 0) {
- var0.addInternalCSSValue(var2, Attribute.BACKGROUND_IMAGE, (String)null);
- }
-
- if ((var6 & 2) == 0) {
- var0.addInternalCSSValue(var2, Attribute.BACKGROUND_REPEAT, "repeat");
- }
-
- if ((var6 & 4) == 0) {
- var0.addInternalCSSValue(var2, Attribute.BACKGROUND_ATTACHMENT, "scroll");
- }
-
- if ((var6 & 8) == 0) {
- var0.addInternalCSSValue(var2, Attribute.BACKGROUND_POSITION, (String)null);
- }
-
- }
-
- static boolean isImage(String var0) {
- return var0.startsWith("url(") && var0.endsWith(")");
- }
-
- static boolean isRepeat(String var0) {
- return var0.equals("repeat-x") || var0.equals("repeat-y") || var0.equals("repeat") || var0.equals("no-repeat");
- }
-
- static boolean isAttachment(String var0) {
- return var0.equals("fixed") || var0.equals("scroll");
- }
-
- static boolean isPosition(String var0) {
- return var0.equals("top") || var0.equals("bottom") || var0.equals("left") || var0.equals("right") || var0.equals("center") || var0.length() > 0 && Character.isDigit(var0.charAt(0));
- }
-
- static boolean isColor(String var0) {
- return CSS.stringToColor(var0) != null;
- }
- }
-