From b8a8e417f1907f67dffb14b7e570b0f730a09a7f Mon Sep 17 00:00:00 2001 From: Linus Groh Date: Tue, 7 Jul 2020 20:01:29 +0100 Subject: [PATCH] WindowServer+LibGUI: Add "help" cursor --- Base/etc/WindowServer/WindowServer.ini | 1 + Base/res/cursors/help.png | Bin 0 -> 3931 bytes Libraries/LibGUI/Window.h | 1 + Services/WindowServer/Cursor.cpp | 2 ++ Services/WindowServer/Cursor.h | 1 + Services/WindowServer/WindowManager.cpp | 1 + Services/WindowServer/WindowManager.h | 2 ++ 7 files changed, 8 insertions(+) create mode 100755 Base/res/cursors/help.png diff --git a/Base/etc/WindowServer/WindowServer.ini b/Base/etc/WindowServer/WindowServer.ini index 877e2e9e1d..74e22cb6e1 100644 --- a/Base/etc/WindowServer/WindowServer.ini +++ b/Base/etc/WindowServer/WindowServer.ini @@ -17,6 +17,7 @@ IBeam=/res/cursors/i-beam.png Disallowed=/res/cursors/disallowed.png Move=/res/cursors/move.png Hand=/res/cursors/hand.png +Help=/res/cursors/help.png Drag=/res/cursors/drag.png [Input] diff --git a/Base/res/cursors/help.png b/Base/res/cursors/help.png new file mode 100755 index 0000000000000000000000000000000000000000..c14c29d45301d624d77df57f5df146d71ff3c0f2 GIT binary patch literal 3931 zcmeAS@N?(olHy`uVBq!ia0y~yU=U(pU=ZeDV_;yIJ1O=P0|QTCRY*ihP-3}4K~a8M zW=^U?No7H*LTW{38UsVct+g{Fi?przT>kIuiepNjaQdOdMe7$&zca3W^77Q>+Vfny zy+S%!CORlN&i=apf8J;Lx<&m*kEp0#pQCHP@z^VA^P_S0U;mVv&D(!ny1xF|y?$x& zcloAxnZobUVG z#2l+Vdq~7$Dcl|(fuq`C;YuAZff|(vwRBk z%Wj;@-to$2Mb6_zv)Ao>du=D5xq;!Yrw5Nz+dDWN=aLAu7nv{c_35_h0f%{5H?+m8 zv9$f|)_u1o`h3-4(Xe@a?t7Dsj)&XT&RlQz=j`b>wpU!wO}p(M$M{W3cE-XJFXQJi z32e{5bE)vdffcJA3l(&&@0>4p=+T!T@cyXfp9qE(i97i(mJ1YU{_LD+*EV6VVEmqSXUmVwO|SiQ^R>Yp76Hwa zqSXxn%xffsKPqn&aMo=V3HGw|)Ka^8rRap=@;RGRRClU5E>bzE6tu)kd*P8uUV1@Z zE0>1GGt11#S{LNKcB^T=6u0TKESvihFZZ>}RlnNlt-tr18OMA)kF0!kh*^;@W{?Rv|0}Lr+<$BG^vXMbF2D9yi&Ew3zG-*U_KMD0 z)0M@|fwsN2s*|$K-o@5Ve0uKMuH4D9L(_sz?_RUd#WDD}K-P1~msW@7ENSXlo4m}u z#;T*c_Q18{i+1Jz;o7y2NA0{7i_NQ34x2XaVw*c5#A9MldvKw--n2p&pCZG*m8SD+ zKRoMV-&e$t=<{X9^M}p0ECRc7zx~zxv0Jd=wTE@+p_}i<9(ZAq)dCVoFDp~n7X;=^>L%!RVMI|&li6eEo@lUNd+3kf5ZtQte*2!&OC6>BmSMI5) zOIr6|RL>18P7o8kvT*)Y^=DqjTjX-SWq*BCwP+q|w3GOa>t2UG++7^Az-RG3`H-vG zUn7gtMPyE^`}KEnF9S$a); z2V+aV{VpF?E2R~^7s`xMck6tSZ+Vr)bl&IVo5I6hcb;FJ{8r+9O7oJkUd3q>m5%A8 zOe!}1u4SCRIi_v>jf&jF91E_R<}#Ni6i3&`5DwG`Mv`kY$y|15nb-?gkl%_*?_x>fyPo3p? z1U#=!b*PK=7j0#_>+31`Ey0%!n>Wzv^MDKqcgj1-d+1@?u?Ec z&$3PO91E_x&VKN!?pAHjnsPY6SmwB^j?(N&?_aSV2rn1d zY}>-SzF(EE(R!x-y8M#aKckg?pGbb@tyJwadp>7yvBWHcWeW>Wh}@VNviQf=DO`OE zSr-{c27g*r$NR{1ishO(nb@-n8y+?u(5MQ3S5Y~|#bD#~=*jn1%vh)rz<+wl1R((_ z`+J$Q#Am49zBHM0@3Bo0YE@F}oR(?+etFTa;lLI5&+bmo-B*>#dH1)^zuLKOihFSL z?@cl-tES&NwX}VanAagW`7iTV=ojl-bvW3UE!@GDbxuyww&A+A9J4~G+=p%40YA^} zov_g`ykkG#a^2LAY701iB-y+>&v&J5zJcW4oDLPvDBZwV&bh)LjNC+T1PfR9Ei7G@ zdBv4^a*_0kho{=6Px`viV^;W-j5|M^I-@Sui6%Z$~U?Ux~ks{e&OTU7Qm@LW(6_ZjU@b*+o~w>!+kKmT4+H813uXV}T7DbdfnueEK- zPjXa@KeA}*hYw38Z@q4&$d`LSO3H5Kjs*?eSNHCESNzd%$GtGIP01|PA`{(b1Q!?H zEE17f{_Vm~iO{d7`{slmO0<5=s-)VuR%^ZQv<0e8?Ci6%on%zD9X485!LTB)ti`pD zV{J#C<5AbJ1#?4;gnzM=igHTtHsf4UC?)x_<7~0J)J7|>mv(0@)SM=~mrPoJBjkc( zi|W<%hkU0lH>|i>yK>R-D=Z%2we4+78&7;VFw5%ttGsh2wLOO&T-Q#K$+TQhqEY## zkN;BV(ycGe{njWquj|{+Qa)?;HNV5f>L>0!o6HjV|y(@2B$^EgIEAaRhiwzn@mI2SU9ymP9foIx6_N7nKZU{_UJfSmm zN5zZ%Y3E+bSKr%j(QRa3{b6^M^5F|#bSs39gjsafX~y(QSCnX7zBs}B!LpBY-gHii zbNf6m zC4Ap{U7p6*FSk5?IcMUX<(&KGHXnVm_4uAuk2)9sUFN&wnznt=i4#`UeqyCQKR}m)%PfFJHcV(T5lRH5M+OmU(qeS>|4i{);kYC5IM$yS(*{o4nAAt5psb zX8g99%o8v8l6j+;R;Sp}*O8|!Hx|D4%Q-Xucz%@m%zLLfYFU?T+3&F9NLHJy z-b|h;Ow9_nTbeq*C?DN2Nu|VT?=42#av%1&uTS{A+O52KVNk8iE?4KphssYUWjJ4c zvAp2IpQU^+E59TzY;2e${C9iV0+v~7yI=e~JRyB%%D%|74gC0CAYi2q+^u9R8{>#3PF*)o? zXS~wHc^WV5uW*K?NSr@A+596H?~zxTVqptCW)#xNB_3J+rE8?tLzOA1_s8KOlRi+PiJRX=YxTvVovQu zTaUvI5^eXFdAVveg$Wd%2$-wW(Pfb(+7+O9g=?+VjF?~SzEYD!#N7{WeemFX($#}U zBg5Il9R>a{78aERl}r@c@6Dx~wCC}T_V4??KYeHIuwwemw9+2tS$VTpy2PAG2|s#4 z+sWj&LV`ouG(&Yy&mVp3t66^3i9e3~S6bgEXPR!PpdfVK=_jB zI~96uk9vKg#q#w!#dEJ22t^zbQt1c?aOF(B(Q$FzRJFaa`}MSCZy2XrA9yfXarP!{)=bWyHXrKT?oVO;mEZWzbbbEW;yHEH^=jlTTmKL6*LMJ4GHa@!af7}%1$-CY>|gW!U_%O^81FmM)l zL>4nJa0`PlBg3pY5)2Fs>?NMQuIx|P*@YQJSpx3MF)%RP_H=O!u{b?Q+?b^fS14TDvinzq}l*9+kh*;=vz>(yn52w`QV>3Tk>2)%Kgm0B$sXU d*y- Cursor::create(StandardCursor standard_cursor) return WindowManager::the().resize_row_cursor(); case StandardCursor::Hand: return WindowManager::the().hand_cursor(); + case StandardCursor::Help: + return WindowManager::the().help_cursor(); case StandardCursor::Drag: return WindowManager::the().drag_cursor(); case StandardCursor::Move: diff --git a/Services/WindowServer/Cursor.h b/Services/WindowServer/Cursor.h index 0d1e35418f..45e57303e4 100644 --- a/Services/WindowServer/Cursor.h +++ b/Services/WindowServer/Cursor.h @@ -41,6 +41,7 @@ enum class StandardCursor { ResizeColumn, ResizeRow, Hand, + Help, Drag, Move, }; diff --git a/Services/WindowServer/WindowManager.cpp b/Services/WindowServer/WindowManager.cpp index ac2f3740f0..6a0df85054 100644 --- a/Services/WindowServer/WindowManager.cpp +++ b/Services/WindowServer/WindowManager.cpp @@ -113,6 +113,7 @@ void WindowManager::reload_config(bool set_screen) m_arrow_cursor = get_cursor("Arrow", { 2, 2 }); m_hand_cursor = get_cursor("Hand", { 8, 4 }); + m_help_cursor = get_cursor("Help", { 1, 1 }); m_resize_horizontally_cursor = get_cursor("ResizeH"); m_resize_vertically_cursor = get_cursor("ResizeV"); m_resize_diagonally_tlbr_cursor = get_cursor("ResizeDTLBR"); diff --git a/Services/WindowServer/WindowManager.h b/Services/WindowServer/WindowManager.h index f57d21a3e5..6b49230eaa 100644 --- a/Services/WindowServer/WindowManager.h +++ b/Services/WindowServer/WindowManager.h @@ -122,6 +122,7 @@ public: const Cursor& active_cursor() const; const Cursor& arrow_cursor() const { return *m_arrow_cursor; } const Cursor& hand_cursor() const { return *m_hand_cursor; } + const Cursor& help_cursor() const { return *m_help_cursor; } const Cursor& resize_horizontally_cursor() const { return *m_resize_horizontally_cursor; } const Cursor& resize_vertically_cursor() const { return *m_resize_vertically_cursor; } const Cursor& resize_diagonally_tlbr_cursor() const { return *m_resize_diagonally_tlbr_cursor; } @@ -204,6 +205,7 @@ private: RefPtr m_arrow_cursor; RefPtr m_hand_cursor; + RefPtr m_help_cursor; RefPtr m_resize_horizontally_cursor; RefPtr m_resize_vertically_cursor; RefPtr m_resize_diagonally_tlbr_cursor;