/** * Copyright (c) 20015 by Brainwy Software Ltda. All Rights Reserved. * Licensed under the terms of the Eclipse Public License (EPL). * Please see the license.txt included with this distribution for details. * Any modifications to this file must keep this entire header intact. */ package org.python.pydev.shared_ui.utils; import org.eclipse.swt.graphics.RGB; import org.python.pydev.shared_core.log.Log; public final class ColorParse { public static RGB parseRGB(String value, RGB defaultColor) { int r; int g; int b; try { if (value != null) { if (value.startsWith("#") && value.length() >= 7) { r = Integer.parseInt(value.substring(1, 3), 16); g = Integer.parseInt(value.substring(3, 5), 16); b = Integer.parseInt(value.substring(5, 7), 16); if (r < 0) { r = 0; } if (g < 0) { g = 0; } if (b < 0) { b = 0; } if (r > 255) { r = 255; } if (g > 255) { g = 255; } if (b > 255) { b = 255; } return new RGB(r, g, b); } else { // Not in hexa: i.e.: r,g,b comma-separated. String[] s = value.split("\\,"); if (s.length >= 3) { r = Integer.parseInt(s[0]); g = Integer.parseInt(s[1]); b = Integer.parseInt(s[2]); return new RGB(r, g, b); } } } } catch (Exception e) { Log.log(e); } return defaultColor; } }