diff options
Diffstat (limited to 'src/com/android/launcher2/PagedViewIcon.java')
-rw-r--r-- | src/com/android/launcher2/PagedViewIcon.java | 99 |
1 files changed, 2 insertions, 97 deletions
diff --git a/src/com/android/launcher2/PagedViewIcon.java b/src/com/android/launcher2/PagedViewIcon.java index b8cc206bf..4fa83dfa7 100644 --- a/src/com/android/launcher2/PagedViewIcon.java +++ b/src/com/android/launcher2/PagedViewIcon.java @@ -16,120 +16,25 @@ package com.android.launcher2; +import com.android.launcher2.PagedView.PagedViewIconCache; + import android.content.Context; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.content.res.Resources; import android.graphics.Bitmap; -import android.graphics.BlurMaskFilter; import android.graphics.Canvas; -import android.graphics.Matrix; import android.graphics.Paint; import android.graphics.PointF; -import android.graphics.PorterDuff; -import android.graphics.PorterDuffXfermode; import android.graphics.Rect; import android.graphics.Region.Op; import android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.util.DisplayMetrics; -import android.util.Log; import android.widget.Checkable; import android.widget.TextView; -import com.android.launcher2.PagedView.PagedViewIconCache; - -class HolographicOutlineHelper { - private float mDensity; - private final Paint mHolographicPaint = new Paint(); - private final Paint mBlurPaint = new Paint(); - private final Paint mErasePaint = new Paint(); - private static final Matrix mIdentity = new Matrix();; - private static final float BLUR_FACTOR = 3.5f; - - public static final float DEFAULT_STROKE_WIDTH = 6.0f; - public static final int HOLOGRAPHIC_BLUE = 0xFF6699FF; - public static final int HOLOGRAPHIC_GREEN = 0xFF51E633; - - HolographicOutlineHelper(float density) { - mDensity = density; - mHolographicPaint.setColor(HOLOGRAPHIC_BLUE); - mHolographicPaint.setFilterBitmap(true); - mHolographicPaint.setAntiAlias(true); - mBlurPaint.setMaskFilter(new BlurMaskFilter(BLUR_FACTOR * density, - BlurMaskFilter.Blur.OUTER)); - mBlurPaint.setFilterBitmap(true); - mErasePaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_OUT)); - mErasePaint.setFilterBitmap(true); - mErasePaint.setAntiAlias(true); - } - - private float cubic(float r) { - return (float) (Math.pow(r-1, 3) + 1); - } - - /** - * Returns the interpolated holographic highlight alpha for the effect we want when scrolling - * pages. - */ - public float highlightAlphaInterpolator(float r) { - final float pivot = 0.3f; - if (r < pivot) { - return Math.max(0.5f, 0.65f*cubic(r/pivot)); - } else { - return Math.min(1.0f, 0.65f*cubic(1 - (r-pivot)/(1-pivot))); - } - } - /** - * Returns the interpolated view alpha for the effect we want when scrolling pages. - */ - public float viewAlphaInterpolator(float r) { - final float pivot = 0.6f; - if (r < pivot) { - return r/pivot; - } else { - return 1.0f; - } - } - - /** - * Sets the color of the holographic paint to be used when applying the outline/blur. - */ - void setColor(int color) { - mHolographicPaint.setColor(color); - } - - /** - * Applies an outline to whatever is currently drawn in the specified bitmap. - */ - void applyOutline(Bitmap srcDst, Canvas srcDstCanvas, float strokeWidth, PointF offset) { - strokeWidth *= mDensity; - Bitmap mask = srcDst.extractAlpha(); - Matrix m = new Matrix(); - final int width = srcDst.getWidth(); - final int height = srcDst.getHeight(); - float xScale = strokeWidth*2.0f/width; - float yScale = strokeWidth*2.0f/height; - m.preScale(1+xScale, 1+yScale, (width / 2.0f) + offset.x, - (height / 2.0f) + offset.y); - - srcDstCanvas.drawColor(0, PorterDuff.Mode.CLEAR); - srcDstCanvas.drawBitmap(mask, m, mHolographicPaint); - srcDstCanvas.drawBitmap(mask, mIdentity, mErasePaint); - mask.recycle(); - } - - /** - * Applies an blur to whatever is currently drawn in the specified bitmap. - */ - void applyBlur(Bitmap srcDst, Canvas srcDstCanvas) { - int[] xy = new int[2]; - Bitmap mask = srcDst.extractAlpha(mBlurPaint, xy); - srcDstCanvas.drawBitmap(mask, xy[0], xy[1], mHolographicPaint); - mask.recycle(); - } -} /** * An icon on a PagedView, specifically for items in the launcher's paged view (with compound |