summaryrefslogtreecommitdiffstats
path: root/src/com/android/browser/Tab.java
diff options
context:
space:
mode:
authorMichael Kolb <kolby@google.com>2011-09-07 11:23:51 -0700
committerMichael Kolb <kolby@google.com>2011-09-21 13:55:42 -0700
commita3194d0b9c9c36be29598cac8faf8453cdaebe55 (patch)
tree2aba814854fd4ed19fa8bac7ec885e3adfce61f8 /src/com/android/browser/Tab.java
parentf575d44bcef427941474cb8cc7c8c9f2295cc26f (diff)
downloadpackages_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.java20
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();