title: How to Move a ShapeDrawable in Canvas on Touch Events
body: <p>I am trying to implement a Drawing Application in Android. Where the user should be able to select and move the drawn shapes.<br/>
  Currently i have statically drawn some rects and text on my Drawing Canvas:<br/></p>
  
  <pre><code>        View mDrawingCanvas = new View(mContext) 
          {
              ShapeDrawable rectangle;
              @Override
              public boolean isFocused() {
                  // TODO Auto-generated method stub
                  Log.d(TAG, "View's On focused is called !");
                  return super.isFocused();
              }
  
              @Override
              public boolean onTouchEvent(MotionEvent event) {
                  // TODO Auto-generated method stub
  
                  return super.onTouchEvent(event);
              }
  
              @Override
              protected void onDraw(final Canvas canvas) {
                  super.onDraw(canvas);
                  // Work out current total scale factor
                  // from source to view
  
                  final float scale = mSourceScale*(float)getWidth()/(float)mSize.x;
  
                  Paint paint = new Paint();
                  paint.setStyle(Paint.Style.FILL);
                  paint.setColor(Color.WHITE);
  
                  //Custom View
                  rectangle = new ShapeDrawable(new RectShape());
                  rectangle.getPaint().setColor(Color.GRAY);
                  rectangle.getPaint().setStyle(Paint.Style.FILL_AND_STROKE);
                  rectangle.getPaint().setStrokeWidth(3);
                  rectangle.setBounds((int)(50*scale), (int)(30*scale), (int)(200*scale), (int)(150*scale));
                  rectangle.draw(canvas);
  
                  rectangle.getPaint().setColor(Color.BLUE);
                  rectangle.getPaint().setStyle(Paint.Style.FILL_AND_STROKE);
                  rectangle.getPaint().setStrokeWidth(3);
                  rectangle.setBounds((int)(200*scale), (int)(200*scale), (int)(400*scale), (int)(350*scale));
                  rectangle.draw(canvas);
              }
          };
  </code></pre>
  
  <p>I want to select (draw borders on the selected shape) and move the drawn Shapes in onTouch events of the drawing canvas.<br/>
  Can some one please guide me about this, any help is Highly Appreciated.</p>