aboutsummaryrefslogtreecommitdiffhomepage
path: root/platform_tools/android/apps/skar_java/src/main/java/com/google/ar/core/examples/java/helloskar/HelloSkARActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform_tools/android/apps/skar_java/src/main/java/com/google/ar/core/examples/java/helloskar/HelloSkARActivity.java')
-rw-r--r--platform_tools/android/apps/skar_java/src/main/java/com/google/ar/core/examples/java/helloskar/HelloSkARActivity.java22
1 files changed, 17 insertions, 5 deletions
diff --git a/platform_tools/android/apps/skar_java/src/main/java/com/google/ar/core/examples/java/helloskar/HelloSkARActivity.java b/platform_tools/android/apps/skar_java/src/main/java/com/google/ar/core/examples/java/helloskar/HelloSkARActivity.java
index d8161c7979..56b46017e7 100644
--- a/platform_tools/android/apps/skar_java/src/main/java/com/google/ar/core/examples/java/helloskar/HelloSkARActivity.java
+++ b/platform_tools/android/apps/skar_java/src/main/java/com/google/ar/core/examples/java/helloskar/HelloSkARActivity.java
@@ -104,6 +104,7 @@ public class HelloSkARActivity extends AppCompatActivity implements GLSurfaceVie
// 2D Renderer
private DrawManager drawManager = new DrawManager();
private DrawingType currentDrawabletype = DrawingType.circle;
+ private boolean drawSmoothPainting = false;
// Temporary matrix allocated here to reduce number of allocations for each frame.
private final float[] anchorMatrix = new float[16];
@@ -384,6 +385,10 @@ public class HelloSkARActivity extends AppCompatActivity implements GLSurfaceVie
PointF distance = new PointF(point[0] - previousEvent.x,
point[2] - previousEvent.y);
+ if (distance.length() < 0.05f) {
+ continue;
+ }
+
// New point is distance + old point
PointF p = new PointF(distance.x * localDistanceScale
+ drawManager.fingerPainting.previousPoint.x,
@@ -466,24 +471,25 @@ public class HelloSkARActivity extends AppCompatActivity implements GLSurfaceVie
switch (currentDrawabletype) {
case circle:
drawManager.drawCircle(canvas);
- return;
+ break;
case rect:
drawManager.drawRect(canvas);
- return;
+ break;
case animation:
drawManager.drawAnimatedRoundRect(canvas, radius);
- return;
+ break;
case text:
drawManager.drawText(canvas, "Android");
- return;
+ break;
default:
drawManager.drawCircle(canvas);
- return;
+ break;
}
}
}
private void drawFingerPainting(Canvas canvas) {
+ drawManager.fingerPainting.setSmoothness(drawSmoothPainting);
drawManager.drawFingerPainting(canvas);
}
@@ -499,6 +505,12 @@ public class HelloSkARActivity extends AppCompatActivity implements GLSurfaceVie
case R.id.reset_paint:
drawManager.fingerPainting.reset();
return true;
+ case R.id.smooth_paint:
+ drawSmoothPainting = true;
+ return true;
+ case R.id.rough_paint:
+ drawSmoothPainting = false;
+ return true;
case R.id.draw_circle:
currentDrawabletype = DrawingType.circle;
return true;