From 1a304a1198f2f48be8c6a763b3ce511bd28af811 Mon Sep 17 00:00:00 2001 From: Romain Guy Date: Tue, 10 Nov 2009 00:02:32 -0800 Subject: [PATCH] Better preview visuals. Smaller thumbnail (removed unnecessary padding), more opaque background. Uses a white background because the dark background interferes with the new dark widgets. Change-Id: I7654741d845609200569fce34b6cde891d2b5d29 --- res/drawable-hdpi/preview_popup.9.png | Bin 4047 -> 4398 bytes src/com/android/launcher2/CellLayout.java | 16 ++++++++++++++++ src/com/android/launcher2/Launcher.java | 18 ++++++++++++++++-- 3 files changed, 32 insertions(+), 2 deletions(-) diff --git a/res/drawable-hdpi/preview_popup.9.png b/res/drawable-hdpi/preview_popup.9.png index 987f571fc1f17dc93aaef080e0a29fee4b400025..6eeddb2ba7918f4cd75f71e4526192db8a874de5 100644 GIT binary patch delta 1667 zcmV-}27LL?AFd*>zY2c_SxH1eRCwC#olR>T%N2&tIaSpojpS*|1hTQcuptoQO9pcH zS!EMsV`F0Q!iy~KBD>@lc>FW6x)+RB!8X{C=pUH7$R-D5@DpTGfpYo4Adh{sc_M8q6A3k&oend|?@AZ1R$i@7UVl|J=K~s*)GJ+nb#@dpS zHIIj*@<8Vm&MzpKG(IQQ(G!u6F)|SeGs`K822O#LQn`#^W~M}>Ap|3$)EHVHd%d2_ z63s6tSW~Pb#u$H?xnSnP%p5a&GZP{bRsGaHQiL9-L(ciqBJURwt5eI&QqDP>*~H8y zA%sXolgfo!v=b9;=9;V_SW~W+h^*zDTV}S-%!R79%*+vyZ!{{AWM>a0I&3~CW{x5f znR#qxBj?;$RYxI&aV6WNF^%fNk{wI1f{2Qg(z>c{m|1^4)>U;)RoBccREgG{GSMAB z3r~PYcQn+@l$o=LOqh8rA|qxVGV_3$2O=`?-Vf&yZJz0}PO)0B3q(|^YR5TOZf|e@ z>hk5wKP}7h$7NZTxLxOq@Bhm`-@SYHk7v)G{lz)g5)rSel2Rh?JvG;8%dE)`Q!K{V zGP4aLDpP+-TitH=XSZ(M`rYQ{<|b~%`K7G5diCm0Zrr%>%jeIZ|8aMBch@;bs;V(Y z4I$J|o-$1|nWJ6diKq~fH8b1DId{6%`1Fw`9$!GNlx9&g*8j;hZaP-@g5o_db81?5jsn6vg)T_E*livI?E`7-OKL zz0!pxld470Qq}g|yLWH3+ifJ+iYMBgJ9mDqs%|S6fkl0o zS2D;2PI5y}E6H?@-^K*1m1J}IAand?p^AvjV=P$B6r1IT%n^fHrC5$JPEc1+Ga7%5 zhRmFg31*8nIvW&GxPYv zhY$Tur*jcyUTyaG_x~*-BQu*g=c02iPm|2dc&_QvITuAFipc2An>T+$iNWjFum8%- zLlGGhQL2V6HC+->GP6l_!GotypFV#d4u?aOd38BBI2gQq`SQ;qa=^@EGn+IdqopMC z-bd%$n3)H|;qbeiot z^RHgL`nKQif4F(`=5H@uy7VKIel^(J+xypx7caiq-QC^w-uH=UpsFM1T%CVpWM)5@ zE_uq|4(auJQiS?`_8#O5q&Qr``-H@5sm6~S+CdAWs*$mH1pm|N{LieMP$Ov!zWLkd~Igys#=&? zFf+%@zWH>4+jKT)cJR$CF>`-r=2+ir@BINY4~S?WA_MRJn21hXkIhW7Mw&Gft%xzU zL}V@Jyl!SKRc$eIVP=8;w~K&pc${78Ekv#QU=tA;GxOLvH&oS82%#xhA|joZVslA$ zOtf0If{2QgQeftShH^L zOos^7aRKAM?^5HcO@g{8*R$3z~ zSh9}@H%%%?c77!L!TCI5or+`tKr#Ty03-w8^OFqU|3ANc>aNXy1^|m_P#Oek!fOBk N002ovPDHLkV1nd9DXstj delta 1314 zcmb7?eLT|%9LH6pJd_D3!n~%1k$%JVXy`YxQJ%>|6kA*8X}sK|@+)#pqi&vRh;C>( zPugL59$yiisvmwIe;bMrpkyH2I{db?wKcDaW_5J?weZ4+)=3>)F%^HyE-yWcg ze~NVa-YL9wkl~FXkM_Hmb6D*+IG2~PKVNr+t!%MNr2u(E6>-ZwNpy! zGJSD}YH%XnabWpfMes&v2yh0j?vt(AZ7I%(f2Sjglr=v*Qy|x`$JfHUtkdh_OeVU zV4l0?E#?>TMM+Y>#|LNn3}XC2j(M()o<>t*(+Z)=Kcs}o{HrDymG+`(H|nTZSsPd# z9$5W`%j5BWq1o5OS$xheB+XKdktC=N9()p1OifKCDV55hlb)WQ6ssRI)@Nyde_*9= z)w7)pz5(>72Qmx~UarhH4F$>r_-=Gj)`_!GQBi_0Tj)+_bRudsp_gPoSzKI|m(FF1}`|#Rf=h&^S&$JU9?kWV)VRQ79DM%gf6MywkHRM+|0dRVWme9qu(*EHS7! zeaGJiW35Iu2s=i+b?cVE?a_N;YHI5E@bEBXy~nAJavr|0alig?yZHtzkxZ^?1B41i zq6hVmvcDh?1m<4=hF|38emyAE6@K^-?Q`VpU^dmY-B!Ob`~isIJ$Z5$&wgc#*OJ6I zVjLVCto9EXdA+th!Wx^usG6}YDJiKOp1%4tTq>?x%FUUOwtz~V&ygUDiSj&n6#|_q zbf>jih6CadI6!LgtX;iy?#AtHxf{OPY}Z$-{3rg)ztR7{vJzoIpSzuC2evK3>!P1S zYQM?6O|3fhI4$3|BK1eh1RI<5W^`SpmEl>rqA#3?`nRDd8&%ohpd+@eQPt05fZ%Qi zn-ll+m<-G~vaZ<|ceCkqIub^{K`RUfB7*Q>2$f2Gi#i~a$yRL5#UX&-=BEHvU75-wEAvG zE-fulH8nMrr4y@g^JEyA_T0~`gi~>Iz;+;2-Ag?GMJkuq+7)YmLN#!?esf1ZxqwA( zU6(0)={SyAci25rxq0pm#>(X6KGjzT{_%ilAM0b z$a1`+P;`OWK$6@a6kK^4W>p|?ZfF@>KMm)FtP%)>F{FIAksE!wsLP+`O+jc{)nbzt zvx)t*G)(LXiA0-S6>mqFt@ZhMy3w5*!aqC%cmjS4cF8)Z&#|*XfN^MI< zbu)qc3H4YDl6W?)oJq&xh*{&I>f2G<`>bO{35a)*h@yBJ@j;Pk(4*%+NXnBp159-2 z3!EKd3hLyi%^j$i)G*eE`^0o=^|tADZY49eIHs^9nDpxVudu0kAZO=w%{-0H%~R(0 zr+B!1-PIPGXqw{XO<$V?j-)-@Ge`QY60rfq>}Cz+HLI&klo}hN3r^{&tjhy?60CEL GO#cTL`gN)R diff --git a/src/com/android/launcher2/CellLayout.java b/src/com/android/launcher2/CellLayout.java index 015f187df0..05fc20c443 100644 --- a/src/com/android/launcher2/CellLayout.java +++ b/src/com/android/launcher2/CellLayout.java @@ -444,6 +444,22 @@ public class CellLayout extends ViewGroup { return mCellHeight; } + int getLeftPadding() { + return mPortrait ? mShortAxisStartPadding : mLongAxisStartPadding; + } + + int getTopPadding() { + return mPortrait ? mLongAxisStartPadding : mShortAxisStartPadding; + } + + int getRightPadding() { + return mPortrait ? mShortAxisEndPadding : mLongAxisEndPadding; + } + + int getBottomPadding() { + return mPortrait ? mLongAxisEndPadding : mShortAxisEndPadding; + } + @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { // TODO: currently ignoring padding diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java index e7a4a3c877..a2a3e9a9d2 100644 --- a/src/com/android/launcher2/Launcher.java +++ b/src/com/android/launcher2/Launcher.java @@ -40,6 +40,7 @@ import android.content.res.Resources; import android.database.ContentObserver; import android.graphics.Bitmap; import android.graphics.Rect; +import android.graphics.Matrix; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.Handler; @@ -1562,8 +1563,21 @@ public final class Launcher extends Activity Bitmap cache = source.getDrawingCache(); if (cache == null) return; - Bitmap bitmap = Bitmap.createScaledBitmap(cache, - (int) (cache.getWidth() / 2.5f), (int) (cache.getHeight() / 2.5f), true); + int width = cache.getWidth(); + int height = cache.getHeight(); + float sx = (int) (width / 2.5f) / (float) width; + float sy = (int) (height / 2.5f) / (float) height; + + Matrix m = new Matrix(); + m.setScale(sx, sy); + + CellLayout cell = ((CellLayout) source); + int x = cell.getLeftPadding(); + int y = cell.getTopPadding(); + width -= (x + cell.getRightPadding()); + height -= (y + cell.getBottomPadding()); + + Bitmap bitmap = Bitmap.createBitmap(cache, x, y, width, height, m, true); ImageView preview = new ImageView(this); preview.setImageBitmap(bitmap);