package vebugger.templates;
import java.awt.Color;
import vebugger.VebuggerTemplate;
public class ColorTemplate extends VebuggerTemplate {
@Override
public Class<?> getType() {
return Color.class;
}
@Override
public void render(StringBuilder sb, Object obj) {
Color color = (Color) obj;
int hashCode = color.hashCode();
sb.append("<style>");
sb.append("table.java-awt-Color-")
.append(hashCode)
.append(" > tbody > tr > td.color {background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGUlEQVQYlWNoaGj4j44ZsIGhoHCQOYcihQDTKHzPovZrygAAAABJRU5ErkJggg==) repeat; padding: 0}");
sb.append("table.java-awt-Color-").append(hashCode)
.append(" tbody > tr > td.color > div {width:100px; height:100px; background-color: #")
.append(String.format("%06x", color.getRGB() & 0xffffff)).append("; opacity: ")
.append(color.getAlpha() / 255.0).append(";}");
sb.append("table.java-awt-Color-").append(hashCode)
.append(" {border-spacing: 0px; border-collapse: collapse;}");
sb.append("table.java-awt-Color-").append(hashCode).append(" tbody > tr > td {border: 0px;}");
sb.append("table.java-awt-Color-")
.append(hashCode)
.append(" tbody > tr > td.value {font-family: monospace; height: 25px; padding: 0 4px; vertical-align: middle;}");
sb.append("table.java-awt-Color-").append(hashCode).append(" tbody > tr > td.red {color: red;}");
sb.append("table.java-awt-Color-").append(hashCode).append(" tbody > tr > td.green {color: green;}");
sb.append("table.java-awt-Color-").append(hashCode).append(" tbody > tr > td.blue {color: blue;}");
sb.append("table.java-awt-Color-").append(hashCode).append(" tbody > tr > td.alpha {color: black;}");
sb.append("</style>");
sb.append("<table class=\"java-awt-Color-")
.append(hashCode)
.append("\"><tbody><tr><td rowspan=\"4\" class=\"color\"><div></div></td><td class=\"value red\">Red</td><td class=\"value red\">")
.append(color.getRed())
.append("</td></tr><tr><td class=\"value green\">Green</td><td class=\"value green\">")
.append(color.getGreen())
.append("</td></tr><tr><td class=\"value blue\">Blue</td><td class=\"value blue\">")
.append(color.getBlue())
.append("</td></tr><tr><td class=\"value alpha\">Alpha</td><td class=\"value alpha\">")
.append(color.getAlpha()).append("</td></tr></tbody></table>");
}
}