Gitweb links:

...log 
http://git.netsurf-browser.org/netsurf.git/shortlog/600b2ed60aceae01c1a1e551d1812c9a3789a92f
...commit 
http://git.netsurf-browser.org/netsurf.git/commit/600b2ed60aceae01c1a1e551d1812c9a3789a92f
...tree 
http://git.netsurf-browser.org/netsurf.git/tree/600b2ed60aceae01c1a1e551d1812c9a3789a92f

The branch, master has been updated
       via  600b2ed60aceae01c1a1e551d1812c9a3789a92f (commit)
      from  4b8ed9b7775aec686a46b1b2be01a4efa1214e55 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commitdiff 
http://git.netsurf-browser.org/netsurf.git/commit/?id=600b2ed60aceae01c1a1e551d1812c9a3789a92f
commit 600b2ed60aceae01c1a1e551d1812c9a3789a92f
Author: François Revol <[email protected]>
Commit: François Revol <[email protected]>

    Haiku: Better map mouse cursors
    
    Drop custom cursor bitmaps in favor of the system ones.
    
    We only miss the wait cursor now, but the progress one should do.

diff --git a/frontends/beos/window.cpp b/frontends/beos/window.cpp
index 93555ee..b97be0f 100644
--- a/frontends/beos/window.cpp
+++ b/frontends/beos/window.cpp
@@ -1108,93 +1108,79 @@ static void gui_window_update_extent(struct gui_window 
*g)
        g->view->UnlockLooper();
 }
 
-/* some cursors like those in Firefox */
-// XXX: move to separate file or resource ?
-
-const uint8 kLinkCursorBits[] = {
-       16,             /* cursor size */
-       1,              /* bits per pixel */
-       2,              /* vertical hot spot */
-       2,              /* horizontal hot spot */
-
-       /* data */
-       0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x24, 0x00, 0x24, 0x00, 0x13, 0xe0, 
0x12, 0x5c, 0x09, 0x2a, 
-       0x08, 0x01, 0x3c, 0x21, 0x4c, 0x71, 0x42, 0x71, 0x30, 0xf9, 0x0c, 0xf9, 
0x02, 0x02, 0x01, 0x00,
-
-       /* mask */
-       0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x3c, 0x00, 0x3c, 0x00, 0x1f, 0xe0, 
0x1f, 0xfc, 0x0f, 0xfe, 
-       0x0f, 0xff, 0x3f, 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x3f, 0xff, 0x0f, 0xff, 
0x03, 0xfc, 0x01, 0xe0
-};
+static BCursorID gui_haiku_pointer(gui_pointer_shape shape)
+{
+       switch (shape) {
+       case GUI_POINTER_POINT: /* link */
+               return B_CURSOR_ID_FOLLOW_LINK;
 
-const uint8 kWatchCursorBits[] = {
-       16,             /* cursor size */
-       1,              /* bits per pixel */
-       0,              /* vertical hot spot */
-       1,              /* horizontal hot spot */
+       case GUI_POINTER_CARET: /* input */
+               return B_CURSOR_ID_I_BEAM;
 
-       /* data */
-       0x70, 0x00, 0x48, 0x00, 0x48, 0x00, 0x27, 0xc0, 0x24, 0xb8, 0x12, 0x54, 
0x10, 0x02, 0x78, 0x02, 
-       0x98, 0x02, 0x84, 0x02, 0x60, 0x3a, 0x18, 0x46, 0x04, 0x8a, 0x02, 0x92, 
0x01, 0x82, 0x00, 0x45,
+       case GUI_POINTER_MENU:
+               return B_CURSOR_ID_CONTEXT_MENU;
 
-       /* mask */
-       0x70, 0x00, 0x78, 0x00, 0x78, 0x00, 0x3f, 0xc0, 0x3f, 0xf8, 0x1f, 0xfc, 
0x1f, 0xfe, 0x7f, 0xfe, 
-       0xff, 0xfe, 0xff, 0xfe, 0x7f, 0xfe, 0x1f, 0xfe, 0x07, 0xfe, 0x03, 0xfe, 
0x01, 0xfe, 0x00, 0x7f
-};
+       case GUI_POINTER_UP:
+               return B_CURSOR_ID_RESIZE_NORTH;
 
-const uint8 kWatch2CursorBits[] = {
-       16,             /* cursor size */
-       1,              /* bits per pixel */
-       0,              /* vertical hot spot */
-       1,              /* horizontal hot spot */
+       case GUI_POINTER_DOWN:
+               return B_CURSOR_ID_RESIZE_SOUTH;
 
-       /* data */
-       0x70, 0x00, 0x48, 0x00, 0x48, 0x00, 0x27, 0xc0, 0x24, 0xb8, 0x12, 0x54, 
0x10, 0x02, 0x78, 0x02, 
-       0x98, 0x02, 0x84, 0x02, 0x60, 0x3a, 0x18, 0x46, 0x04, 0xa2, 0x02, 0x92, 
0x01, 0xa2, 0x00, 0x45,
+       case GUI_POINTER_LEFT:
+               return B_CURSOR_ID_RESIZE_WEST;
 
-       /* mask */
-       0x70, 0x00, 0x78, 0x00, 0x78, 0x00, 0x3f, 0xc0, 0x3f, 0xf8, 0x1f, 0xfc, 
0x1f, 0xfe, 0x7f, 0xfe, 
-       0xff, 0xfe, 0xff, 0xfe, 0x7f, 0xfe, 0x1f, 0xfe, 0x07, 0xfe, 0x03, 0xfe, 
0x01, 0xfe, 0x00, 0x7f
-};
+       case GUI_POINTER_RIGHT:
+               return B_CURSOR_ID_RESIZE_EAST;
 
+       case GUI_POINTER_RU:
+               return B_CURSOR_ID_RESIZE_NORTH_EAST;
 
-static void gui_window_set_pointer(struct gui_window *g, gui_pointer_shape 
shape)
-{
-       BCursor *cursor = NULL;
-       bool allocated = false;
+       case GUI_POINTER_LD:
+               return B_CURSOR_ID_RESIZE_SOUTH_WEST;
 
-       if (g->current_pointer == shape)
-               return;
+       case GUI_POINTER_LU:
+               return B_CURSOR_ID_RESIZE_NORTH_WEST;
 
-       g->current_pointer = shape;
+       case GUI_POINTER_RD:
+               return B_CURSOR_ID_RESIZE_SOUTH_EAST;
+
+       case GUI_POINTER_CROSS:
+               return B_CURSOR_ID_CROSS_HAIR;
+
+       case GUI_POINTER_MOVE:
+               return B_CURSOR_ID_MOVE;
 
-       switch (shape) {
-       case GUI_POINTER_POINT:
-               cursor = new BCursor(kLinkCursorBits);
-               allocated = true;
-               break;
-       case GUI_POINTER_CARET:
-               cursor = (BCursor *)B_CURSOR_I_BEAM;
-               break;
        case GUI_POINTER_WAIT:
-               cursor = new BCursor(kWatchCursorBits);
-               allocated = true;
-               break;
        case GUI_POINTER_PROGRESS:
-               cursor = new BCursor(kWatch2CursorBits);
-               allocated = true;
-               break;
+               return B_CURSOR_ID_PROGRESS;
+
+       case GUI_POINTER_NO_DROP:
+       case GUI_POINTER_NOT_ALLOWED:
+               return B_CURSOR_ID_NOT_ALLOWED;
+
+       case GUI_POINTER_HELP:
+               return B_CURSOR_ID_HELP;
+
+       case GUI_POINTER_DEFAULT:
        default:
-               cursor = (BCursor *)B_CURSOR_SYSTEM_DEFAULT;
-               allocated = false;
+               break;
        }
+       return B_CURSOR_ID_SYSTEM_DEFAULT;
+}
+
+static void gui_window_set_pointer(struct gui_window *g, gui_pointer_shape 
shape)
+{
+       if (g->current_pointer == shape)
+               return;
+
+       g->current_pointer = shape;
+
+       BCursor cursor(gui_haiku_pointer(shape));
 
        if (g->view && g->view->LockLooper()) {
-               g->view->SetViewCursor(cursor);
+               g->view->SetViewCursor(&cursor);
                g->view->UnlockLooper();
        }
-
-       if (allocated)
-               delete cursor;
 }
 
 static void gui_window_place_caret(struct gui_window *g, int x, int y, int 
height,


-----------------------------------------------------------------------

Summary of changes:
 frontends/beos/window.cpp |  122 ++++++++++++++++++++-------------------------
 1 file changed, 54 insertions(+), 68 deletions(-)

diff --git a/frontends/beos/window.cpp b/frontends/beos/window.cpp
index 93555ee..b97be0f 100644
--- a/frontends/beos/window.cpp
+++ b/frontends/beos/window.cpp
@@ -1108,93 +1108,79 @@ static void gui_window_update_extent(struct gui_window 
*g)
        g->view->UnlockLooper();
 }
 
-/* some cursors like those in Firefox */
-// XXX: move to separate file or resource ?
-
-const uint8 kLinkCursorBits[] = {
-       16,             /* cursor size */
-       1,              /* bits per pixel */
-       2,              /* vertical hot spot */
-       2,              /* horizontal hot spot */
-
-       /* data */
-       0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x24, 0x00, 0x24, 0x00, 0x13, 0xe0, 
0x12, 0x5c, 0x09, 0x2a, 
-       0x08, 0x01, 0x3c, 0x21, 0x4c, 0x71, 0x42, 0x71, 0x30, 0xf9, 0x0c, 0xf9, 
0x02, 0x02, 0x01, 0x00,
-
-       /* mask */
-       0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x3c, 0x00, 0x3c, 0x00, 0x1f, 0xe0, 
0x1f, 0xfc, 0x0f, 0xfe, 
-       0x0f, 0xff, 0x3f, 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x3f, 0xff, 0x0f, 0xff, 
0x03, 0xfc, 0x01, 0xe0
-};
+static BCursorID gui_haiku_pointer(gui_pointer_shape shape)
+{
+       switch (shape) {
+       case GUI_POINTER_POINT: /* link */
+               return B_CURSOR_ID_FOLLOW_LINK;
 
-const uint8 kWatchCursorBits[] = {
-       16,             /* cursor size */
-       1,              /* bits per pixel */
-       0,              /* vertical hot spot */
-       1,              /* horizontal hot spot */
+       case GUI_POINTER_CARET: /* input */
+               return B_CURSOR_ID_I_BEAM;
 
-       /* data */
-       0x70, 0x00, 0x48, 0x00, 0x48, 0x00, 0x27, 0xc0, 0x24, 0xb8, 0x12, 0x54, 
0x10, 0x02, 0x78, 0x02, 
-       0x98, 0x02, 0x84, 0x02, 0x60, 0x3a, 0x18, 0x46, 0x04, 0x8a, 0x02, 0x92, 
0x01, 0x82, 0x00, 0x45,
+       case GUI_POINTER_MENU:
+               return B_CURSOR_ID_CONTEXT_MENU;
 
-       /* mask */
-       0x70, 0x00, 0x78, 0x00, 0x78, 0x00, 0x3f, 0xc0, 0x3f, 0xf8, 0x1f, 0xfc, 
0x1f, 0xfe, 0x7f, 0xfe, 
-       0xff, 0xfe, 0xff, 0xfe, 0x7f, 0xfe, 0x1f, 0xfe, 0x07, 0xfe, 0x03, 0xfe, 
0x01, 0xfe, 0x00, 0x7f
-};
+       case GUI_POINTER_UP:
+               return B_CURSOR_ID_RESIZE_NORTH;
 
-const uint8 kWatch2CursorBits[] = {
-       16,             /* cursor size */
-       1,              /* bits per pixel */
-       0,              /* vertical hot spot */
-       1,              /* horizontal hot spot */
+       case GUI_POINTER_DOWN:
+               return B_CURSOR_ID_RESIZE_SOUTH;
 
-       /* data */
-       0x70, 0x00, 0x48, 0x00, 0x48, 0x00, 0x27, 0xc0, 0x24, 0xb8, 0x12, 0x54, 
0x10, 0x02, 0x78, 0x02, 
-       0x98, 0x02, 0x84, 0x02, 0x60, 0x3a, 0x18, 0x46, 0x04, 0xa2, 0x02, 0x92, 
0x01, 0xa2, 0x00, 0x45,
+       case GUI_POINTER_LEFT:
+               return B_CURSOR_ID_RESIZE_WEST;
 
-       /* mask */
-       0x70, 0x00, 0x78, 0x00, 0x78, 0x00, 0x3f, 0xc0, 0x3f, 0xf8, 0x1f, 0xfc, 
0x1f, 0xfe, 0x7f, 0xfe, 
-       0xff, 0xfe, 0xff, 0xfe, 0x7f, 0xfe, 0x1f, 0xfe, 0x07, 0xfe, 0x03, 0xfe, 
0x01, 0xfe, 0x00, 0x7f
-};
+       case GUI_POINTER_RIGHT:
+               return B_CURSOR_ID_RESIZE_EAST;
 
+       case GUI_POINTER_RU:
+               return B_CURSOR_ID_RESIZE_NORTH_EAST;
 
-static void gui_window_set_pointer(struct gui_window *g, gui_pointer_shape 
shape)
-{
-       BCursor *cursor = NULL;
-       bool allocated = false;
+       case GUI_POINTER_LD:
+               return B_CURSOR_ID_RESIZE_SOUTH_WEST;
 
-       if (g->current_pointer == shape)
-               return;
+       case GUI_POINTER_LU:
+               return B_CURSOR_ID_RESIZE_NORTH_WEST;
 
-       g->current_pointer = shape;
+       case GUI_POINTER_RD:
+               return B_CURSOR_ID_RESIZE_SOUTH_EAST;
+
+       case GUI_POINTER_CROSS:
+               return B_CURSOR_ID_CROSS_HAIR;
+
+       case GUI_POINTER_MOVE:
+               return B_CURSOR_ID_MOVE;
 
-       switch (shape) {
-       case GUI_POINTER_POINT:
-               cursor = new BCursor(kLinkCursorBits);
-               allocated = true;
-               break;
-       case GUI_POINTER_CARET:
-               cursor = (BCursor *)B_CURSOR_I_BEAM;
-               break;
        case GUI_POINTER_WAIT:
-               cursor = new BCursor(kWatchCursorBits);
-               allocated = true;
-               break;
        case GUI_POINTER_PROGRESS:
-               cursor = new BCursor(kWatch2CursorBits);
-               allocated = true;
-               break;
+               return B_CURSOR_ID_PROGRESS;
+
+       case GUI_POINTER_NO_DROP:
+       case GUI_POINTER_NOT_ALLOWED:
+               return B_CURSOR_ID_NOT_ALLOWED;
+
+       case GUI_POINTER_HELP:
+               return B_CURSOR_ID_HELP;
+
+       case GUI_POINTER_DEFAULT:
        default:
-               cursor = (BCursor *)B_CURSOR_SYSTEM_DEFAULT;
-               allocated = false;
+               break;
        }
+       return B_CURSOR_ID_SYSTEM_DEFAULT;
+}
+
+static void gui_window_set_pointer(struct gui_window *g, gui_pointer_shape 
shape)
+{
+       if (g->current_pointer == shape)
+               return;
+
+       g->current_pointer = shape;
+
+       BCursor cursor(gui_haiku_pointer(shape));
 
        if (g->view && g->view->LockLooper()) {
-               g->view->SetViewCursor(cursor);
+               g->view->SetViewCursor(&cursor);
                g->view->UnlockLooper();
        }
-
-       if (allocated)
-               delete cursor;
 }
 
 static void gui_window_place_caret(struct gui_window *g, int x, int y, int 
height,


-- 
NetSurf Browser
_______________________________________________
netsurf-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to