The below is the source code of Android 10 Gallery application,
packages/apps/Gallery2/src/com/android/gallery3d/app/Wallpaper.java
Point size = getDefaultDisplaySize(new Point());
float spotlightX = (float) size.x / width;
float spotlightY = (float) size.y / height;
packages/apps/Gallery2/src/com/android/gallery3d/filtershow/crop/CropView.java
public void setWallpaperSpotlight(float spotlightX, float spotlightY) {
mSpotX = spotlightX;
mSpotY = spotlightY;
if (mSpotX > 0 && mSpotY > 0) {
` mDoSpot = true; } }
The dotted lines are drawn in CropView onDraw() method as below,
@Override
public void onDraw(Canvas canvas) {
....
// Draw crop rect and markers
CropDrawingUtils.drawCropRect(canvas, mScreenCropBounds);
if (!mDoSpot) {
CropDrawingUtils.drawRuleOfThird(canvas, mScreenCropBounds);
}else {
Paint wpPaint = new Paint();
wpPaint.setColor(mWPMarkerColor);
wpPaint.setStrokeWidth(3);
wpPaint.setStyle(Paint.Style.STROKE);
wpPaint.setPathEffect(new DashPathEffect(new float[]
{mDashOnLength, mDashOnLength + mDashOffLength}, 0));
p.setColor(mOverlayWPShadowColor);
CropDrawingUtils.drawWallpaperSelectionFrame(canvas, mScreenCropBounds,
mSpotX, mSpotY, wpPaint, p);
}
CropDrawingUtils.drawIndicators(canvas, mCropIndicator, mIndicatorSize,
mScreenCropBounds, mCropObj.isFixedAspect(), decode(mCropObj.getSelectState(), mRotation));
}
Need to understand what is the need of dotted lines along with crop selection frame as below, crop view`