public void draw(Canvas canvas) { // demonstrates a bug (now worked around) in Android round-rect drawing canvas.setFillColor(0xFFFFCC99); canvas.fillRoundRect(0, 0, 98.32f, 29.5f, 12f); canvas.setFillColor(0xFF99CCFF); canvas.fillRoundRect(3, 3, 92.32f, 23.5f, 9.5f); } });
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); } });
@Override protected Instance instantiate (final IDimension size) { Canvas canvas = _gfx.createCanvas(size); if (_borderWidth > 0) { canvas.setFillColor(_borderColor).fillRoundRect( 0, 0, size.width(), size.height(), _radius); // scale the inner radius based on the ratio of the inner height to the full height; // this improves the uniformity of the border substantially float iwidth = size.width() - 2*_borderWidth, iheight = size.height() - 2*_borderWidth; float iradius = _borderRadius * (iheight / size.height()); canvas.setFillColor(_bgColor).fillRoundRect( _borderWidth, _borderWidth, iwidth, iheight, iradius); } else { canvas.setFillColor(_bgColor).fillRoundRect(0, 0, size.width(), size.height(), _radius); } ImageLayer layer = new ImageLayer(canvas.toTexture()); return new LayerInstance(size, layer); }
Gradient linear = sausage.createGradient(new Gradient.Linear( 0, 0, 100, 100, new int[] { 0xFF0000FF, 0xFF00FF00 }, new float[] { 0, 1 })); sausage.setFillGradient(linear).fillRoundRect(0, 0, 100, 50, 10); Texture saustex = sausage.toTexture();
0, 0, 100, 100, new int[] { 0xFF0000FF, 0xFF00FF00 }, new float[] { 0, 1 })); sausage.canvas().fillRoundRect(0, 0, 100, 50, 10);
canvas.setFillGradient(linear).fillRoundRect(0, 0, 100, 100, 10); }); canvas.setFillColor(0xFFFFCC99).fillRoundRect(0, 0, 98.32f, 29.5f, 12f); canvas.setFillColor(0xFF99CCFF).fillRoundRect(3, 3, 92.32f, 23.5f, 9.5f); });
Gradient linear = img.createGradient(new Gradient.Linear( 0, 0, 100, 100, new int[] { 0xFF0000FF, 0xFF00FF00 }, new float[] { 0, 1 })); img.setFillGradient(linear).fillRoundRect(0, 0, 100, 50, 10); Texture tex = img.toTexture();
0, 0, 100, 100, new int[] { 0xFF0000FF, 0xFF00FF00 }, new float[] { 0, 1 })); img.canvas().fillRoundRect(0, 0, 100, 50, 10);