private void updateRegion() {
    if (mImageInfo == null) {
      return;
    }
    int right =
        mSelectedParentBounds.getMeasuredWidth()
            * mImageInfo.getWidth()
            / mFullImageView.getMeasuredWidth();
    int bottom =
        mSelectedParentBounds.getMeasuredHeight()
            * mImageInfo.getHeight()
            / mFullImageView.getMeasuredHeight();
    PointF focusPoint =
        new PointF(
            (float) mSelectedFocusPoint.getMeasuredWidth()
                / (float) mFullImageView.getMeasuredWidth(),
            (float) mSelectedFocusPoint.getMeasuredHeight()
                / (float) mFullImageView.getMeasuredHeight());

    VitoView.show(
        mUri,
        ImageOptions.create()
            .imageDecodeOptions(
                FrescoVitoImageDecodeOptions.newBuilder()
                    .setCustomImageDecoder(mRegionDecoder)
                    .setScaleType(ScalingUtils.ScaleType.FOCUS_CROP)
                    .setFocusPoint(focusPoint)
                    .setParentBounds(new Rect(0, 0, right, bottom))
                    .build())
            .build(),
        "FrescoVitoLithoRegionDecodeFragment",
        mRegionImageView);
  }
Simple experimental Fresco Vito fragment that just displays an image.
samples/showcase/src/main/java/com/facebook/fresco/samples/showcase/vito/FrescoVitoLithoRegionDecodeFragment.java