/** * Returns the padding used by {@link #toImage} to ensure that anti-aliasing has room to do its * work. */ public static float pad() { return 1/graphics().scaleFactor(); }
@Override public float width() { return graphics().width(); } @Override
@Override public void init() { // remove the background layer added by default graphics().rootLayer().removeAll(); // add a grey square SurfaceImage surf = graphics().createSurface(width, height); surf.surface().setFillColor(Color.rgb(200, 200, 200)); surf.surface().fillRect(0, 0, width, height); square = graphics().createImageLayer(surf); graphics().rootLayer().add(square); }
private CanvasImage createCanvasImage(int width, int height, final Drawer drawer) { final CanvasImage image = graphics().createImage(width, height); drawer.draw(image.canvas()); return image; }
protected static ImageLayer createButton (String text, final Runnable onClick) { CanvasImage image = formatText(text, true); ImageLayer button = graphics().createImageLayer(image); button.addListener(new Pointer.Adapter() { @Override public void onPointerStart(Pointer.Event event) { onClick.run(); } }); return button; }
@Override public void onSuccess(Image image) { rootLayer.addAt(graphics().createImageLayer(image), 5*width, 0); addDescrip("ground truth", 5*width, offset+height, width); }
public void draw(Canvas canvas) { // draw a rounded rect directly canvas.setFillGradient(graphics().createLinearGradient( 0, 0, 100, 100, new int[] { 0xFF0000FF, 0xFF00FF00 }, new float[] { 0, 1 })); canvas.fillRoundRect(0, 0, 100, 100, 10); } });
public void draw(Canvas canvas) { canvas.setFillGradient(graphics().createLinearGradient( 0, 0, 100, 100, new int[] { 0xFF0000FF, 0xFF00FF00 }, new float[] { 0, 1 })); canvas.fillRect(0, 0, 100, 100); } });
public void draw(Canvas canvas, Image tile) { canvas.setFillPattern(graphics().createPattern(tile)); canvas.fillRect(0, 0, 100, 100); } });
private CanvasImage createCanvasImage(int width, int height, final Drawer drawer) { final CanvasImage image = graphics().createImage(width, height); drawer.draw(image.canvas()); return image; }
public void draw(Canvas canvas) { // draw a rounded rect directly canvas.setFillGradient(graphics().createLinearGradient( 0, 0, 100, 100, new int[] { 0xFF0000FF, 0xFF00FF00 }, new float[] { 0, 1 })); TextLayout capF = graphics().layoutText("F", new TextFormat().withFont(F_FONT.derive(96))); canvas.fillText(capF, 15, 5); } });
protected float addDescrip(String descrip, float x, float y, float width) { ImageLayer layer = createDescripLayer(descrip, width); graphics().rootLayer().addAt(layer, Math.round(x + (width - layer.width())/2), y); return y + layer.height(); }
@Override public void done(Image image) { groundTruthLayer = graphics().createImageLayer(image); groundTruthLayer.transform().translate(3 * width, 0); rootLayer.add(groundTruthLayer); }
@Override public void init() { // remove the background layer added by default graphics().rootLayer().clear(); // add a grey square square = graphics().createSurfaceLayer(width, height); square.surface().setFillColor(Color.rgb(200, 200, 200)); square.surface().fillRect(0, 0, square.surface().width(), square.surface().height()); graphics().rootLayer().add(square); }
Box (String text, int color, float wid, float hei) { layer = graphics().createGroupLayer(wid, hei); layer.add(graphics().createImmediateLayer(this)); label = createLabel(text, layer, 0xff000000, color, 0, 0, 40); layer.addAt(label, (wid - label.image().width()) / 2, (hei - label.image().height()) / 2); layer.setHitTester(this); }
protected Image makeTextImage() { TextFormat format = new TextFormat(graphics().createFont(font.value(), style.value(), 24), true); float wrapWidth = wrap.value() == 0 ? Float.MAX_VALUE : graphics().width()*wrap.value()/100; TextBlock block = new TextBlock(graphics().layoutText(sample, format, new TextWrap(wrapWidth))); float awidth = adjustWidth(block.bounds.width()), aheight = adjustHeight(block.bounds.height()); float pad = TextBlock.pad(); CanvasImage image = graphics().createImage(awidth+2*pad, aheight+2*pad); image.canvas().translate(pad, pad); image.canvas().setStrokeColor(0xFFFFCCCC).strokeRect(0, 0, awidth, aheight); render(image.canvas(), block, align.value(), lineBounds.value()); return image; }