From fc1ee063695ad11b2b6123f206b3befa8e830d75 Mon Sep 17 00:00:00 2001 From: Jeff Brown Date: Wed, 29 Sep 2010 20:51:48 -0700 Subject: [PATCH] Improve touch paint sample to use geometrical touch width. Added multitouch support. Fixed the trackball based drawing. Change-Id: I15d9c5c4ac26a83f476f98c1f2ef3a5841e2ffbd --- .../android/apis/graphics/TouchPaint.java | 83 +++++++++---------- 1 file changed, 40 insertions(+), 43 deletions(-) diff --git a/samples/ApiDemos/src/com/example/android/apis/graphics/TouchPaint.java b/samples/ApiDemos/src/com/example/android/apis/graphics/TouchPaint.java index 094285206..14e6c4f71 100644 --- a/samples/ApiDemos/src/com/example/android/apis/graphics/TouchPaint.java +++ b/samples/ApiDemos/src/com/example/android/apis/graphics/TouchPaint.java @@ -159,21 +159,20 @@ public class TouchPaint extends GraphicsActivity { public class MyView extends View { private static final int FADE_ALPHA = 0x06; private static final int MAX_FADE_STEPS = 256/FADE_ALPHA + 4; + private static final int TRACKBALL_SCALE = 10; + private Bitmap mBitmap; private Canvas mCanvas; private final Rect mRect = new Rect(); private final Paint mPaint; private final Paint mFadePaint; - private boolean mCurDown; - private int mCurX; - private int mCurY; - private float mCurPressure; - private float mCurSize; - private int mCurWidth; + private float mCurX; + private float mCurY; private int mFadeSteps = MAX_FADE_STEPS; public MyView(Context c) { super(c); + setFocusable(true); mPaint = new Paint(); mPaint.setAntiAlias(true); mPaint.setARGB(255, 255, 255, 255); @@ -229,61 +228,59 @@ public class TouchPaint extends GraphicsActivity { } @Override public boolean onTrackballEvent(MotionEvent event) { - boolean oldDown = mCurDown; - mCurDown = true; int N = event.getHistorySize(); - int baseX = mCurX; - int baseY = mCurY; - final float scaleX = event.getXPrecision(); - final float scaleY = event.getYPrecision(); + final float scaleX = event.getXPrecision() * TRACKBALL_SCALE; + final float scaleY = event.getYPrecision() * TRACKBALL_SCALE; for (int i=0; i