From 19a560197950425f7e1856d5bd1216fbc680bf70 Mon Sep 17 00:00:00 2001 From: Jun Mukai Date: Tue, 24 Nov 2015 11:25:52 -0800 Subject: [PATCH] Introduce accessibility large pointer icons. This patch does the following things: - add new graphic assets of large icons for accessibility needs (imported from ChromeOS data) - add the logic to choose the set of normal icons or accessibility icons - make InputManagerService to observe the settings change, so that it can reload the new resources This patch misses non-1x graphic though, because ChromeOS doesn't have such data. Bug: 25778857 Change-Id: Ia5f95d47f50b3f6eea555c3af8069bc6bae0b400 --- core/java/android/provider/Settings.java | 9 +++ core/java/android/view/PointerIcon.java | 9 ++- .../res/drawable-mdpi/pointer_alias_large.png | Bin 0 -> 2358 bytes .../pointer_all_scroll_large.png | Bin 0 -> 1166 bytes .../res/drawable-mdpi/pointer_arrow_large.png | Bin 0 -> 1083 bytes .../res/drawable-mdpi/pointer_cell_large.png | Bin 0 -> 509 bytes .../pointer_context_menu_large.png | Bin 0 -> 1325 bytes .../res/drawable-mdpi/pointer_copy_large.png | Bin 0 -> 2413 bytes .../drawable-mdpi/pointer_crosshair_large.png | Bin 0 -> 164 bytes .../res/drawable-mdpi/pointer_grab_large.png | Bin 0 -> 1765 bytes .../drawable-mdpi/pointer_grabbing_large.png | Bin 0 -> 1401 bytes .../res/drawable-mdpi/pointer_hand_large.png | Bin 0 -> 1384 bytes .../res/drawable-mdpi/pointer_help_large.png | Bin 0 -> 1768 bytes .../pointer_horizontal_double_arrow_large.png | Bin 0 -> 827 bytes .../drawable-mdpi/pointer_nodrop_large.png | Bin 0 -> 2636 bytes .../res/drawable-mdpi/pointer_text_large.png | Bin 0 -> 488 bytes ...r_top_left_diagonal_double_arrow_large.png | Bin 0 -> 1000 bytes ..._top_right_diagonal_double_arrow_large.png | Bin 0 -> 991 bytes .../pointer_vertical_double_arrow_large.png | Bin 0 -> 800 bytes .../pointer_vertical_text_large.png | Bin 0 -> 494 bytes .../drawable-mdpi/pointer_zoom_in_large.png | Bin 0 -> 2287 bytes .../drawable-mdpi/pointer_zoom_out_large.png | Bin 0 -> 2243 bytes .../res/drawable/pointer_alias_large_icon.xml | 5 ++ .../pointer_all_scroll_large_icon.xml | 5 ++ .../res/drawable/pointer_arrow_large_icon.xml | 5 ++ .../res/drawable/pointer_cell_large_icon.xml | 5 ++ .../pointer_context_menu_large_icon.xml | 5 ++ .../res/drawable/pointer_copy_large_icon.xml | 5 ++ .../drawable/pointer_crosshair_large_icon.xml | 5 ++ .../res/drawable/pointer_grab_large_icon.xml | 5 ++ .../drawable/pointer_grabbing_large_icon.xml | 5 ++ .../res/drawable/pointer_hand_large_icon.xml | 5 ++ .../res/drawable/pointer_help_large_icon.xml | 5 ++ ...ter_horizontal_double_arrow_large_icon.xml | 5 ++ .../drawable/pointer_nodrop_large_icon.xml | 5 ++ .../res/drawable/pointer_text_large_icon.xml | 5 ++ ..._left_diagonal_double_arrow_large_icon.xml | 5 ++ ...right_diagonal_double_arrow_large_icon.xml | 5 ++ ...inter_vertical_double_arrow_large_icon.xml | 5 ++ .../pointer_vertical_text_large_icon.xml | 5 ++ .../drawable/pointer_zoom_in_large_icon.xml | 5 ++ .../drawable/pointer_zoom_out_large_icon.xml | 5 ++ core/res/res/values/attrs.xml | 3 - core/res/res/values/styles.xml | 36 +++++++++++ core/res/res/values/symbols.xml | 3 +- core/res/res/values/themes.xml | 3 - libs/input/PointerController.cpp | 33 +++++++--- libs/input/PointerController.h | 3 +- .../server/input/InputManagerService.java | 24 +++++-- ...droid_server_input_InputManagerService.cpp | 61 ++++++++++++------ 50 files changed, 240 insertions(+), 44 deletions(-) create mode 100644 core/res/res/drawable-mdpi/pointer_alias_large.png create mode 100644 core/res/res/drawable-mdpi/pointer_all_scroll_large.png create mode 100644 core/res/res/drawable-mdpi/pointer_arrow_large.png create mode 100644 core/res/res/drawable-mdpi/pointer_cell_large.png create mode 100644 core/res/res/drawable-mdpi/pointer_context_menu_large.png create mode 100644 core/res/res/drawable-mdpi/pointer_copy_large.png create mode 100644 core/res/res/drawable-mdpi/pointer_crosshair_large.png create mode 100644 core/res/res/drawable-mdpi/pointer_grab_large.png create mode 100644 core/res/res/drawable-mdpi/pointer_grabbing_large.png create mode 100644 core/res/res/drawable-mdpi/pointer_hand_large.png create mode 100644 core/res/res/drawable-mdpi/pointer_help_large.png create mode 100644 core/res/res/drawable-mdpi/pointer_horizontal_double_arrow_large.png create mode 100644 core/res/res/drawable-mdpi/pointer_nodrop_large.png create mode 100644 core/res/res/drawable-mdpi/pointer_text_large.png create mode 100644 core/res/res/drawable-mdpi/pointer_top_left_diagonal_double_arrow_large.png create mode 100644 core/res/res/drawable-mdpi/pointer_top_right_diagonal_double_arrow_large.png create mode 100644 core/res/res/drawable-mdpi/pointer_vertical_double_arrow_large.png create mode 100644 core/res/res/drawable-mdpi/pointer_vertical_text_large.png create mode 100644 core/res/res/drawable-mdpi/pointer_zoom_in_large.png create mode 100644 core/res/res/drawable-mdpi/pointer_zoom_out_large.png create mode 100644 core/res/res/drawable/pointer_alias_large_icon.xml create mode 100644 core/res/res/drawable/pointer_all_scroll_large_icon.xml create mode 100644 core/res/res/drawable/pointer_arrow_large_icon.xml create mode 100644 core/res/res/drawable/pointer_cell_large_icon.xml create mode 100644 core/res/res/drawable/pointer_context_menu_large_icon.xml create mode 100644 core/res/res/drawable/pointer_copy_large_icon.xml create mode 100644 core/res/res/drawable/pointer_crosshair_large_icon.xml create mode 100644 core/res/res/drawable/pointer_grab_large_icon.xml create mode 100644 core/res/res/drawable/pointer_grabbing_large_icon.xml create mode 100644 core/res/res/drawable/pointer_hand_large_icon.xml create mode 100644 core/res/res/drawable/pointer_help_large_icon.xml create mode 100644 core/res/res/drawable/pointer_horizontal_double_arrow_large_icon.xml create mode 100644 core/res/res/drawable/pointer_nodrop_large_icon.xml create mode 100644 core/res/res/drawable/pointer_text_large_icon.xml create mode 100644 core/res/res/drawable/pointer_top_left_diagonal_double_arrow_large_icon.xml create mode 100644 core/res/res/drawable/pointer_top_right_diagonal_double_arrow_large_icon.xml create mode 100644 core/res/res/drawable/pointer_vertical_double_arrow_large_icon.xml create mode 100644 core/res/res/drawable/pointer_vertical_text_large_icon.xml create mode 100644 core/res/res/drawable/pointer_zoom_in_large_icon.xml create mode 100644 core/res/res/drawable/pointer_zoom_out_large_icon.xml diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index f560f8ad7b158..740e55c9098a5 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -4919,6 +4919,15 @@ public final class Settings { public static final String ACCESSIBILITY_AUTOCLICK_DELAY = "accessibility_autoclick_delay"; + /** + * Whether or not larger size icons are used for the pointer of mouse/trackpad for + * accessibility. + * (0 = false, 1 = true) + * @hide + */ + public static final String ACCESSIBILITY_LARGE_POINTER_ICON = + "accessibility_large_pointer_icon"; + /** * The timeout for considering a press to be a long press in milliseconds. * @hide diff --git a/core/java/android/view/PointerIcon.java b/core/java/android/view/PointerIcon.java index b61706ef44243..d2a7d4ad4859c 100644 --- a/core/java/android/view/PointerIcon.java +++ b/core/java/android/view/PointerIcon.java @@ -16,6 +16,8 @@ package android.view; +import android.os.UserHandle; +import android.provider.Settings; import com.android.internal.util.XmlUtils; import android.annotation.XmlRes; @@ -199,9 +201,14 @@ public final class PointerIcon implements Parcelable { styleIndex = getSystemIconStyleIndex(STYLE_DEFAULT); } + int accessibilityConfig = Settings.Secure.getIntForUser( + context.getContentResolver(), Settings.Secure.ACCESSIBILITY_LARGE_POINTER_ICON, + 0, UserHandle.USER_CURRENT); + int defStyle = (accessibilityConfig == 1) ? + com.android.internal.R.style.LargePointer : com.android.internal.R.style.Pointer; TypedArray a = context.obtainStyledAttributes(null, com.android.internal.R.styleable.Pointer, - com.android.internal.R.attr.pointerStyle, 0); + 0, defStyle); int resourceId = a.getResourceId(styleIndex, -1); a.recycle(); diff --git a/core/res/res/drawable-mdpi/pointer_alias_large.png b/core/res/res/drawable-mdpi/pointer_alias_large.png new file mode 100644 index 0000000000000000000000000000000000000000..283bf7f48feceb39858808c296765478ca1f46d4 GIT binary patch literal 2358 zcmV-63CZ?}P)ptjaxtRRCz6sdQjMU-%pTZn|*NXR)S=V@lm$(lWk#Mvhw`la*CFd4qA zXWqT$UB7jf_%HK6fpdM%PfS0<48slPZ}Y!$i8}$i^l-%~ULJY-NihF<6t6hNy3lYh zV3+pH^BtMnwKlN5?-*eq96lA?b>^w#KfNzQ9>tkNti(_SoS~b=|5@Bo7jA)XBiz=x z_O;RSM3NY?fW^cftN6Pz+W!#l0f2Vud5A^K=Qi$TBPRzWTAOcIg2^Ffr~=OAKGMN+J6JIJ!tliZgp*hytj3_YoNyUyX<#oOu%0={!My;S_@jLCn9mTcfQdh`Zd~{b93l}}rn4KIu$dGqkj!Zy z)I2j!iRLpzCt!-lBj4c_01J`j=L7%Amp7-I$e^a8zKq+}^ku~7<`50I>!P&0gtEUy6Y z*ZVb9lU1pSnxvXnRsyU;mS+L@=sJ^u?M1f&9{H3+vXYdl5p@@DUE2Byz!vUj9%Ts8Xg2Gkl}a|97}Xv~m4E9U=Wej|0K9vH zvX%DnCGGzgIt=G>kX0-JpyhF;$!iM9wLrXl%FQe5IR;&1Sb++{z?lz^JRH~u1N3r; z-5j9HN`x?_+;L-JI+mwBCqloDeF$8s}U!SeOJO0^ldETRNu zs9<_cr~{4@Zw0;&hWA-a4*FIm@y>wa$qRCA1}+2!njlx>zI+uWRVD^EsOa`t6hRdr|ja12zO#oL~fjEu= za1}BPV+yyhoJD+(SY#Q-r;!Y7DZ3DmhDA2wnAJZ4*n%v-1z-naDv!|&mLpt?ESCci zJgQ7n%I*YA2Bwfzdg?uZDl3pi7XSyr5)OfZUm%NVC^pWJ&y=z&0edE@=%s}K&mqer z*oA{f-~HPIm(110wR7M86Tk_)R^WO7S~n;oQp#=wOa=)`SAKkX=ROFK?-)RXK&bnT zwKL~vnrc+78co%Vo)&-wj{WjA5bphbnJr}(0;Um_q7f>7Yb8J(vTOw4@x`i9rOH*R za#h}Xbzd*Q9%Q*2lgb)f%B}=#Ar)4gZGkq&^j8bOH}9!ZB{H)?-Q4c|U~r78sdNB+ ztyhn-h2%oOQAoQV1z3VC+W=_Y{^8x*uK#>#>!xrJ;0*w_A3jP8h*xe9i{sOCU&r6{rTF`(JiSbR*y_ z<-N}UY#|;E%IyHGMwYh$c=HE#N^~LM$YAuO&L)5zj2J|~!~FnsIC7Z_K>H?JNNxmd z26-BH&8$!lz-g9{jLwBbZpAnnmO75-F91T%Oi{AQz=eRlDJoM1D&M>U479U>1x%xm zT#A^ayFLiTm|cx$vT?ANx1XSo|hh5q-p(3UvfRbN9SJMIe5=N zA-NT>TX9l#u)T|Pgz!voDpmATsp{r;0A^c(A^^I!N2UXJ0`@bQ zO8WOxI45NqA-wQfRcoS3Riwgx#;W}3g#fQ2OB2x7rW~1*(WQX1l5V&(957cgVwp$< zzXJBZs0&nN?u=Q=)<_kp;>Ue?&xSAB?z{lqRG^|vSvSkL7Ce7o;q@017AW8w7LAv}Z zsk`oM3p{t;i+VO|2msLf$yJwXy!`feqoD|x43d?l0+ro#W%DlR<}X}EJhG&670+@O z0K$7VqKkR`v0RH_P1QjKag)o`J?FHTmaCa6S(%2S4t?W5Mv1#Ai)B`HnW z@~cqADp8p(=%-v|D%E%uYm5psQrSw4JmlErhbrKFO-xX-(v+zj<;kyngI^<+Yktnn zFpGO5uW2qWr*3kHmsg2OmQSflQ@YZWDqlazN>akPPnyvS4F04WJMgG$@I;<;&7-be c{JaAH0W0V|M5Zjmq5uE@07*qoM6N<$g7fuA3IG5A literal 0 HcmV?d00001 diff --git a/core/res/res/drawable-mdpi/pointer_all_scroll_large.png b/core/res/res/drawable-mdpi/pointer_all_scroll_large.png new file mode 100644 index 0000000000000000000000000000000000000000..c29db870273615c95841a363483402ae2bd0da6f GIT binary patch literal 1166 zcmV;91abR`P)dO{Pr^H)b21^JCwYGD%)E0Z1Hgy#)~5yV^1GIP>>A!L^_^7k zx3AZLJ_#Ox*Z8IJD?AJcqpx=WjrTD0<)JUzmxmaFM+lAp9zTfT$|K*eOZk4~5r#3S z1Q&oy{KbRELHxQ@Ksb1ei%M_;xW_|^6XFASJSDgTc>EI+PY4bG$9PM4Vh9cZ$9S!^ zu7vmi9?uE!0X&`)8~_gSl;8kxh^GVx0Eu@ZxB+auY(M*p9p!}p@0-sa2%v+&0X#ms zW<$WN-)%eGFa!?Z@y%MLSScRv1$9t5C^e5e0nOv!|Jo7sHfuir6)b=s`+EZTT*k80 zlGHL*uzK{N6L9nat5^wpmOqz$|2{bvEP%$}^>Yfii3Q}5lYJ4lzP|4Se0`5wSkw;b zycqy;dODH=p#U0>HlX@SqBBTgPWBA)k$}AE$W>nj01$!!u=o&=!7P5jxa_mY*4}jj zYVVLW9T^3H5Db9DE8wVvltf=b0+(?WsYpOdKDjI%mxPcyDk*>vEWpMeZiMj`Fo$u8 z|6cZSBqISy(=lfNgrEQtZvguJ=r3S941f?6K;sqAYSiC0-kkg$RO3zkZR?~H&^qbp zXefXa6hPwz;J6Yhz}8(Q{1y`Eu{SGyDzYwwfD2tZJOOY*_>_ZT6MwFygvthn;VGdX z0~o593$JH{AxZ8J03H$_p9X+CJptTl13o@Q0-gZc$A1Kq|NO3m-hBUm|G=cA%6Sk1 zkS_nJg!4ZM_cxIa0eT29fh2OpZ6%!VWw^J49Fmf#hd@t4jABYuh20%PFo5Q9^*>ut z3(@J0=CJ{o_}v{8ke0MjJqg3h5M!7|1`9%nSc)sJ+vCQMSeAVSw<8CV+oof+^4b7w z{DP#+NLqLqh6@p{V8#+G;M0D4+$bO~`wc8b&I3!hp&h}<@@ZcIk?~jTLInR?!nP&o zL?qE!9XF8eHjvm3orrk6nFkm_2a@)iM*@#`2k-^j5_o)k061Zt#>WS60*QA3I1p%jd;ljD^iH|Eg#w9>3E=mL zT=`k~8FHuB{2slw!x*NJL|Q6|DTHf&4_{nj6cd<~n!sqR7ng8;b&CW>q!Q%SZT#Xd guQ4d)VZc59f1%dViZ^k?m;e9(07*qoM6N<$f~hhN{Qv*} literal 0 HcmV?d00001 diff --git a/core/res/res/drawable-mdpi/pointer_arrow_large.png b/core/res/res/drawable-mdpi/pointer_arrow_large.png new file mode 100644 index 0000000000000000000000000000000000000000..9f59c4cae92195b15cafb71ed952f4a453dec297 GIT binary patch literal 1083 zcmV-B1jPG^P)1vjv#!z$5j4tHF%+?06${Z4+bV+4s!%AgHnA#dE4K9_Dkvf*C=H34 zv`vgk8-Ge_gq9ZZ!XiSWpw*&QvB4rmbCK+xJ^R1oFdTN+g%WUwGtP6dSIhhGe)F-z zN`+q}c;$a2AkYX4Si}-=2?SzkftD0m>P2E)k{^LUBGVr%K12$MOh!RA#RptQaOK2& zANtcMB-}ti3J9(~c%j!SBqtyVNCOaDzyEw93ayt=k^&fjpmWqJBzXw~fY(|S5QzxH z3M8u_p+x})3JwGkQ;^U~vI-LXDoF6FAi=MK1iuOr{3=NBt02Lzf&{+`68tJi@T(x< zKP&WEg(L;6!n@}kyd5R@RgmCUL4sce34RqM_*IbLS3!bb1qpr?B=}X3;8#I{bA?{3 z;6T8^d%?B92Gk|l14iM(g9HeJ8-YITImua;IQsvE`7KCiBY2)etc4iGF!0YAagVrL z+$Gk>tP^WRx42E*DsB;-B6H0&!qEtx~ z4f`1crRqH_hnSEF;PK5wUg`K1!<~NQZFW<9;3MGmZEM^F0Dy9L2YD3@&MiHDE z+Hjb{3$xjC9ZkD11axj&DXCGVLfJy45#P=T9%Br_H~a3KB+?XSr=TBuPVft<OvRYEz7uKNBlH*`zqebBmv)zt{Ee5h$#G& z{ryPuGLDmFS@+CpBOqJ}D1Z+M`2IlG+eC%}MKr@xs@6lsE+g*&>$a03KsbFBr}%Mv z^>8D+q$yJ#n*009G*4sCJ``8=ymGDSz=?pO4sdRK)!xQNSEw2)l)pF(JDQg91mcRP z9%89h-0DGY*1Y#*fw`G!7c5QCaaaMGA5GI$r66iUlgWrmG9x+{<(P%yBkB<>Ji8 zJzZb9*#Z+1>UfIr>~%aqql5Afxw)foj6rUuaB=pXp8GQ|Zv7Ue!OaMC%?2B9+tGTI zM&4I7)conGm#%x@_OYXX#rLFcBpi%D#~4ic&^jPWgMZAv{_5tAoqfl1i{uE2;$bNl z4Jhg{sx@9?hCpG>stT- literal 0 HcmV?d00001 diff --git a/core/res/res/drawable-mdpi/pointer_cell_large.png b/core/res/res/drawable-mdpi/pointer_cell_large.png new file mode 100644 index 0000000000000000000000000000000000000000..3dec5e5d825f9feb22e7d401a51a7182cbb527e9 GIT binary patch literal 509 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7`%AFdp%AaSW-5dwVmmyU9Vq?cwB9 zG0zhX0TNv=dBbSuMw*D|$ZfQ#;Q0K4z?}si-&;e7s) zj)sQ9bVkSD{Cg)?^Dy;r%n%SVO#Zi9Qc!WS*h3D5?fji``t`a_9DNMJN=d8&!iI(1 z92}7ew{DkSW8&dr>^n;6v|MR^{U%&%}P;+vr^7$VzQsEX1H?YN;>nGmp`=_ zJbj-toD64-Sot!oY#*0H(B+>h@vI3;m(9Kjk(^vp%O;Y~BC?)AZo>YLGACFs)NrLHKgwe8K%pz;StTHP2;Vk`mFC*;`Kq69d&9$cztRKzmwo4+=kqyH35r%vS3j3^P6kASRmXriix%Hut0@L!Ps37`KMxP8!($(^9 zS6A^%U@gVU21Q^&EL5UIp;54csk^@Ho%=d-=X5v>2k+!gcY7|_{Mb)(?>@hM{_~u3 zc0A4X#e?h0|42Y#xatB2sx_3sGx-0CXHW(dUaE>$TZxBtfmU&rz9DZYWRf@d28C*h z!0LE~gIAs*hlg>TczIpdRbA2LOe*FxbrJ=ysl4&Wzo~bm%Q{X>!87EcW%782R0n)= zfIoHLnUxb%P=*|Z)}9yu3gntQfbBp50ROf={X zg-_B7XqSB^0O*u}SV0rhfRi^VeghGQzvpAkSm<-vN1HMQ*NOHWom@P zt^;y~Ss$NXi3dc~sZzVI{H%4M}Miv`A*sX2$rJ95vf63p~8cuKdN+RufQmd!1b1CAOk;U*GVh9BaVQP0X!R z-Zz-|JA z9kPKx&YWu=#vaDFamvBPt4=jC+8_44+ zuZk|oeV~TWl$glD*dt$zDnuw`6a*8oZQ^jo1NagH_<2g<#O*i z=Q%vT^YlE=eeQWDD5d_V;cWOn0Rff}5gr}v<6XuiAmoP8n6wd$kGws>38&E!K}--A zWC#)lGWa~keqqo5UuT1J(npUT)#7Th>@xvQ!=o^6?b@};n>TO1cJJQ3U5_6>{&;wJ zctDBZihDdqJNl7~s7Zup0vr>^q-|(mVBmXNDai==MSx?)aadW1IuXgu9&BJ~c5(v@fPPoJIzJ*GE!B_Ial1-S;fLpN^RSS@W?ZY0=<>3N(x zasK@I1>)X)nD}b{74_ZsYgP2^2`VxM(2joS55aioAqg=}f)@g?`f#C?q7Xw@uU>t_ zjRYHUu6$ct+Y92#J(#eyvsD!~PJ)4+f&LiBKZ#!Gb9%y91Vq?5DJWEwZQHhuNrE*2 zG=Aa2h53VngXb~P2cH~L89#S7(h%2njKg?{==&IYH3?n_$P`Q#lyD9-_(K9$pL()y z-MaM_Cb-;pNu_?BMT5K(U;^Vm>FrPu=!JgHLoXPcfILB&L4aQ*=+)0$ym)buxNJ9+ zzy9ZCFv5xe0D2%pLqpxrPurqi2`D!R@QVb!`Z*UbUVIZu|Izg!46rAFfIbNHV;=1V zUI?f#2=IXfu0H?d`uh6zLLoxhcoG18kpBMu_b`v?1)q)pdlF0nVjMT+;lqa)p$u_- zJPDZJQmr7O|DTwL^Tq54uqVNE|6D<#gseMIgycpWU?W;baZ|p6KtJZee0npqBfy>n zopU73h+~F63vu-r%)|LIED5kDfdnKNa!X~Wz6%9dF+V&2`Y{jZOV|@&Pl8E6+5P+X zJ23d=mKS~510Fnh(1CfZ39u)@-2=M1y57gYpB(wIFHr#ceeeJa5*&NLv17-6gh3y6 zwT~+S&<8nw{P+eR_5ceK98sXEs_I!OZuI(*2|_RQ`w#^zNO0r(;HWiOc>Q1O9U9fc6B>K!1#*>kmL5^g_SQyTEvo@TMj~*BJXMd3pJ~ef#!p?dCNdjir-0x zKtS+G2tEP!T)3cYg(p?; zdK(WM0h=~$QjqHEYS;F4>((hqZ*T8VGMW6gwABc{DtJloqJe6`R|H>Xem{e0ZaFi( z9LD`fU}fc5Lw z<17x3Wt2icTyL1k~5pj~L(5 z((=b^*RJ*9X8ZQ-uKg=3EAfF6P+PWasl!_wjVuu4b5198uAf8WGXk**u358Y#Q6RD z_rD`;-)U}c{u3VDzI|K8<8fCK4jw$HAQINvS+ppmfqap1h0gb5PUF);KwVv(HeN~j zsae`y6)cTLqbsC3^B4^)SFUs=K#r;CgG*1QPMtc71Q>@J-Qmpn(?-CmRjcroRY6Xi zIMKw4Of`4(rSk0WXghP}%xEDIM^zN$+_`gqVC5!P*Xq0)kd{nv#flXp#>*+pX71q6 z0t{ITmMmHF16f@KnLBr`D+vt^4GJRXd;7Twrs(G3z!I>0`SKCt+uPgUVd$F1s%r)R z{eqz8%9Sf!=(lIjo>4=hoIh5O-Me?A08+#vNHk~!lpAMn^*6TPYvXm{ktpG={*r8l zzm@2K616HSDsm;Esi{eE!@NKeC+iF^cmxn~?sk{7J+F;t=*rQ>OBymeD=X_8lClo| zw~#0#0mG6)S2Gk&#Qeb^fQJ?orK6(*#?LT~*R?x*5v2PdHs6X>^GqXvuV;As418eSddm8T&JyMJa^Cb6g)|+QdO^w>PaUT?pk<#~w!-;@`hL1hTz|D&TvkN$1W zoH_N;{Ax_^ACtLn%v!yAb)Ee7=dW_zgcl~kw**TCudwLx3_T`A zkBg<703c)_?D2Pa=AS_}y`Ylm@_ZIRz9x8?hCj#l5=M_Kb8kr}0k()3QRFFBbE=Fg zPZggP8%2&x$7d}M5>Nun-vH3Kl<`HkNKn8P&#^E(&;&Rm$wY?ETwKSh>I91bdzhQ3 fiHOtibQ16%Yiuk{UQFG#00000NkvXXu0mjfzHyh` literal 0 HcmV?d00001 diff --git a/core/res/res/drawable-mdpi/pointer_crosshair_large.png b/core/res/res/drawable-mdpi/pointer_crosshair_large.png new file mode 100644 index 0000000000000000000000000000000000000000..ea1f5fc07ff7f9239882c99576eac217e8e32b84 GIT binary patch literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_7UY)==*kczmsHx0QCDDXH0o}Xx4 zot7=Qy~#^-`t$kB=M{s4cFHg?9N3<zE literal 0 HcmV?d00001 diff --git a/core/res/res/drawable-mdpi/pointer_grab_large.png b/core/res/res/drawable-mdpi/pointer_grab_large.png new file mode 100644 index 0000000000000000000000000000000000000000..2e327661d68fa62acb73629600632eea47c4da47 GIT binary patch literal 1765 zcmV2Ejw#g`pLV{W}F@i-z!!4RASZomtwA2v98qjEHMY*XE zBvKR=fffbiqDiI0RiLyuoeKplIwKT_O~8byuhC(yOU~n9XK2*m za0@KeqFKF6P^d*9gzZpw+u}|)_>*o+G-z}@EfSHl;ZqK@N{3tg#3~zYbZRb2s15ZgrKDq(`~anX<|Xq*dI%-UY?p+pVG$*|`gMwMB#ox2$W#&Nf!CyYC1EF2DNsU5Ne3H5 zm;)bDk^MxVn_m6u@~W4~f=U$v`SC_{@T>?&!GYDZpkOPnndW;Q_p%LsW=@!gqNK*UW`Sn)B2U0(;rp@L1a|p%yFrmT)eoUh zh_DWxsdf*DQ!r#x4GHw%7!g`2dRAC+l?0MdP>Sz>4I&3PKxOt3*`^O47ulwRF1>lK zNGp8*rD0u$ml`tIR6d4ts(1z6nCeK8RwbUvk1r{aR`~dwt;GdCZ;CpZprA`JCIH`X zO1v##l4~7b-T*040G?716w(;GRGov|<^`)()O`25n5o9Yh_&=;D^Ea} z{uvypoWyC`-R98LN0@FrtoH^_8&n7*NSpzwoxG|NsTQ04-drCv9{vmuE5!T979>(n zbEC?T`KorO7!UU`VqG{swg9EP?()XfuC#X&Q`An6cG_$Y2>?=*P*SwhMWyY_ou^>p z;Q@HqaNGfqf)Pap!`hsq=Vo8B``r>)rx3TG*a9O81`XKa>oz@Tp4Uw*gIamTOK}9n z76gGI{q}g>`POZ8oGuf|T75iLet%LR2n^&3J6-C|ZlBa@;5v0ObOd;wa_ue~HJJ3q*xD3w`!@%3|9tx6Jq$u!bG^2#%6Kc#dyV=+kA9*RFM$@o<-3 z9?~C{5Go5qiK5}~BKFu~v8^lpR_$B|s|_oJ0UT98XvDC=kV3a*hL+U4np!=_2G1)f zjy?k*zKL8Re-oa!YKM!|#?^4E;gA5{Ss*^kpx_q&T0v{00ILxYH$&cv zUA}8@k#=Ka$OUk%p*R863W$x!6*{fh?F;^6EG*Z~L!LBfC$eSm%_PaF zRj=8t^jM_bfWi0z#w-wrF)XH4&T^mUy*O%Z_L!B<&|yz55bj@#Ku{1ClifDE!U8SM z-fJzez*4u{p-;a7!|@}e27xdMQDIlr)tBEt&VS7UQDGn`^y>BIDAjA1-TD2)@#7VU zzYyVj!S4KkN)`Sd!XJ*uk554SUNC4Nul`CE{x?{@{VMZ6#89wODXNat00000NkvXX Hu0mjfQtL)Q literal 0 HcmV?d00001 diff --git a/core/res/res/drawable-mdpi/pointer_grabbing_large.png b/core/res/res/drawable-mdpi/pointer_grabbing_large.png new file mode 100644 index 0000000000000000000000000000000000000000..3c547517392ae39388a7159a7e18c30447d14ad9 GIT binary patch literal 1401 zcmV-<1%~>GP)M8&A2O=E)ER%1&-qCz6ZLO|OzHZ{`N zlxWqak!q=-B9z1|7Lk>LWxLp#5}`o~8iCq`qKOeCba!WG?i^qAB$rIC+ZlFvSg(_|m;sQpel<&=XS_aSLEIu%F>c$H(V)=bjETcFQPc3aZ>zPZ!qPP<~- zPCxIKyIhcRz|*~AGtgLvHcbVnNFDD%1`>73ZUX9 zH!{mR^y<;0sv?sK<0TLR5TvDjrtvlf&pt83+JmlF6|_%}a<2Kf6KV$B$VY8+nTh~e>&%>iAwces_{Pc*5LEn` zrfsSR~_M?vr+ z#oIr>m!}!P`7IbTYQ%O=o$yr`hwbpJhBN`r7f?55)Tnh%JZVt(IcFEId0C@10i+CS zMxC{e@9I7SM%klLj9?)U(;$u+RWs=LfRnmSKRlE6-vlyB6h>{$ZPZ=rwsYExNuWre zRYBdDek1EOb(6i$FsLR8&?-R6z?gse%?VF;zX7|8^5p`>?_s0(knR!nGweBy@e+V$ zYQs@44B4$){J}|{cP^a)C>MxD8*Jcy-C_&uRM(J;c*_^RtEc=WXM@bfN}v)2-xlL9)l*%&tZpp`vU1^@I6+FCdR0zI9t{LGRDo| zc|-d>X<}@1nq7t^0mc`Al!2Oc8mpZ)5q<{!>TL_e^Peb3ZT!1cE}Y{AIBvfr5X%M1 zGf-3Wh`(;I*@g0bO@3i4?H_Fj#NuMAIcs%1x72{n;bo8UProd0097bg2r*?)anxPI z4}Yr9h4KUcHl{8YW4i)Kb0Cx1=T2WXOVBBGdu&xxPy5%lK#bvyIS4WwvQm#srhQU| zMkE2+5(urMm|lz>f3!*$n_3cxVrV}BMC6E~hMKBO=tv-4?#2FfB#;!+G*o0Aem9Is zA=i|PV&?)xG?PMSd`aLx@!NUGY)+~g00000NkvXX Hu0mjfT{4#C literal 0 HcmV?d00001 diff --git a/core/res/res/drawable-mdpi/pointer_hand_large.png b/core/res/res/drawable-mdpi/pointer_hand_large.png new file mode 100644 index 0000000000000000000000000000000000000000..785047f7cdfe707db60d1931cfdb7b15de0a474c GIT binary patch literal 1384 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 a>mP4~^1JjElb-DZ#h|CFpUXO@geCx9DbUdX literal 0 HcmV?d00001 diff --git a/core/res/res/drawable-mdpi/pointer_top_left_diagonal_double_arrow_large.png b/core/res/res/drawable-mdpi/pointer_top_left_diagonal_double_arrow_large.png new file mode 100644 index 0000000000000000000000000000000000000000..eecaa89204ed61d09d6b821b13c335f7e1028573 GIT binary patch literal 1000 zcmV>P)Y}j9L3?EJ@&k0VkaIE#mNvm!Yy%X%QQ(v8&Eb#NFebd6*g>u1uH}su!9{dmVAP4 z5E2MgVu92J>ZV?UR3ro|2%=3}+BMCali_BrtiP~ue8*D_8|UnEp3$}D9w$Wqb0&ZZ zU;>x`20Z{dmAs0TAbFLX3KEF`fKhQW2FZ;l&LC!as9#l&t4$Zfb>UT z;WA680EYE@e|_>Y4HlTiqeyxH9sxB4Fs%RRHCCxJM+rv`AT6M-00#BD53XFM%~MpF zk>}3%TvLbVsiy0;X}y0lHpa zInU7KEGx9w`1LCzf`z5)d+O=C8Zb{87t3@HNPU|#EU`$)GELTu2sRE=*VlS?PwMr= zWRXe|Ks-0}h06i~GgO#kiIvj`Kg0y}b}Ui)ZoOZR1}qWanE{q`{fDpXxxp+`xOkL! z!h~?3?uaig>Uuw-52%>|Tq-P{Oii`*R%LEr>B0VQ!mC3F``d^2q&_L2%>3a!wR9WQ zW$ox!iaDWQF97N$fP7pLsGT3Oz}&#t${7=+J~5yepLL*8p(OQ?h#>We0J^}&#aHog zq&_KuaRK`Bz{Zx#1563&0h*APZ~QSU0UdiyQEH3E**!Tp5oT0@!&vJ?9 zRGuH2OI)B$gDPbl@@WB<2C%>~XE{fk&WN;GrNNT~_!JEQ!y-q3ONoGa7FnXEQa?2{ zLaO>}2?cWL0TwnM)0C+Y7-g0+zMeN}0Ww(}T=PHZ$K?gRu2KQg|3hO0Ap1-J6Tm-N Wa&*bWKE#Ru0000I literal 0 HcmV?d00001 diff --git a/core/res/res/drawable-mdpi/pointer_top_right_diagonal_double_arrow_large.png b/core/res/res/drawable-mdpi/pointer_top_right_diagonal_double_arrow_large.png new file mode 100644 index 0000000000000000000000000000000000000000..9d47ecf793efa4057b9d7648e60c6df1c8e34334 GIT binary patch literal 991 zcmV<510ei~P)?(Aj8<5};HuzXo|ZQ%s3y({BOL}E~yNJvD26o!TdD5wx_(vglTW&Q#; zC=v)oqCiRkG;xm!nNi7O{MNAUy&gi5aLs&XnzJYfadi}yIVrY02rl46?*_> zJnD=wb?x%bwh&SQP3pKf_D_LBm4IQ|%v`@|GX3$}|NN=cPpXk4KyJp7&zGP6A@%tJDg-y? zckfGm-j~3;IlFgH>T|ydZ*`tkU$6mCIF0~LuRr+x^!j(z56XXGfF3p;zZ(B02;=%) zB@d-3AQ?A~9&B_dr&KTV5a8VnIKCi8+RpsfK)2w$GRF~4^|Q~gT> zc(@EuN6!mauk2_7En|QX_P2I7vehTUw<9A9GuJNfZ7an%4cu&i2?4}}I}yR4UN2uV zH8H`|^-KF(j8HQL2*ISj03Za08Kb$jOsIK96Mzs*>k$G04ZbW9X?n7{LYGN~2~z9D zjx|7*rk(9C-l9nZj}k@54;dKkdq7*69eRS6^}r6`Qm3huIpJW z0%U~nsZl4)lm;~h@u=X~12lnBj4;@Y*W2+@Zvn9XL&6e}fBJwv;9ny;gruQGfO`M{ N002ovPDHLkV1m!_v*!Q+ literal 0 HcmV?d00001 diff --git a/core/res/res/drawable-mdpi/pointer_vertical_double_arrow_large.png b/core/res/res/drawable-mdpi/pointer_vertical_double_arrow_large.png new file mode 100644 index 0000000000000000000000000000000000000000..fd777b14bad194fb5be9a85f5e2cd6c876b049e4 GIT binary patch literal 800 zcmV+*1K<3KP)k$rw{fK)wj2r!KYV~{;g}*~@#CtOU4E;W|iC~k1sh^RjLSPf1;#0Vf`;Ys$ zOew^F1We%I61)H0d+I&i9}vUE5eRkxIv>INa}?zJpQqo4ctiw(U4YIf?vDHUAHn*B zyCV_;!74!KZ%S#5ljF=-jrYfFw4vT5g`F`-kcBypw12A>I+x+@M`i$eObo` zCrda$M4cNwV}PDISt4Np4pCC%C{d@$I-6{^!5@qq1u8TIK!XYea`<`~(xmW+hW{f}1YDxT zi0dWsDNqvtH46A7iK9o1s6N|6-2;lC=AcJ}BsnSqphAu$5u8`kPZt|Ep+g*>vH&RK z6UUK`($NFPfH7bU7z4(DF<|sx$0I&SLZ4(02e!`ghfj(S{wTHcF!_6khiiD2-<&I#M=Q%z_7HD0b3j{HLc}|N3iufkabD3bAH@F7`f>GY& z9tca&`Jdm1^JV~<5GoJm0GSXXZwd%Skn`q%5Cl1I3m_5R$y)@-1UYXLAQQyAeZVlG z+5e7sdH(f{rjWM?7$(f}kw&-E?a<&OvqIiFKoiK2r$jYai98u0Zwip72_9*(d0000YH&!9i~?qIm12MY?qmw}>bX zDlYBj7tl#jIykhpbaPT3O-^g*2gqrMmuGsX^W!9W&Iv<<(*ytl5P$##AOHafKmeVm zPUUVmKipJX017OfuKNu zgud|?+mU1an--wASXzZg3;+^3Xa4Y|epWXPwPFpy{M{Tn;DO{O05Vkc46U`;Z=PB) z4F)Y7jCKQB@>v6w&xgl!ZBzJ61pRo4B`{HL>DA$Qs5tX6b%@CfFG@3 z_73>|Gl-Axi0^@t6~`|nKS+noYQbn=wTEnC;4gU+y@k)0EKQuzW@S2=Orl~U`Mxx9V=o1&Z_ix kOaKB9fB*y_009W_4X9Es7-0@kmH+?%07*qoM6N<$f>OiA$^ZZW literal 0 HcmV?d00001 diff --git a/core/res/res/drawable-mdpi/pointer_zoom_in_large.png b/core/res/res/drawable-mdpi/pointer_zoom_in_large.png new file mode 100644 index 0000000000000000000000000000000000000000..923ad7922649c34f50d5a7106b05d56aa24a7f1f GIT binary patch literal 2287 zcmVNJ*rIc=xhTJyUOE$Z?Z}xmW{md&>}Fj63SlB+0L{}X^&I#=@R3j^EYk5Btk{a|J?`Od@((K`<`h(j^#A?yRpGtZNP zUoRf{ajFYcm>^6KQ82^Il(Tz>6iU7ggnfW2Zk+jN%c2kJF@SEKW(N&qnaUzAzV*nc4$VSeY3hpNekc|D}+H%P^SHwI4*7Aj2H|wKt zitCUIq=elhfytIVby8qX#e4x~`J%qtNW$}!AhvQfJ;3zwz01X6CD;d~mG9We4D3Se zhdSDUsee3FYZB%NunfNYGCctgBXdkOr+~42QYr;%InD!+D~`)6r{0FWNJa{|iRbA; z2gW(VBW%hfu!;*jvgN$&}U$ZJ2D9Sfyi@GW=?}`K$hf4 zft2x*E)=8<_3pN3HQY_Vp zR@h+yd>u%}&y*k4#+-?!NK>B)=yQdQPr~q$C{!|{mxEJ0qE5FozbR*Gj5DR#Gjgk%PoMXfbQLvNw5JZkn&G1 zhl#W^ISmZIG3<@I5>2rK!KMza-J<}sdpfkBL5e$v-4Wl!0NiTo$I2EB>*be^>Uz5+y@QX^$*8QKNhydGkRCF7)s913XzvjBSCK~Ma2ibpaQZ|E;l ztNNjBK&7KWpVld|0RB#j;iH4@KCMH0%X8T0Yc!-%o}j`xcj~1p%k}T z01pE1|7Na$3RyaSinQOjCrL5da|Y1uI_^H=bG7ViRRH$2x>}C--u859#t8VQW~NzW z0qh0d+@%1vr@&zVmIU|1ofg0rbdt$%^N_30)v2|+Tm7zP1;EwZ>Th>}Vt=H&`(Uz%X ziZ56IjX-jwYOO4i68qb*K+2@{j;;F4Bo!9G1|~2FClbb<4>kqd|Ly|;cd#kqjJv1e zDfXwK9|ihemE}?;#i|k6Y{eypcxB{J=FjWb(9!j&lL@ElgxYaWyZ5-KQ|og@oTL8a zuucz)Er3Eoz#qRMOQb>yCC4rxSBj)kmc8_C2xeRh|9}}F867mBrTsKj82k?(UIOzNAP6$^hkIzl|*Mh z6=~RdV!(@c$qI7?*al>qldxjXt$HfSRT+c|9wo>$lZ-RQIFn3qkk4m8b8rCze%T-m zQf2uiuz5vPC<~=t8c+NddZGAf*OjnKa5~&lA&e(0Pq7;y4GOk)JRKKzCd4DC|UL zCD;LEtCdiuMq#aNyy5y2f0~&Dn83?!?q(-9@l76LFCCx~d-u5?%C;^K+=rN# zD3vOyla;bgHeY|kpYRjxg)keyN+^(GStvEK zOxDPH*({fT`ugAB-?r!EE2p&{Uze->1<%hP`&Q{EWQ%N)4YFP?DZA|b0~aLZNVd&q zL~1z}Ntskht$|o27a3(X8IUbT7-5Jgfd3k*iJ z0jZH%l^RvJLdvAXKo+a9T4E5koStPA`tLp4o^1fqpOuQkU=$mWGBc&BaG}A=Q*lVC zA~c?l@Ks>?l$5L6HM;;4VKP*qd?N+wzxkZlh?*|5e=I#8A)6TRz$#H=U>jhCm=rVS zvH4NN3lPGcPd_0rMx^LJrw%ryqFlX{nnJVE%-^0*sIV zAkwzRTCzMEqQLw>4G|EK=rNKB_C`IRPMD}B!kgwW!mDEU`ks7Hsj*4b!#sB4G zsW$FVO}gAjnZY^xPDMTlfLPzQsaRfZeJ}vCiD&dq$pn1J`4?Owx6j(=V}bwx002ov JPDHLkV1iN{OK$)G literal 0 HcmV?d00001 diff --git a/core/res/res/drawable-mdpi/pointer_zoom_out_large.png b/core/res/res/drawable-mdpi/pointer_zoom_out_large.png new file mode 100644 index 0000000000000000000000000000000000000000..aa47eb94fbc61dbe19cc7a79b723805615987ed9 GIT binary patch literal 2243 zcmV;!2t4543_>aGD&dxo% znS8(b&U3C3zE~W-V7?UiQotib0Rq@wJ}A@dk07>n9kBwPU{fm`R4#5wj4Lcn9&Vk| z00Z1ek%!-MG({cL!-yOIN?{2Q6g=lQ#B6bryd)hO1lo*As3fSVW{raiP za2K(du29QZ_EGT7g%1+LjamcefBNnPJ;tn5MUSzBe3D$v6V#v)+IWk_RFF>{lW3&J zcMjczXB8sv1EI4={P5hepYNlBRxB2~mXxXPy zpQZEy8>Szm4*AV}nTKUHDdNKym*L_>uYiMt*YiSHhh++V@tgfRH%#ehFK~6tG&k1^ za^JMpzzsGN?Q8*c`9;wM%;|@lI30FjxdLdfQ#uzSA{tE)h9=j~ed`86gKj^C^Res% zN{1N%741Tza4t!D1JWGCay~+)UId-N6RpgCVNi&mwL&rtiLz0=g@F%&H((+2M3}Fs9X$4LJEt6gBD-t6d#ZP5?C^TQ-Crd z5zm6{El`X_(}q?m7SI`4B_ajFCs=v_K^g_ohXB+IEt2gO>p>d^_E3RSNcvxIWbnx< zt+4JA6OXtET6u-=K9;Wlsk*M7hLYClj}$|({2hpwigIwpA@^y+^hMz~Zb`svSk40K z4+0=jDp+dwV5RAaoji2rsaPA^*$MPHY z@(86R&PCEH4U#6S5~`=u2M1O$oq8B)AG`1H{8L@bCLi@y?BG#AlA_+d_CMU`ylTc#M^~B6114k3v!iBI zr!ey%%AHWq;UKhs+IH2vmi@!o#A!suAj(B=USpr&T7{2V*u9kG!HYGCVEWWyu2c56;2``f}qKgAx+!!A6L$*T~|yM zuP~g>NOBwRG6BW?jK{#{hzcGSM3e@yC_rtmEC1>1*NmAxx#uKaVFjy6lMkH9bb?E%nF# zz4g7Ndz&-(1PD&A`0mAnCN?uUPXR{f6li%SRPYgWw0A@*rw~fS!WP5BB|HYeo*npP z(FiUD#f8EORx!E5f!Gub znQ>h5=Yq$HFn<^(aZNaOIavks?_2_;k>QJWs=*UapfGLM)`80r1du#|lh(nU!C|w% z8VLYg1fWrkxN9dJDa_z0`p#h`L6i#QOMo_|$20-N1V&T2YpmL4WR zqEx_2fOPn_JpWTLbf{ofcPx&J0*EZoLBfvEIQX3@jH49)*nN$t2m%p^tT2RY=$EefqLx$J)%x zg?xc-tAe1%R`KkFl0x_SO=rI$4<&rD{0C_a7vAME R-rxWL002ovPDHLkV1ldZGmHQL literal 0 HcmV?d00001 diff --git a/core/res/res/drawable/pointer_alias_large_icon.xml b/core/res/res/drawable/pointer_alias_large_icon.xml new file mode 100644 index 0000000000000..149f58cf5d013 --- /dev/null +++ b/core/res/res/drawable/pointer_alias_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/drawable/pointer_all_scroll_large_icon.xml b/core/res/res/drawable/pointer_all_scroll_large_icon.xml new file mode 100644 index 0000000000000..c580f765cfef1 --- /dev/null +++ b/core/res/res/drawable/pointer_all_scroll_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/drawable/pointer_arrow_large_icon.xml b/core/res/res/drawable/pointer_arrow_large_icon.xml new file mode 100644 index 0000000000000..22c7bfebf951c --- /dev/null +++ b/core/res/res/drawable/pointer_arrow_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/drawable/pointer_cell_large_icon.xml b/core/res/res/drawable/pointer_cell_large_icon.xml new file mode 100644 index 0000000000000..f2530b7ba1a38 --- /dev/null +++ b/core/res/res/drawable/pointer_cell_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/drawable/pointer_context_menu_large_icon.xml b/core/res/res/drawable/pointer_context_menu_large_icon.xml new file mode 100644 index 0000000000000..c57e615feb94b --- /dev/null +++ b/core/res/res/drawable/pointer_context_menu_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/drawable/pointer_copy_large_icon.xml b/core/res/res/drawable/pointer_copy_large_icon.xml new file mode 100644 index 0000000000000..4ee3f18f0c4bc --- /dev/null +++ b/core/res/res/drawable/pointer_copy_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/drawable/pointer_crosshair_large_icon.xml b/core/res/res/drawable/pointer_crosshair_large_icon.xml new file mode 100644 index 0000000000000..6a71b7b638f3f --- /dev/null +++ b/core/res/res/drawable/pointer_crosshair_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/drawable/pointer_grab_large_icon.xml b/core/res/res/drawable/pointer_grab_large_icon.xml new file mode 100644 index 0000000000000..f2df1cb483819 --- /dev/null +++ b/core/res/res/drawable/pointer_grab_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/drawable/pointer_grabbing_large_icon.xml b/core/res/res/drawable/pointer_grabbing_large_icon.xml new file mode 100644 index 0000000000000..e4042bf66aa4c --- /dev/null +++ b/core/res/res/drawable/pointer_grabbing_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/drawable/pointer_hand_large_icon.xml b/core/res/res/drawable/pointer_hand_large_icon.xml new file mode 100644 index 0000000000000..e34422af6c132 --- /dev/null +++ b/core/res/res/drawable/pointer_hand_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/drawable/pointer_help_large_icon.xml b/core/res/res/drawable/pointer_help_large_icon.xml new file mode 100644 index 0000000000000..4c60a55a6458a --- /dev/null +++ b/core/res/res/drawable/pointer_help_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/drawable/pointer_horizontal_double_arrow_large_icon.xml b/core/res/res/drawable/pointer_horizontal_double_arrow_large_icon.xml new file mode 100644 index 0000000000000..a2039e6025735 --- /dev/null +++ b/core/res/res/drawable/pointer_horizontal_double_arrow_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/drawable/pointer_nodrop_large_icon.xml b/core/res/res/drawable/pointer_nodrop_large_icon.xml new file mode 100644 index 0000000000000..cde2e4131926b --- /dev/null +++ b/core/res/res/drawable/pointer_nodrop_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/drawable/pointer_text_large_icon.xml b/core/res/res/drawable/pointer_text_large_icon.xml new file mode 100644 index 0000000000000..24d35b0ba2b40 --- /dev/null +++ b/core/res/res/drawable/pointer_text_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/drawable/pointer_top_left_diagonal_double_arrow_large_icon.xml b/core/res/res/drawable/pointer_top_left_diagonal_double_arrow_large_icon.xml new file mode 100644 index 0000000000000..270ccc9ce721b --- /dev/null +++ b/core/res/res/drawable/pointer_top_left_diagonal_double_arrow_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/drawable/pointer_top_right_diagonal_double_arrow_large_icon.xml b/core/res/res/drawable/pointer_top_right_diagonal_double_arrow_large_icon.xml new file mode 100644 index 0000000000000..e350a4385d48d --- /dev/null +++ b/core/res/res/drawable/pointer_top_right_diagonal_double_arrow_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/drawable/pointer_vertical_double_arrow_large_icon.xml b/core/res/res/drawable/pointer_vertical_double_arrow_large_icon.xml new file mode 100644 index 0000000000000..65728ad3374d3 --- /dev/null +++ b/core/res/res/drawable/pointer_vertical_double_arrow_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/drawable/pointer_vertical_text_large_icon.xml b/core/res/res/drawable/pointer_vertical_text_large_icon.xml new file mode 100644 index 0000000000000..48211cb7a17bd --- /dev/null +++ b/core/res/res/drawable/pointer_vertical_text_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/drawable/pointer_zoom_in_large_icon.xml b/core/res/res/drawable/pointer_zoom_in_large_icon.xml new file mode 100644 index 0000000000000..3eb89f5680c35 --- /dev/null +++ b/core/res/res/drawable/pointer_zoom_in_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/drawable/pointer_zoom_out_large_icon.xml b/core/res/res/drawable/pointer_zoom_out_large_icon.xml new file mode 100644 index 0000000000000..df6412e049b28 --- /dev/null +++ b/core/res/res/drawable/pointer_zoom_out_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml index f9f8162c1051d..34a66d0312d14 100644 --- a/core/res/res/values/attrs.xml +++ b/core/res/res/values/attrs.xml @@ -1026,9 +1026,6 @@ i - - - diff --git a/core/res/res/values/styles.xml b/core/res/res/values/styles.xml index e6f279d4d53c8..9a4016bd5f9aa 100644 --- a/core/res/res/values/styles.xml +++ b/core/res/res/values/styles.xml @@ -1368,6 +1368,42 @@ please see styles_device_defaults.xml. @drawable/pointer_grabbing_icon + +