package vebugger.templates;
import java.awt.geom.Point2D;
import vebugger.VebuggerTemplate;
public class Point2DTemplate extends VebuggerTemplate {
@Override
public Class<?> getType() {
return Point2D.class;
}
@Override
public void render(StringBuilder sb, Object obj) {
Point2D point2d = (Point2D) obj;
int hashCode = point2d.hashCode();
double x = point2d.getX();
double y = point2d.getY();
double maxAbs = Math.max(Math.abs(x), Math.abs(y));
long a = 1;
long b = 1;
long scale = 0;
do {
scale = a * b;
if (a < 10) {
a++;
} else {
a = 2;
b *= 10;
}
} while (scale < maxAbs);
double panX = (x / scale) * 100 + 98;
double panY = (-y / scale) * 100 + 97;
sb.append("<style>");
sb.append("table.java-awt-geom-Point2D {border-spacing: 0px; border-collapse: collapse; empty-cells: show; font-size: 12px; padding: 0;}");
sb.append("table.java-awt-geom-Point2D > tbody > tr > td {text-align: center; vertical-align: center;}");
sb.append("table.java-awt-geom-Point2D > tbody > tr > td.masterCell {text-align: left; vertical-align: top;}");
sb.append("table.java-awt-geom-Point2D > tbody > tr > td.cell {width: 100px; height: 100px;}");
sb.append("table.java-awt-geom-Point2D > tbody > tr > td.cell-up {border-bottom: 1px solid black;}");
sb.append("table.java-awt-geom-Point2D > tbody > tr > td.cell-left {border-right: 1px solid black;}");
sb.append("table.java-awt-geom-Point2D > tbody > tr > td > p.rotate {transform: rotate(-90.0deg); -moz-transform: rotate(-90.0deg); -ms-transform: rotate(-90.0deg); -webkit-transform: rotate(-90.0deg);}");
sb.append("table.java-awt-geom-Point2D-").append(hashCode)
.append(" > tbody > tr > td > span {position: relative; top: ").append(panY).append("px; left: ")
.append(panX).append("px;}");
sb.append("table.java-awt-geom-Point2D-").append(hashCode);
sb.append(" > tbody > tr > td > span > img {vertical-align: top;}");
sb.append("</style>");
sb.append("<table class=\"java-awt-geom-Point2D java-awt-geom-Point2D-")
.append(hashCode)
.append("\"><tbody><tr><td></td><td colspan=\"2\">")
.append(scale)
.append("</td><td></td></tr><tr><td rowspan=\"2\"><p class=\"rotate\">")
.append(-scale)
.append("</p></td><td class=\"cell cell-up cell-left masterCell\"><span><img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAFklEQVQImWNggID/SBhDAC5BvCCGmQArdhTsYZweegAAAABJRU5ErkJggg==\" /> (")
.append(x)
.append(", ")
.append(y)
.append(")</span></td><td class=\"cell cell-up\"></td><td rowspan=\"2\"><p class=\"rotate\">")
.append(scale)
.append("</p></td></tr><tr><td class=\"cell cell-left\"></td><td class=\"cell\"></td></tr><tr><td></td><td colspan=\"2\">")
.append(-scale).append("</td><td></td></tr></tbody></table>");
}
}