diff --git a/Base/res/cursor-themes/Dark/Config.ini b/Base/res/cursor-themes/Dark/Config.ini index 7813a6b945f..703130b3aaa 100644 --- a/Base/res/cursor-themes/Dark/Config.ini +++ b/Base/res/cursor-themes/Dark/Config.ini @@ -13,6 +13,7 @@ Move=move.png Hand=hand.x8y4.png Help=help.x1y1.png Drag=drag.png +DragCopy=drag-copy.x7y7.png Wait=wait.f14t100.png Crosshair=crosshair.png Eyedropper=eyedropper.x2y2.png diff --git a/Base/res/cursor-themes/Dark/drag-copy.x7y7-2x.png b/Base/res/cursor-themes/Dark/drag-copy.x7y7-2x.png new file mode 100644 index 00000000000..a06e3126f26 Binary files /dev/null and b/Base/res/cursor-themes/Dark/drag-copy.x7y7-2x.png differ diff --git a/Base/res/cursor-themes/Dark/drag-copy.x7y7.png b/Base/res/cursor-themes/Dark/drag-copy.x7y7.png new file mode 100644 index 00000000000..559dcb85829 Binary files /dev/null and b/Base/res/cursor-themes/Dark/drag-copy.x7y7.png differ diff --git a/Base/res/cursor-themes/Default/Config.ini b/Base/res/cursor-themes/Default/Config.ini index 7813a6b945f..703130b3aaa 100644 --- a/Base/res/cursor-themes/Default/Config.ini +++ b/Base/res/cursor-themes/Default/Config.ini @@ -13,6 +13,7 @@ Move=move.png Hand=hand.x8y4.png Help=help.x1y1.png Drag=drag.png +DragCopy=drag-copy.x7y7.png Wait=wait.f14t100.png Crosshair=crosshair.png Eyedropper=eyedropper.x2y2.png diff --git a/Base/res/cursor-themes/Default/drag-copy.x7y7-2x.png b/Base/res/cursor-themes/Default/drag-copy.x7y7-2x.png new file mode 100644 index 00000000000..2957b445e38 Binary files /dev/null and b/Base/res/cursor-themes/Default/drag-copy.x7y7-2x.png differ diff --git a/Base/res/cursor-themes/Default/drag-copy.x7y7.png b/Base/res/cursor-themes/Default/drag-copy.x7y7.png new file mode 100644 index 00000000000..4715b785736 Binary files /dev/null and b/Base/res/cursor-themes/Default/drag-copy.x7y7.png differ diff --git a/Userland/Libraries/LibGfx/StandardCursor.h b/Userland/Libraries/LibGfx/StandardCursor.h index 9a8a9c97b6d..d03e4a2ab37 100644 --- a/Userland/Libraries/LibGfx/StandardCursor.h +++ b/Userland/Libraries/LibGfx/StandardCursor.h @@ -23,6 +23,7 @@ enum class StandardCursor { Hand, Help, Drag, + DragCopy, Move, Wait, Disallowed, diff --git a/Userland/Services/WindowServer/Cursor.cpp b/Userland/Services/WindowServer/Cursor.cpp index 7f16bc36db3..15037b0d8f7 100644 --- a/Userland/Services/WindowServer/Cursor.cpp +++ b/Userland/Services/WindowServer/Cursor.cpp @@ -103,6 +103,8 @@ RefPtr Cursor::create(Gfx::StandardCursor standard_cursor) return WindowManager::the().help_cursor(); case Gfx::StandardCursor::Drag: return WindowManager::the().drag_cursor(); + case Gfx::StandardCursor::DragCopy: + return WindowManager::the().drag_copy_cursor(); case Gfx::StandardCursor::Move: return WindowManager::the().move_cursor(); case Gfx::StandardCursor::Wait: diff --git a/Userland/Services/WindowServer/WindowManager.cpp b/Userland/Services/WindowServer/WindowManager.cpp index c71818c83b3..f4d7f674a1c 100644 --- a/Userland/Services/WindowServer/WindowManager.cpp +++ b/Userland/Services/WindowServer/WindowManager.cpp @@ -2278,6 +2278,7 @@ void WindowManager::apply_cursor_theme(String const& theme_name) reload_cursor(m_disallowed_cursor, "Disallowed"); reload_cursor(m_move_cursor, "Move"); reload_cursor(m_drag_cursor, "Drag"); + reload_cursor(m_drag_copy_cursor, "DragCopy"); reload_cursor(m_wait_cursor, "Wait"); reload_cursor(m_crosshair_cursor, "Crosshair"); reload_cursor(m_eyedropper_cursor, "Eyedropper"); diff --git a/Userland/Services/WindowServer/WindowManager.h b/Userland/Services/WindowServer/WindowManager.h index 2b88379074b..9d532d82151 100644 --- a/Userland/Services/WindowServer/WindowManager.h +++ b/Userland/Services/WindowServer/WindowManager.h @@ -149,6 +149,7 @@ public: Cursor const& disallowed_cursor() const { return *m_disallowed_cursor; } Cursor const& move_cursor() const { return *m_move_cursor; } Cursor const& drag_cursor() const { return *m_drag_cursor; } + Cursor const& drag_copy_cursor() const { return *m_drag_copy_cursor; } Cursor const& wait_cursor() const { return *m_wait_cursor; } Cursor const& eyedropper_cursor() const { return *m_eyedropper_cursor; } Cursor const& zoom_cursor() const { return *m_zoom_cursor; } @@ -390,6 +391,7 @@ private: RefPtr m_disallowed_cursor; RefPtr m_move_cursor; RefPtr m_drag_cursor; + RefPtr m_drag_copy_cursor; RefPtr m_wait_cursor; RefPtr m_crosshair_cursor; RefPtr m_eyedropper_cursor;