@Override public void onDrag(float dx, float dy) { if (mDragScaleDetector.isScaling()) { return; } mSuppMatrix.postTranslate(dx, dy); checkAndDisplayMatrix(); }
@Override public void onDrag(float dx, float dy) { if (mDragScaleDetector.isScaling()) { return; } mSuppMatrix.postTranslate(dx, dy); checkAndDisplayMatrix(); }
@Override public void onScale(float scaleFactor, float focusX, float focusY) { final float scale = getScale(); if (scaleFactor > 1) { float maxScaleFactor = mMaxScale / scale; if (scaleFactor >= maxScaleFactor) { scaleFactor = maxScaleFactor; } } else if (scaleFactor < 1) { float minScaleFactor = mMinScale / scale; if (scaleFactor <= minScaleFactor) { scaleFactor = minScaleFactor; } } mSuppMatrix.postScale(scaleFactor, scaleFactor, focusX, focusY); checkAndDisplayMatrix(); }
@Override public void onScale(float scaleFactor, float focusX, float focusY) { final float scale = getScale(); if (scaleFactor > 1) { float maxScaleFactor = mMaxScale / scale; if (scaleFactor >= maxScaleFactor) { scaleFactor = maxScaleFactor; } } else if (scaleFactor < 1) { float minScaleFactor = mMinScale / scale; if (scaleFactor <= minScaleFactor) { scaleFactor = minScaleFactor; } } mSuppMatrix.postScale(scaleFactor, scaleFactor, focusX, focusY); checkAndDisplayMatrix(); }
private void setScale(float scale, float focalX, float focalY, boolean animate) { if (scale < mMinScale || scale > mMaxScale) { return; } if (animate) { post(new AnimatedZoomRunnable(getScale(), scale, focalX, focalY)); } else { mSuppMatrix.setScale(scale, scale, focalX, focalY); checkAndDisplayMatrix(); } }
private void setScale(float scale, float focalX, float focalY, boolean animate) { if (scale < mMinScale || scale > mMaxScale) { return; } if (animate) { post(new AnimatedZoomRunnable(getScale(), scale, focalX, focalY)); } else { mSuppMatrix.setScale(scale, scale, focalX, focalY); checkAndDisplayMatrix(); } }