diff options
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.java | 22 |
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; |