public void setStrokeWidth(float strokeWidth) { this.strokeWidth = strokeWidth; if (canvas != null) { canvas.setStrokeWidth(strokeWidth); } }
public void setStrokeWidth(float strokeWidth) { this.strokeWidth = strokeWidth; canvas.setStrokeWidth(strokeWidth); }
void stroke (Canvas canvas, float y) { canvas.setStrokeColor(0xFF99CCFF); canvas.setStrokeWidth(bwid); canvas.strokeRoundRect(2 + bwid / 2, y + bwid / 2, 94 - bwid, 30 - bwid, 10); } public void draw(Canvas canvas) {
void stroke (Canvas canvas, float y) { canvas.setStrokeColor(0xFF99CCFF); canvas.setStrokeWidth(bwid); canvas.strokeRoundRect(2 + bwid / 2, y + bwid / 2, 94 - bwid, 30 - bwid, 10); } public void draw(Canvas canvas) {
public void setCanvas(CanvasImage image) { this.canvas = image.canvas(); canvas.setStrokeWidth(strokeWidth); setStrokeColorFromCache(); setFillColorFromCache(); }
@Override public Surface drawLine(float x0, float y0, float x1, float y1, float width) { canvas.save(); canvas.setStrokeWidth(width); canvas.drawLine(x0, y0, x1, y1); canvas.restore(); return this; }
public DebugDrawBox2D(Platform plat, float width, float height) { super(new OBBViewportTransform()); this.plat = plat; viewportTransform.setYFlip(true); strokeWidth = 1.0f; strokeAlpha = 255; fillAlpha = 150; canvas = plat.graphics().createCanvas(width, height); canvas.setStrokeWidth(strokeWidth); setStrokeColorFromCache(); setFillColorFromCache(); }
protected void render (Canvas canvas, TextBlock block, TextBlock.Align align, boolean showBounds) { String effect = this.effect.value(), strokeFill = draw.value(); if (effect.equals("ShadowUL")) { render(canvas, strokeFill, block, align, 0xFFCCCCCC, 0, 0, showBounds); render(canvas, strokeFill, block, align, 0xFF6699CC, 2, 2, false); } else if (effect.equals("ShadowLR")) { render(canvas, strokeFill, block, align, 0xFFCCCCCC, 2, 2, false); render(canvas, strokeFill, block, align, 0xFF6699CC, 0, 0, showBounds); } else if (effect.equals("Outline")) { canvas.setStrokeWidth(2*outlineWidth); canvas.setLineCap(Canvas.LineCap.ROUND); canvas.setLineJoin(Canvas.LineJoin.ROUND); render(canvas, "Stroke", block, align, 0xFF336699, outlineWidth, outlineWidth, false); render(canvas, "Fill", block, align, 0xFF6699CC, outlineWidth, outlineWidth, showBounds); } else { render(canvas, strokeFill, block, align, 0xFF6699CC, 0, 0, showBounds); } } }
protected void render (Canvas canvas, TextBlock block, TextBlock.Align align, boolean showBounds) { String effect = this.effect.value(), strokeFill = draw.value(); if (effect.equals("ShadowUL")) { render(canvas, strokeFill, block, align, 0xFFCCCCCC, 0, 0, showBounds); render(canvas, strokeFill, block, align, 0xFF6699CC, 2, 2, false); } else if (effect.equals("ShadowLR")) { render(canvas, strokeFill, block, align, 0xFFCCCCCC, 2, 2, false); render(canvas, strokeFill, block, align, 0xFF6699CC, 0, 0, showBounds); } else if (effect.equals("Outline")) { canvas.setStrokeWidth(2*outlineWidth); canvas.setLineCap(Canvas.LineCap.ROUND); canvas.setLineJoin(Canvas.LineJoin.ROUND); render(canvas, "Stroke", block, align, 0xFF336699, outlineWidth, outlineWidth, false); render(canvas, "Fill", block, align, 0xFF6699CC, outlineWidth, outlineWidth, showBounds); } else { render(canvas, strokeFill, block, align, 0xFF6699CC, 0, 0, showBounds); } } }
public void draw(Canvas canvas) { float dotRadius = 40; canvas.save(); canvas.setFillGradient(graphics().createRadialGradient( 100 / 3, 100 / 2.5f, dotRadius, new int[] { 0xFFFFFFFF, 0xFFCC66FF }, new float[] { 0f, 1f })); canvas.fillCircle(50, 50, dotRadius); canvas.restore(); canvas.setStrokeColor(0xFF000000); canvas.setStrokeWidth(1.5f); canvas.strokeCircle(50, 50, dotRadius); } });
@Override public void update(int delta) { canvas.clear(); canvas.setStrokeWidth(3); canvas.setStrokeColor(0x88ff0000); noSegs += direction; if (noSegs > 50) direction = -1; if (noSegs < 20) direction = 1; final float r = 100; for (int ii = 0; ii < noSegs; ii++) { float angle = 2*FloatMath.PI * ii / noSegs; float x = (r * FloatMath.cos(angle)) + graphics().width() / 2; float y = (r * FloatMath.sin(angle)) + graphics().height() /2; canvas.strokeCircle(x, y, 100); } } }
@Override public void render (Canvas canvas, TextLayout text, int textColor, boolean underlined, float x, float y) { canvas.save(); canvas.setStrokeColor(outlineColor); canvas.setStrokeWidth(outlineWidth*2); canvas.setLineCap(outlineCap); canvas.setLineJoin(outlineJoin); canvas.strokeText(text, x+outlineWidth, y+outlineWidth); canvas.setFillColor(textColor); canvas.fillText(text, x+outlineWidth, y+outlineWidth); if (underlined) { IRectangle bounds = text.bounds; float sx = x + bounds.x() + outlineWidth; float sy = y + bounds.y() + bounds.height() + outlineWidth + 1; canvas.fillRect(sx, sy, bounds.width(), 1); } canvas.restore(); }
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(); } }
@Override public void init() { CanvasLayer clayer = new CanvasLayer(game.graphics, game.graphics.viewSize); game.rootLayer.add(clayer); conns.add(game.update.connect(clock -> { Canvas canvas = clayer.begin(); canvas.clear(); canvas.setStrokeWidth(3); canvas.setStrokeColor(0x88ff0000); noSegs += direction; if (noSegs > 50) direction = -1; if (noSegs < 20) direction = 1; float r = 100; for (int ii = 0; ii < noSegs; ii++) { float angle = 2*FloatMath.PI * ii / noSegs; IDimension viewSize = game.plat.graphics().viewSize; float x = (r * FloatMath.cos(angle)) + viewSize.width() / 2; float y = (r * FloatMath.sin(angle)) + viewSize.height() /2; canvas.strokeCircle(x, y, 100); } clayer.end(); // reupload the image data })); } }
canvas.setFillGradient(radial).fillCircle(50, 50, dotRadius); canvas.restore(); canvas.setStrokeColor(0xFF000000).setStrokeWidth(1.5f).strokeCircle(50, 50, dotRadius); });