Hi,
I have made this code for you following this
knowledgebase article
.
You have to change the onTouchEllipse void of PDFReader class as following.
private boolean onTouchEllipse(MotionEvent event)
{
if( m_status == STA_ELLIPSE )
{
int len = 0;
if( m_rects != null ) len = m_rects.length;
int cur = 0;
switch(event.getActionMasked())
{
case MotionEvent.ACTION_DOWN:
float rects[] = new float[len + 4];
for( cur = 0; cur < len; cur++ )
rects[cur] = m_rects[cur];
len += 4;
rects[cur + 0] = event.getX();
rects[cur + 1] = event.getY();
rects[cur + 2] = event.getX();
rects[cur + 3] = event.getY();
m_rects = rects;
break;
case MotionEvent.ACTION_MOVE:
float deltaMoveX = event.getX() - m_rects[len - 2];
float deltaMoveY = event.getY() - m_rects[len - 1];
m_rects[len - 2] = (deltaMoveX > deltaMoveY) ? event.getX() : m_rects[len - 2] + deltaMoveY;
m_rects[len - 1] = (deltaMoveX < deltaMoveY) ? event.getY() : m_rects[len - 1] + deltaMoveX;
break;
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_CANCEL:
float deltaCancelX = event.getX() - m_rects[len - 2];
float deltaCancelY = event.getY() - m_rects[len - 1];
m_rects[len - 2] = (deltaCancelX > deltaCancelY) ? event.getX() : m_rects[len - 2] + deltaCancelY;
m_rects[len - 1] = (deltaCancelX < deltaCancelY) ? event.getY() : m_rects[len - 1] + deltaCancelX;
break;
}
invalidate();
return true;
}
return false;
}