public void draw(Canvas canvas) { canvas.setFillColor(0xFF99CCFF); canvas.fillCircle(15, 15, 15); canvas.setStrokeColor(0xFF000000); canvas.strokeRect(0, 0, 30, 30); } });
public void draw(Canvas canvas) { canvas.setFillColor(0xFF99CCFF); canvas.fillCircle(15, 15, 15); canvas.setStrokeColor(0xFF000000); canvas.strokeRect(0, 0, 30, 30); } }));
@Override public void paint(float delta) { super.paint(delta); int curSecs = (int)(elapsedMillis/1000); if (curSecs != lastSecs) { timeImg.canvas().clear(); timeImg.canvas().setStrokeColor(0xFF000000); timeImg.canvas().strokeRect(0, 0, 100, 100); timeImg.canvas().drawText(""+curSecs, 40, 55); lastSecs = curSecs; } // round the width so that it goes to zero sometimes (which should be fine) tileLayer.setWidth(Math.round(Math.abs(FloatMath.sin(elapsedMillis/2)) * 100)); }
public Texture formatText (TextFormat format, String text, boolean border) { TextLayout layout = game.graphics.layoutText(text, format); float margin = border ? 10 : 0; float width = layout.size.width()+2*margin, height = layout.size.height()+2*margin; Canvas canvas = game.graphics.createCanvas(width, height); if (border) canvas.setFillColor(0xFFCCCCCC).fillRect(0, 0, canvas.width, canvas.height); canvas.setFillColor(0xFF000000).fillText(layout, margin, margin); if (border) canvas.setStrokeColor(0xFF000000).strokeRect(0, 0, width-1, height-1); return canvas.toTexture(); }
protected static CanvasImage formatText (TextFormat format, String text, boolean border) { TextLayout layout = graphics().layoutText(text, format); float margin = border ? 10 : 0; float width = layout.width()+2*margin, height = layout.height()+2*margin; CanvasImage image = graphics().createImage(width, height); image.canvas().setStrokeColor(0xFF000000); image.canvas().setFillColor(0xFF000000); image.canvas().fillText(layout, margin, margin); if (border) image.canvas().strokeRect(0, 0, width-1, height-1); return image; }
protected Icon createSampler (int baseColor) { int size = 16; Canvas canvas = graphics().createCanvas(size * 17, size); int lighter = baseColor; for (int ii = 0; ii <= 8; ++ii) { canvas.setFillColor(lighter); canvas.fillRect(size * (ii + 8), 0, size, size); lighter = Colors.brighter(lighter); } int darker = baseColor; for (int ii = 0; ii < 8; ++ii) { canvas.setFillColor(darker); canvas.fillRect(size * (7 - ii), 0, size, size); darker = Colors.darker(darker); } canvas.setStrokeColor(Colors.BLACK); canvas.strokeRect(size * 8, 0, size - 1, size - 1); return Icons.image(canvas.toTexture()); } }
protected void render (Canvas canvas, String strokeFill, TextBlock block, TextBlock.Align align, int color, float x, float y, boolean showBounds) { float sy = y + block.bounds.y(); for (TextLayout layout : block.lines) { float sx = x + block.bounds.x() + align.getX( layout.size.width(), block.bounds.width()-block.bounds.x()); if (showBounds) { IRectangle lbounds = layout.bounds; canvas.setStrokeColor(0xFFFFCCCC).setStrokeWidth(1); canvas.strokeRect(sx+lbounds.x(), sy+lbounds.y(), lbounds.width(), lbounds.height()); } if (strokeFill.equals("Fill")) { canvas.setFillColor(color).fillText(layout, sx, sy); } else { canvas.setStrokeColor(color).strokeText(layout, sx, sy); } sy += layout.ascent() + layout.descent() + layout.leading(); } }
protected void render (Canvas canvas, String strokeFill, TextBlock block, TextBlock.Align align, int color, float x, float y, boolean showBounds) { float sy = y + block.bounds.y(); for (TextLayout layout : block.lines) { float sx = x + block.bounds.x() + align.getX( layout.width(), block.bounds.width()-block.bounds.x()); if (showBounds) { IRectangle lbounds = layout.bounds(); canvas.setStrokeColor(0xFFFFCCCC).setStrokeWidth(1); canvas.strokeRect(sx+lbounds.x(), sy+lbounds.y(), lbounds.width(), lbounds.height()); } if (strokeFill.equals("Fill")) { canvas.setFillColor(color).fillText(layout, sx, sy); } else { canvas.setStrokeColor(color).strokeText(layout, sx, sy); } sy += layout.ascent() + layout.descent() + layout.leading(); } }
public static Image makeButtonImage(String label) { TextLayout layout = graphics().layoutText(label, BUTTON_FMT); CanvasImage image = graphics().createImage(layout.width()+10, layout.height()+10); image.canvas().setFillColor(0xFFCCCCCC); image.canvas().fillRect(0, 0, image.width(), image.height()); image.canvas().setFillColor(0xFF000000); image.canvas().fillText(layout, 5, 5); image.canvas().setStrokeColor(0xFF000000); image.canvas().strokeRect(0, 0, image.width()-1, image.height()-1); return image; }
@Override public void init() { String text = "The quick brown fox jumped over the lazy dog."; TextFormat format = new TextFormat(new Font("Helvetica", 18)); TextBlock block = new TextBlock(game.graphics.layoutText(text, format, new TextWrap(100))); float x = 5; for (float scale : new float[] { 1f, 2f, 3f }) { float swidth = block.bounds.width() * scale, sheight = block.bounds.height() * scale; Canvas canvas = game.graphics.createCanvas(swidth, sheight); canvas.setStrokeColor(0xFFFFCCCC).strokeRect(0, 0, swidth-0.5f, sheight-0.5f); canvas.scale(scale, scale); canvas.setFillColor(0xFF000000); block.fill(canvas, TextBlock.Align.RIGHT, 0, 0); game.rootLayer.addAt(new ImageLayer(canvas.toTexture()), x, 5); addInfo(canvas, x + swidth/2, sheight + 10); x += swidth + 5; } }
protected Texture makeTextImage() { TextFormat format = new TextFormat(new Font(font.value(), style.value(), 24)); float wrapWidth = wrap.value() == 0 ? Float.MAX_VALUE : game.graphics.viewSize.width()*wrap.value()/100; TextBlock block = new TextBlock( game.graphics.layoutText(sample, format, new TextWrap(wrapWidth))); float awidth = adjustWidth(block.bounds.width()), aheight = adjustHeight(block.bounds.height()); float pad = 1/game.graphics.scale().factor; Canvas canvas = game.graphics.createCanvas(awidth+2*pad, aheight+2*pad); canvas.translate(pad, pad); canvas.setStrokeColor(0xFFFFCCCC).strokeRect(0, 0, awidth, aheight); render(canvas, block, align.value(), lineBounds.value()); return canvas.toTexture(); }
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; }
@Override public void init () { Canvas bgcanvas = game.graphics.createCanvas(WIDTH + 10, HEIGHT); bgcanvas.setFillColor(0xff808080); bgcanvas.fillRect(0, 0, WIDTH + 10, HEIGHT); ImageLayer bg = new ImageLayer(bgcanvas.toTexture()); Canvas knob = game.graphics.createCanvas(WIDTH, HWIDTH); knob.setFillColor(0xffffffff).fillRect(0, 0, WIDTH, HWIDTH); knob.setStrokeColor(0xff000000).drawLine(0, HWIDTH / 2, WIDTH, HWIDTH / 2); knob.setStrokeColor(0xffff0000).strokeRect(0, 0, WIDTH - 1, HWIDTH - 1); ImageLayer il = new ImageLayer(knob.toTexture()); il.setOrigin(0, HWIDTH / 2).setDepth(1).setTranslation(0, HEIGHT / 2); GroupLayer slider = new GroupLayer(); slider.add(bg); slider.add(il); game.rootLayer.addAt(slider, 25, 25); bg.events().connect(new Mouse.Listener() { @Override public void onWheel (Mouse.WheelEvent event, Mouse.Interaction iact) { float y = il.ty() + event.velocity; y = Math.max(0, Math.min(y, HEIGHT)); il.setTranslation(0, y); } }); } }
@Override public void init() { String text = "The quick brown fox jumped over the lazy dog."; TextFormat format = new TextFormat(). withFont(graphics().createFont("Helvetica", Font.Style.PLAIN, 18)); TextBlock block = new TextBlock(graphics().layoutText(text, format, new TextWrap(100))); float x = 5; for (float scale : new float[] { 1f, 2f, 3f }) { float swidth = block.bounds.width() * scale, sheight = block.bounds.height() * scale; CanvasImage image = graphics().createImage(swidth, sheight); image.canvas().setStrokeColor(0xFFFFCCCC).strokeRect(0, 0, swidth-0.5f, sheight-0.5f); image.canvas().scale(scale, scale); image.canvas().setFillColor(0xFF000000); block.fill(image.canvas(), TextBlock.Align.RIGHT, 0, 0); graphics().rootLayer().addAt(graphics().createImageLayer(image), x, 5); addInfo(image, x + swidth/2, sheight + 10); x += swidth + 5; } }
@Override public void init () { GroupLayer slider = graphics().createGroupLayer(); CanvasImage image = graphics().createImage(WIDTH + 10, HEIGHT); image.canvas().setFillColor(0xff808080); image.canvas().fillRect(0, 0, WIDTH + 10, HEIGHT); ImageLayer bg = graphics().createImageLayer(image); slider.add(bg); image = graphics().createImage(WIDTH, HWIDTH); image.canvas().setFillColor(0xffffffff); image.canvas().fillRect(0, 0, WIDTH, HWIDTH); image.canvas().setStrokeColor(0xff000000); image.canvas().drawLine(0, HWIDTH / 2, WIDTH, HWIDTH / 2); image.canvas().setStrokeColor(0xffff0000); image.canvas().strokeRect(0, 0, WIDTH - 1, HWIDTH - 1); slider.add(il = graphics().createImageLayer(image)); il.setOrigin(0, HWIDTH / 2); il.setTranslation(0, HEIGHT / 2); il.setDepth(1); graphics().rootLayer().add(slider); slider.setTranslation(25, 25); bg.addListener(new Mouse.LayerAdapter() { @Override public void onMouseWheelScroll (WheelEvent event) { float y = il.ty() + event.velocity(); y = Math.max(0, Math.min(y, HEIGHT)); il.setTranslation(0, y); } }); }
canvas.setStrokeColor(0xFF000000).strokeRect(0, 0, 30, 30); }); Texture.Config repeat = Texture.Config.DEFAULT.repeat(true, true); Canvas tcanvas = time.begin(); tcanvas.clear(); tcanvas.setStrokeColor(0xFF000000).strokeRect(0, 0, 99, 99); tcanvas.drawText(""+curSecs, 40, 55); lastSecs = curSecs;