From: amwaterhouse Date: Fri, 9 Jun 2006 16:16:40 +0000 (+0000) Subject: createColourFromName X-Git-Tag: Release_2_1~368 X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=223fc4baf5d7a97917755fe0c96c966aad71e6e6;p=jalview.git createColourFromName --- diff --git a/src/jalview/schemes/UserColourScheme.java b/src/jalview/schemes/UserColourScheme.java index 4b963fe..5f377b3 100755 --- a/src/jalview/schemes/UserColourScheme.java +++ b/src/jalview/schemes/UserColourScheme.java @@ -25,6 +25,9 @@ public class UserColourScheme { protected String schemeName; + public UserColourScheme() + {} + public UserColourScheme(String colour) { Color col = null; @@ -50,6 +53,7 @@ public class UserColourScheme if(col==null) { System.out.println("Unknown colour!! "+colour); + col = createColourFromName(colour); } colors = new Color[24]; @@ -75,4 +79,29 @@ public class UserColourScheme { return schemeName; } + + public Color createColourFromName(String name) + { + int r, g, b; + + int lsize = name.length(); + int start = 0, end = lsize / 3; + + int rgbOffset = Math.abs(name.hashCode() % 10) * 15; + + r = Math.abs(name.substring(start, end).hashCode() + rgbOffset) % 210 + 20; + start = end; + end += lsize / 3; + if (end > lsize) + end = lsize; + + g = Math.abs(name.substring(start, end).hashCode() + rgbOffset) % 210 + 20; + + b = Math.abs(name.substring(end).hashCode() + rgbOffset) % 210 + 20; + + Color color = new Color(r, g, b); + + return color; + } + }