From: Karen Lease Date: Sun, 12 Nov 2000 22:18:17 +0000 (+0000) Subject: Put the handling of rgb(..) back for SVG style property X-Git-Tag: pre-columns~93 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=db27c3c230df38e6f5cc6119deb9e490d7c6f495;p=xmlgraphics-fop.git Put the handling of rgb(..) back for SVG style property git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@193793 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/src/org/apache/fop/datatypes/ColorType.java b/src/org/apache/fop/datatypes/ColorType.java index 14cfd0faa..e2e8c4817 100644 --- a/src/org/apache/fop/datatypes/ColorType.java +++ b/src/org/apache/fop/datatypes/ColorType.java @@ -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")) {