From 223fc4baf5d7a97917755fe0c96c966aad71e6e6 Mon Sep 17 00:00:00 2001 From: amwaterhouse Date: Fri, 9 Jun 2006 16:16:40 +0000 Subject: [PATCH] createColourFromName --- src/jalview/schemes/UserColourScheme.java | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) 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; + } + } -- 1.7.10.2