]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
Put the handling of rgb(..) back for SVG style property
authorKaren Lease <klease@apache.org>
Sun, 12 Nov 2000 22:18:17 +0000 (22:18 +0000)
committerKaren Lease <klease@apache.org>
Sun, 12 Nov 2000 22:18:17 +0000 (22:18 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@193793 13f79535-47bb-0310-9956-ffa450edef68

src/org/apache/fop/datatypes/ColorType.java

index 14cfd0faa9f5863fb03e7d673b08d3283e3e8534..e2e8c481755dda784b858edcd226d29b4b8f8fa7 100644 (file)
@@ -105,8 +105,45 @@ public class ColorType {
                this.blue = 0;
                MessageHandler.errorln("ERROR: unknown colour format. Must be #RGB or #RRGGBB");
            }
-       }
-       else if (value.startsWith("url(")) {
+       } else if (value.startsWith("rgb(")) {
+               int poss = value.indexOf("(");
+               int pose = value.indexOf(")");
+               if(poss != -1 && pose != -1) {
+                       value = value.substring(poss + 1, pose);
+                       StringTokenizer st = new StringTokenizer(value, ",");
+                       try {
+                               if(st.hasMoreTokens()) {
+                                       String str = st.nextToken().trim();
+                                       if(str.endsWith("%")) {
+                                               this.red = Integer.parseInt(str.substring(0, str.length() - 1)) * 2.55f;
+                                       } else {
+                                           this.red = Integer.parseInt(str)/255f;
+                                   }
+                               }
+                               if(st.hasMoreTokens()) {
+                                       String str = st.nextToken().trim();
+                                       if(str.endsWith("%")) {
+                                               this.green = Integer.parseInt(str.substring(0, str.length() - 1)) * 2.55f;
+                                       } else {
+                                           this.green = Integer.parseInt(str)/255f;
+                                   }
+                               }
+                               if(st.hasMoreTokens()) {
+                                       String str = st.nextToken().trim();
+                                       if(str.endsWith("%")) {
+                                               this.blue = Integer.parseInt(str.substring(0, str.length() - 1)) * 2.55f;
+                                       } else {
+                                           this.blue = Integer.parseInt(str)/255f;
+                                   }
+                               }
+                   } catch (Exception e) {
+                               this.red = 0;
+                               this.green = 0;
+                               this.blue = 0;
+                               MessageHandler.errorln("ERROR: unknown colour format. Must be #RGB or #RRGGBB");
+                   }
+               }
+           } else if (value.startsWith("url(")) {
                // refers to a gradient
        } else {
            if (value.toLowerCase().equals("transparent")) {