public void OnDrag(float dx, float dy)
{
if (mScaleDragDetector.IsScaling()) {
return; // Do not drag if we are already scaling
}
if (DEBUG) {
LogManager.GetLogger().d(LOG_TAG,
Java.Lang.String.Format("onDrag: dx: %.2f. dy: %.2f", dx, dy));
}
ImageView imageView = GetImageView();
mSuppMatrix.PostTranslate(dx, dy);
CheckAndDisplayMatrix();
IViewParent parent = imageView.Parent;
if (mAllowParentInterceptOnEdge && !mScaleDragDetector.IsScaling()) {
if (mScrollEdge == EDGE_BOTH
|| (mScrollEdge == EDGE_LEFT && dx >= 1f)
|| (mScrollEdge == EDGE_RIGHT && dx <= -1f)) {
if (null != parent)
parent.RequestDisallowInterceptTouchEvent(false);
}
} else {
if (null != parent) {
parent.RequestDisallowInterceptTouchEvent(true);
}
}
}