diff options
author | Michael Kolb <kolby@google.com> | 2011-09-07 11:23:51 -0700 |
---|---|---|
committer | Michael Kolb <kolby@google.com> | 2011-09-21 13:55:42 -0700 |
commit | a3194d0b9c9c36be29598cac8faf8453cdaebe55 (patch) | |
tree | 2aba814854fd4ed19fa8bac7ec885e3adfce61f8 /src/com/android/browser/Tab.java | |
parent | f575d44bcef427941474cb8cc7c8c9f2295cc26f (diff) | |
download | packages_apps_browser-a3194d0b9c9c36be29598cac8faf8453cdaebe55.zip packages_apps_browser-a3194d0b9c9c36be29598cac8faf8453cdaebe55.tar.gz packages_apps_browser-a3194d0b9c9c36be29598cac8faf8453cdaebe55.tar.bz2 |
Implement pseudo 3d overscroll for tab switcher
Bug: 5255100
Change-Id: Id756e36bba2644cc1be1a699f80dbd78119ec56f
Diffstat (limited to 'src/com/android/browser/Tab.java')
-rw-r--r-- | src/com/android/browser/Tab.java | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/com/android/browser/Tab.java b/src/com/android/browser/Tab.java index 8c9dc02..96920a4 100644 --- a/src/com/android/browser/Tab.java +++ b/src/com/android/browser/Tab.java @@ -32,7 +32,10 @@ import android.graphics.Bitmap.CompressFormat; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; +import android.graphics.Paint; import android.graphics.Picture; +import android.graphics.PorterDuff; +import android.graphics.PorterDuffXfermode; import android.net.Uri; import android.net.http.SslError; import android.os.Bundle; @@ -66,8 +69,6 @@ import android.webkit.WebView; import android.webkit.WebView.PictureListener; import android.webkit.WebViewClient; import android.widget.CheckBox; -import android.widget.LinearLayout; -import android.widget.TextView; import android.widget.Toast; import com.android.browser.TabControl.OnThumbnailUpdatedListener; @@ -105,6 +106,12 @@ class Tab implements PictureListener { private static Bitmap sDefaultFavicon; + private static Paint sAlphaPaint = new Paint(); + static { + sAlphaPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR)); + sAlphaPaint.setColor(Color.TRANSPARENT); + } + public enum LockIcon { LOCK_ICON_UNSECURE, LOCK_ICON_SECURE, @@ -2050,6 +2057,7 @@ class Tab implements PictureListener { Canvas c = new Canvas(mCapture); final int left = mMainView.getScrollX(); final int top = mMainView.getScrollY() + mMainView.getVisibleTitleHeight(); + int state = c.save(); c.translate(-left, -top); float scale = mCaptureWidth / (float) mMainView.getWidth(); c.scale(scale, scale, left, top); @@ -2058,6 +2066,14 @@ class Tab implements PictureListener { } else { mMainView.draw(c); } + c.restoreToCount(state); + // manually anti-alias the edges for the tilt + c.drawRect(0, 0, 1, mCapture.getHeight(), sAlphaPaint); + c.drawRect(mCapture.getWidth() - 1, 0, mCapture.getWidth(), + mCapture.getHeight(), sAlphaPaint); + c.drawRect(0, 0, mCapture.getWidth(), 1, sAlphaPaint); + c.drawRect(0, mCapture.getHeight() - 1, mCapture.getWidth(), + mCapture.getHeight(), sAlphaPaint); c.setBitmap(null); mHandler.removeMessages(MSG_CAPTURE); persistThumbnail(); |