(Canvas canvas)
| 324 | } |
| 325 | |
| 326 | private void drawClips(Canvas canvas) { |
| 327 | canvas.save(); |
| 328 | |
| 329 | canvas.save(); |
| 330 | canvas.clipRect(Rect.makeXYWH(0, 0, 40, 40)); |
| 331 | canvas.drawPaint(new Paint().setColor(0xFF50514F)); |
| 332 | canvas.restore(); |
| 333 | canvas.translate(50, 0); |
| 334 | |
| 335 | canvas.save(); |
| 336 | canvas.clipRect(Rect.makeXYWH(0, 0, 30, 30)); |
| 337 | canvas.clipRect(Rect.makeXYWH(10, 10, 30, 30), ClipMode.INTERSECT); |
| 338 | canvas.drawPaint(new Paint().setColor(0xFFF55E58)); |
| 339 | canvas.restore(); |
| 340 | canvas.translate(50, 0); |
| 341 | |
| 342 | canvas.save(); |
| 343 | canvas.clipRect(Rect.makeXYWH(0, 0, 30, 30)); |
| 344 | canvas.clipRect(Rect.makeXYWH(10, 10, 30, 30), ClipMode.DIFFERENCE); |
| 345 | canvas.drawPaint(new Paint().setColor(0xFFFFE15C)); |
| 346 | canvas.restore(); |
| 347 | canvas.translate(50, 0); |
| 348 | |
| 349 | canvas.save(); |
| 350 | canvas.clipRect(Rect.makeXYWH(0, 0, 40, 40)); |
| 351 | canvas.translate(20, 20); |
| 352 | canvas.rotate(15); |
| 353 | canvas.clipRect(Rect.makeXYWH(-15, -15, 30, 30), ClipMode.DIFFERENCE, false); |
| 354 | canvas.drawPaint(new Paint().setColor(0xFF1D7AA2)); |
| 355 | canvas.restore(); |
| 356 | canvas.translate(50, 0); |
| 357 | |
| 358 | canvas.save(); |
| 359 | canvas.clipRect(Rect.makeXYWH(0, 0, 40, 40)); |
| 360 | canvas.translate(20, 20); |
| 361 | canvas.rotate(15); |
| 362 | canvas.clipRect(Rect.makeXYWH(-15, -15, 30, 30), ClipMode.DIFFERENCE, true); |
| 363 | canvas.drawPaint(new Paint().setColor(0xFF6DC1B3)); |
| 364 | canvas.restore(); |
| 365 | canvas.translate(50, 0); |
| 366 | |
| 367 | canvas.save(); |
| 368 | canvas.clipRRect(RRect.makeXYWH(0, 0, 40, 40, 10), false); |
| 369 | canvas.clipRRect(RRect.makePillXYWH(10, 10, 30, 20), ClipMode.DIFFERENCE, true); |
| 370 | canvas.drawPaint(new Paint().setColor(0xFFFF928A)); |
| 371 | canvas.restore(); |
| 372 | canvas.translate(50, 0); |
| 373 | |
| 374 | canvas.save(); |
| 375 | Path path = new PathBuilder() |
| 376 | .moveTo(0, 12.5f).rCubicTo(0, -5f, 0, -7.5f, 2.5f, -10f).rCubicTo(2.5f, -2.5f, 5f, -2.5f, 10f, -2.5f) |
| 377 | .rLineTo(15f, 0).rCubicTo(5, 0, 7.5f, 0, 10, 2.5f).rCubicTo(2.5f, 2.5f, 2.5f, 5f, 2.5f, 10f) |
| 378 | .lineTo(40, 22f).arcTo(Rect.makeLTRB(22f, 22f, 40, 40), 0, 90, false) |
| 379 | .lineTo(18f, 40).arcTo(Rect.makeLTRB(0, 22f, 18f, 40), 90, 90, false) |
| 380 | .closePath() |
| 381 | .build(); |
| 382 | canvas.clipPath(path, true); |
| 383 | canvas.drawPaint(new Paint().setColor(0xFF3F80A7)); |
no test coverage detected