diff options
Diffstat (limited to 'platform_tools/android/apps/skar_java/src/main/java/com/google/ar/core/examples/java/helloskar/DrawManager.java')
-rw-r--r-- | platform_tools/android/apps/skar_java/src/main/java/com/google/ar/core/examples/java/helloskar/DrawManager.java | 58 |
1 files changed, 30 insertions, 28 deletions
diff --git a/platform_tools/android/apps/skar_java/src/main/java/com/google/ar/core/examples/java/helloskar/DrawManager.java b/platform_tools/android/apps/skar_java/src/main/java/com/google/ar/core/examples/java/helloskar/DrawManager.java index 98f36fbe1f..19dbb22057 100644 --- a/platform_tools/android/apps/skar_java/src/main/java/com/google/ar/core/examples/java/helloskar/DrawManager.java +++ b/platform_tools/android/apps/skar_java/src/main/java/com/google/ar/core/examples/java/helloskar/DrawManager.java @@ -143,7 +143,7 @@ public class DrawManager { fingerPainting.buildPath(); // If path empty, return - if (fingerPainting.path.isEmpty()) { + if (fingerPainting.getPaths().isEmpty()) { return; } @@ -164,35 +164,37 @@ public class DrawManager { float[][] matrices = {scale, initRot, in, viewMatrix, projectionMatrix, SkARMatrix.createViewportMatrix(viewportWidth, viewportHeight)}; android.graphics.Matrix mvpv = SkARMatrix.createMatrixFrom4x4(SkARMatrix.multiplyMatrices4x4(matrices)); - // Set up paint - Paint p = new Paint(); - if (fingerPainting.getSmoothness()) { - p.setColor(Color.CYAN); - } else { - p.setColor(Color.GREEN); + for (Path path : fingerPainting.getPaths()) { + if (path.isEmpty()) { + continue; + } + // Set up paint + Paint p = new Paint(); + p.setColor(fingerPainting.getPathColor(path)); + + p.setStyle(Paint.Style.STROKE); + p.setStrokeWidth(30f); + p.setAlpha(120); + + if (true) { + // Transform applied through canvas + canvas.save(); + canvas.setMatrix(mvpv); + canvas.drawPath(path, p); + canvas.restore(); + } else { + // Transform path directly + Path pathDst = new Path(); + path.transform(mvpv, pathDst); + + // Draw dest path + canvas.save(); + canvas.setMatrix(new android.graphics.Matrix()); + canvas.drawPath(pathDst, p); + canvas.restore(); + } } - p.setStyle(Paint.Style.STROKE); - p.setStrokeWidth(30f); - p.setAlpha(120); - - if (true) { - // Transform applied through canvas - canvas.save(); - canvas.setMatrix(mvpv); - canvas.drawPath(fingerPainting.path, p); - canvas.restore(); - } else { - // Transform path directly - Path pathDst = new Path(); - fingerPainting.path.transform(mvpv, pathDst); - - // Draw dest path - canvas.save(); - canvas.setMatrix(new android.graphics.Matrix()); - canvas.drawPath(pathDst, p); - canvas.restore(); - } } // Sample function for drawing the AR point cloud |