private RectF getDisplayRect(Matrix matrix) { DraweeView<GenericDraweeHierarchy> draweeView = getDraweeView(); if (draweeView == null || (mImageInfoWidth == -1 && mImageInfoHeight == -1)) { return null; } mDisplayRect.set(0.0F, 0.0F, mImageInfoWidth, mImageInfoHeight); draweeView.getHierarchy().getActualImageBounds(mDisplayRect); matrix.mapRect(mDisplayRect); return mDisplayRect; }
public Attacher(DraweeView<GenericDraweeHierarchy> draweeView) { mDraweeView = new WeakReference<DraweeView<GenericDraweeHierarchy>>(draweeView); draweeView.getHierarchy().setActualImageScaleType(ScalingUtils.ScaleType.FIT_CENTER); draweeView.setOnTouchListener(this); mScaleDragDetector = new ScaleDragDetector(draweeView.getContext(), this); mGestureDetector = new GestureDetectorCompat( draweeView.getContext(), new GestureDetector.SimpleOnGestureListener() { @Override public void onLongPress(MotionEvent e) { super.onLongPress(e); if (null != mLongClickListener) { mLongClickListener.onLongClick(getDraweeView()); } } }); mGestureDetector.setOnDoubleTapListener(new DefaultOnDoubleTapListener(this)); }