aboutsummaryrefslogtreecommitdiffhomepage
path: root/platform_tools/android/apps/skar_java/src/main/java/com/google/ar/core/examples/java/helloskar/DrawManager.java
diff options
context:
space:
mode:
authorGravatar ziadb <ziadb@google.com>2018-07-20 13:10:11 -0400
committerGravatar Ziad Ben Hadj-Alouane <ziadb@google.com>2018-07-26 15:29:41 +0000
commit897f256413c13d932a3c6f34eebe156c96defab8 (patch)
tree72471453374b96dced1817ad59a3eed4e0761414 /platform_tools/android/apps/skar_java/src/main/java/com/google/ar/core/examples/java/helloskar/DrawManager.java
parentd26b4d865ac57d1b5ef810dd4408d8cc147b3460 (diff)
SkAR Java: smooth finger painting, planes draw with outlines
Bug: skia: Change-Id: I0e6f3c00f030f7a03c3829cd4ff22ac7459dc132 Reviewed-on: https://skia-review.googlesource.com/142685 Reviewed-by: Mike Reed <reed@google.com>
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.java28
1 files changed, 19 insertions, 9 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 9732cb1647..98f36fbe1f 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
@@ -46,7 +46,7 @@ public class DrawManager {
private ColorFilter lightFilter;
private BitmapShader planeShader;
public ArrayList<float[]> modelMatrices = new ArrayList<>();
- public SkARFingerPainting fingerPainting = new SkARFingerPainting();
+ public SkARFingerPainting fingerPainting = new SkARFingerPainting(false);
public void updateViewport(float width, float height) {
viewportWidth = width;
@@ -65,10 +65,6 @@ public class DrawManager {
lightFilter = SkARUtil.createLightCorrectionColorFilter(colorCorr);
}
- public void updateFingerPainting(PointF p) {
- fingerPainting.addPoint(p);
- }
-
// Sample function for drawing a circle
public void drawCircle(Canvas canvas) {
if (modelMatrices.isEmpty()) {
@@ -143,6 +139,10 @@ public class DrawManager {
}
public void drawFingerPainting(Canvas canvas) {
+ // Build the path before rendering
+ fingerPainting.buildPath();
+
+ // If path empty, return
if (fingerPainting.path.isEmpty()) {
return;
}
@@ -166,7 +166,12 @@ public class DrawManager {
// Set up paint
Paint p = new Paint();
- p.setColor(Color.GREEN);
+ if (fingerPainting.getSmoothness()) {
+ p.setColor(Color.CYAN);
+ } else {
+ p.setColor(Color.GREEN);
+ }
+
p.setStyle(Paint.Style.STROKE);
p.setStrokeWidth(30f);
p.setAlpha(120);
@@ -269,19 +274,24 @@ public class DrawManager {
// Set up paint
Paint p = new Paint();
- p.setShader(planeShader);
- p.setColorFilter(new PorterDuffColorFilter(Color.argb(0.4f, 1, 0, 0),
+
+ if (false) {
+ //p.setShader(planeShader);
+ p.setColorFilter(new PorterDuffColorFilter(Color.argb(0.4f, 1, 0, 0),
PorterDuff.Mode.SRC_ATOP));
+ }
p.setColor(Color.RED);
p.setAlpha(100);
+ p.setStrokeWidth(0.01f);
+ p.setStyle(Paint.Style.STROKE);
+
if (true) {
// Shader local matrix
android.graphics.Matrix lm = new android.graphics.Matrix();
lm.setScale(0.00005f, 0.00005f);
planeShader.setLocalMatrix(lm);
-
// Draw dest path
canvas.save();
canvas.setMatrix(mvpv);