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")) {