From 30ce1d856292a025b5f0e1fd1e4ddbbd6991b8c5 Mon Sep 17 00:00:00 2001 From: Mustafa Quraish Date: Tue, 31 Aug 2021 22:16:53 -0400 Subject: [PATCH] Cursors: Add new Eyedropper cursor This can be used immediately in PixelPaint (separate commit), but I am adding this as a system-wide cursor since it may also be useful for other applications that want to use it. --- Base/res/cursor-themes/Dark/Config.ini | 1 + Base/res/cursor-themes/Dark/eyedropper.x2y2.png | Bin 0 -> 716 bytes Base/res/cursor-themes/Default/Config.ini | 1 + .../res/cursor-themes/Default/eyedropper.x2y2.png | Bin 0 -> 680 bytes Userland/Libraries/LibGfx/StandardCursor.h | 1 + Userland/Services/WindowServer/Cursor.cpp | 2 ++ Userland/Services/WindowServer/WindowManager.cpp | 1 + Userland/Services/WindowServer/WindowManager.h | 2 ++ 8 files changed, 8 insertions(+) create mode 100644 Base/res/cursor-themes/Dark/eyedropper.x2y2.png create mode 100644 Base/res/cursor-themes/Default/eyedropper.x2y2.png diff --git a/Base/res/cursor-themes/Dark/Config.ini b/Base/res/cursor-themes/Dark/Config.ini index fec44b14a7..88cc11daae 100644 --- a/Base/res/cursor-themes/Dark/Config.ini +++ b/Base/res/cursor-themes/Dark/Config.ini @@ -15,3 +15,4 @@ Help=help.x1y1.png Drag=drag.png Wait=wait.f14t100.png Crosshair=crosshair.png +Eyedropper=eyedropper.x2y2.png diff --git a/Base/res/cursor-themes/Dark/eyedropper.x2y2.png b/Base/res/cursor-themes/Dark/eyedropper.x2y2.png new file mode 100644 index 0000000000000000000000000000000000000000..2d3c67584daa709a0909d1ce45f30f2e106be1aa GIT binary patch literal 716 zcmeAS@N?(olHy`uVBq!ia0y~yV2}i14mJh`h9fUqlNlJ8CVRR#hIn+Y4fDe8wB#PsJApZC1UMv{|XHJ(0m=Xm+En)Q;iBv~f06bK#Qa1d|!xwXEPCwbaN<$E_@ ze^z2uc>8UZyvq5?$N!ysJ&gV(=H{Ngzi#ps3x6Z)(k#al^6F>SJP+|{d{W9F&-mp` zj>*I+dC;Tw`m5Edt64h| ztE;13elz4TM=U$v#_HM9xV!Evx1q~~!sr zC^ht)D8>+DxOw_L=ywnp8!?J~u0xuC9M_z`}_J$@lV zflF>^9{7Id&B~si#Z$eGzIU{n&+o2PD)MUWTHUkvJwk*kwZE>BJ1MRrKl`Te+38+O zC*)*iYN}j}h>Ubx7|^lG%39o$MOJi;TzPr<;hQ;T-Fe%kwFDv;UvyBL?5H>W^YTlZ zgDS+9yl^kcHIPu?U@Eba{qnnZ%k5l~*=GyhMX0PhByIRvqStMql4SnYs25+W9zS)x z%ldqiW`_q$(BcY@g&m>h-MhHg}*;mIO}EWV}c{qtU_vKC)l z6c!?-=;YdMeM%2?E346m2&&u?`Gz2cV2!VX;rsZsI}6k+t0Q}oxORcJ87fG!hi*r zUvAjF`*p(2oNJAtSN&Nh2KE#cM(a&4R*Z^>D9C1Z$x@W&VVm{s)Yc=lb4}b7xtb0z z=FU5rvS?4`O8c@zew8C;rl#k4+#-CGF8Q-^YJcedYa-QqXrKDm#?;1 tYp}yf8IIL@uQGlc-7bG4zM!6=VD^GJQ Cursor::create(Gfx::StandardCursor standard_cursor) return WindowManager::the().wait_cursor(); case Gfx::StandardCursor::Disallowed: return WindowManager::the().disallowed_cursor(); + case Gfx::StandardCursor::Eyedropper: + return WindowManager::the().eyedropper_cursor(); default: VERIFY_NOT_REACHED(); } diff --git a/Userland/Services/WindowServer/WindowManager.cpp b/Userland/Services/WindowServer/WindowManager.cpp index eeec1d4f10..be415582c2 100644 --- a/Userland/Services/WindowServer/WindowManager.cpp +++ b/Userland/Services/WindowServer/WindowManager.cpp @@ -2080,6 +2080,7 @@ void WindowManager::apply_cursor_theme(const String& theme_name) reload_cursor(m_drag_cursor, "Drag"); reload_cursor(m_wait_cursor, "Wait"); reload_cursor(m_crosshair_cursor, "Crosshair"); + reload_cursor(m_eyedropper_cursor, "Eyedropper"); Compositor::the().invalidate_cursor(); m_config->write_entry("Mouse", "CursorTheme", theme_name); diff --git a/Userland/Services/WindowServer/WindowManager.h b/Userland/Services/WindowServer/WindowManager.h index cb3aec1d8c..ccfd363e06 100644 --- a/Userland/Services/WindowServer/WindowManager.h +++ b/Userland/Services/WindowServer/WindowManager.h @@ -150,6 +150,7 @@ public: Cursor const& move_cursor() const { return *m_move_cursor; } Cursor const& drag_cursor() const { return *m_drag_cursor; } Cursor const& wait_cursor() const { return *m_wait_cursor; } + Cursor const& eyedropper_cursor() const { return *m_eyedropper_cursor; } Gfx::Font const& font() const; Gfx::Font const& window_title_font() const; @@ -364,6 +365,7 @@ private: RefPtr m_drag_cursor; RefPtr m_wait_cursor; RefPtr m_crosshair_cursor; + RefPtr m_eyedropper_cursor; RefPtr m_overlay_rect_shadow;