Browse Source

LibGUI+WindowServer: Add a "Hand" cursor to the standard cursors

Andreas Kling 5 năm trước cách đây
mục cha
commit
76266862d1

+ 1 - 0
Base/home/anon/WindowManager.ini

@@ -11,6 +11,7 @@ ResizeDBLTR=/res/cursors/resize-diagonal-bltr.png
 IBeam=/res/cursors/i-beam.png
 Disallowed=/res/cursors/disallowed.png
 Move=/res/cursors/move.png
+Hand=/res/cursors/hand.png
 
 [Colors]
 Background=50,50,50

BIN
Base/res/cursors/hand.png


+ 1 - 0
Libraries/LibGUI/GWindow.h

@@ -19,6 +19,7 @@ enum class GStandardCursor {
     ResizeVertical,
     ResizeDiagonalTLBR,
     ResizeDiagonalBLTR,
+    Hand,
 };
 
 class GWindow : public CObject {

+ 2 - 0
Servers/WindowServer/WSCursor.cpp

@@ -38,6 +38,8 @@ RefPtr<WSCursor> WSCursor::create(WSStandardCursor standard_cursor)
         return WSWindowManager::the().resize_diagonally_tlbr_cursor();
     case WSStandardCursor::ResizeDiagonalBLTR:
         return WSWindowManager::the().resize_diagonally_bltr_cursor();
+    case WSStandardCursor::Hand:
+        return WSWindowManager::the().hand_cursor();
     }
     ASSERT_NOT_REACHED();
 }

+ 1 - 0
Servers/WindowServer/WSCursor.h

@@ -10,6 +10,7 @@ enum class WSStandardCursor {
     ResizeVertical,
     ResizeDiagonalTLBR,
     ResizeDiagonalBLTR,
+    Hand,
 };
 
 class WSCursor : public RefCounted<WSCursor> {

+ 1 - 0
Servers/WindowServer/WSWindowManager.cpp

@@ -143,6 +143,7 @@ void WSWindowManager::reload_config(bool set_screen)
             m_wm_config->read_num_entry("Screen", "Height", 1080));
 
     m_arrow_cursor = get_cursor("Arrow", { 2, 2 });
+    m_hand_cursor = get_cursor("Hand", { 8, 4 });
     m_resize_horizontally_cursor = get_cursor("ResizeH");
     m_resize_vertically_cursor = get_cursor("ResizeV");
     m_resize_diagonally_tlbr_cursor = get_cursor("ResizeDTLBR");

+ 2 - 0
Servers/WindowServer/WSWindowManager.h

@@ -90,6 +90,7 @@ public:
 
     const WSCursor& active_cursor() const;
     const WSCursor& arrow_cursor() const { return *m_arrow_cursor; }
+    const WSCursor& hand_cursor() const { return *m_hand_cursor; }
     const WSCursor& resize_horizontally_cursor() const { return *m_resize_horizontally_cursor; }
     const WSCursor& resize_vertically_cursor() const { return *m_resize_vertically_cursor; }
     const WSCursor& resize_diagonally_tlbr_cursor() const { return *m_resize_diagonally_tlbr_cursor; }
@@ -180,6 +181,7 @@ private:
     void pick_new_active_window();
 
     RefPtr<WSCursor> m_arrow_cursor;
+    RefPtr<WSCursor> m_hand_cursor;
     RefPtr<WSCursor> m_resize_horizontally_cursor;
     RefPtr<WSCursor> m_resize_vertically_cursor;
     RefPtr<WSCursor> m_resize_diagonally_tlbr_cursor;