private void drawCircleArc(Canvas canvas, float x, float y, float start, float span) { canvas.setStrokeColor(0xFFDDDDDD).strokeCircle(x, y, 10). setStrokeColor(0xFF000000).drawArc(x, y, 10, start, span); }
@Override public void drawCircle(Vec2 center, float radius, Color3f color) { setFillColor(color); setStrokeColor(color); // calculate the effective radius tempVec1.set(center.x + radius, center.y + radius); getWorldToScreenToOut(tempVec1, tempVec1); getWorldToScreenToOut(center, tempVec2); canvas.fillCircle(tempVec2.x, tempVec2.y, tempVec1.x - tempVec2.x); canvas.strokeCircle(tempVec2.x, tempVec2.y, tempVec1.x - tempVec2.x); }
@Override public void drawSolidCircle(Vec2 center, float radius, Vec2 axis, Color3f color) { setFillColor(color); setStrokeColor(color); // calculate the effective radius tempVec1.set(center.x + radius, center.y + radius); getWorldToScreenToOut(tempVec1, tempVec1); getWorldToScreenToOut(center, tempVec2); getWorldToScreenToOut(axis, tempVec3); canvas.fillCircle(tempVec2.x, tempVec2.y, tempVec1.x - tempVec2.x); canvas.strokeCircle(tempVec2.x, tempVec2.y, tempVec1.x - tempVec2.x); }
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 drawCircle(Vec2 center, float radius, Color3f color) { if (canvas == null) { log().error(CANVASERROR); return; } setFillColor(color); setStrokeColor(color); // calculate the effective radius tempVec1.set(center.x + radius, center.y + radius); getWorldToScreenToOut(tempVec1, tempVec1); getWorldToScreenToOut(center, tempVec2); canvas.fillCircle(tempVec2.x, tempVec2.y, tempVec1.x - tempVec2.x); canvas.strokeCircle(tempVec2.x, tempVec2.y, tempVec1.x - tempVec2.x); }
@Override public void drawSolidCircle(Vec2 center, float radius, Vec2 axis, Color3f color) { if (canvas == null) { log().error(CANVASERROR); return; } setFillColor(color); setStrokeColor(color); // calculate the effective radius tempVec1.set(center.x + radius, center.y + radius); getWorldToScreenToOut(tempVec1, tempVec1); getWorldToScreenToOut(center, tempVec2); getWorldToScreenToOut(axis, tempVec3); canvas.fillCircle(tempVec2.x, tempVec2.y, tempVec1.x - tempVec2.x); canvas.strokeCircle(tempVec2.x, tempVec2.y, tempVec1.x - tempVec2.x); }
@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); } } }
public void draw(Canvas canvas) { canvas.setFillColor(0xFF99CCFF); canvas.fillRect(0, 0, 100, 100); // draw a point and some lines canvas.setStrokeColor(0xFFFF0000); canvas.drawPoint(50, 50); canvas.drawLine(0, 25, 100, 25); canvas.drawLine(0, 75, 100, 75); canvas.drawLine(25, 0, 25, 100); canvas.drawLine(75, 0, 75, 100); // stroke and fill a circle canvas.strokeCircle(25, 75, 10); canvas.setFillColor(0xFF0000FF); canvas.fillCircle(75, 75, 10); } });
public void draw(Canvas canvas) { canvas.setFillColor(0xFF99CCFF); canvas.fillRect(0, 0, 100, 100); // draw a point and some lines canvas.setStrokeColor(0xFFFF0000); canvas.drawPoint(50, 50); canvas.drawLine(0, 25, 100, 25); canvas.drawLine(0, 75, 100, 75); canvas.drawLine(25, 0, 25, 100); canvas.drawLine(75, 0, 75, 100); // stroke and fill a circle canvas.strokeCircle(25, 75, 10); canvas.setFillColor(0xFF0000FF); canvas.fillCircle(75, 75, 10); } });
@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.drawLine(75, 0, 75, 100); canvas.strokeCircle(25, 75, 10); canvas.setFillColor(0xFF0000FF); canvas.fillCircle(75, 75, 10); canvas.setFillGradient(radial).fillCircle(50, 50, dotRadius); canvas.restore(); canvas.setStrokeColor(0xFF000000).setStrokeWidth(1.5f).strokeCircle(50, 50, dotRadius); });