зеркало из https://github.com/mozilla/gecko-dev.git
forgot this file...
patch from Scott Schram (scott@ruthie.com) to add css2/3 cursor support on unix (bug 38444) a=brendan
This commit is contained in:
Родитель
b07756f915
Коммит
c26224fc8b
|
@ -795,38 +795,50 @@ NS_IMETHODIMP nsWidget::SetCursor(nsCursor aCursor)
|
|||
if (aCursor != mCursor) {
|
||||
GdkCursor *newCursor = 0;
|
||||
|
||||
/* These cases should agree with enum nsCursor in nsIWidget.h
|
||||
* We're limited to those cursors available with XCreateFontCursor()
|
||||
* If you change these, change them in gtk/nsWindow, too. */
|
||||
switch(aCursor) {
|
||||
case eCursor_select:
|
||||
newCursor = gdk_cursor_new(GDK_XTERM);
|
||||
case eCursor_standard:
|
||||
newCursor = gdk_cursor_new(GDK_LEFT_PTR);
|
||||
break;
|
||||
|
||||
case eCursor_wait:
|
||||
newCursor = gdk_cursor_new(GDK_WATCH);
|
||||
break;
|
||||
|
||||
case eCursor_select:
|
||||
newCursor = gdk_cursor_new(GDK_XTERM);
|
||||
break;
|
||||
|
||||
case eCursor_hyperlink:
|
||||
newCursor = gdk_cursor_new(GDK_HAND2);
|
||||
break;
|
||||
|
||||
case eCursor_standard:
|
||||
newCursor = gdk_cursor_new(GDK_LEFT_PTR);
|
||||
case eCursor_sizeWE:
|
||||
/* GDK_SB_H_DOUBLE_ARROW <==>. The ideal choice is: =>||<= */
|
||||
newCursor = gdk_cursor_new(GDK_SB_H_DOUBLE_ARROW);
|
||||
break;
|
||||
|
||||
case eCursor_sizeWE:
|
||||
case eCursor_sizeNS:
|
||||
newCursor = gdk_cursor_new(GDK_TCROSS);
|
||||
/* Again, should be =>||<= rotated 90 degrees. */
|
||||
newCursor = gdk_cursor_new(GDK_SB_V_DOUBLE_ARROW);
|
||||
break;
|
||||
|
||||
case eCursor_sizeNW:
|
||||
case eCursor_sizeSE:
|
||||
case eCursor_sizeNE:
|
||||
case eCursor_sizeSW:
|
||||
// XXX: these resize cursors need to be implemented
|
||||
newCursor = gdk_cursor_new(GDK_TOP_LEFT_CORNER);
|
||||
break;
|
||||
|
||||
case eCursor_arrow_south:
|
||||
case eCursor_arrow_south_plus:
|
||||
newCursor = gdk_cursor_new(GDK_BOTTOM_SIDE);
|
||||
case eCursor_sizeSE:
|
||||
newCursor = gdk_cursor_new(GDK_BOTTOM_RIGHT_CORNER);
|
||||
break;
|
||||
|
||||
case eCursor_sizeNE:
|
||||
newCursor = gdk_cursor_new(GDK_TOP_RIGHT_CORNER);
|
||||
break;
|
||||
|
||||
case eCursor_sizeSW:
|
||||
newCursor = gdk_cursor_new(GDK_BOTTOM_LEFT_CORNER);
|
||||
break;
|
||||
|
||||
case eCursor_arrow_north:
|
||||
|
@ -834,9 +846,9 @@ NS_IMETHODIMP nsWidget::SetCursor(nsCursor aCursor)
|
|||
newCursor = gdk_cursor_new(GDK_TOP_SIDE);
|
||||
break;
|
||||
|
||||
case eCursor_arrow_east:
|
||||
case eCursor_arrow_east_plus:
|
||||
newCursor = gdk_cursor_new(GDK_RIGHT_SIDE);
|
||||
case eCursor_arrow_south:
|
||||
case eCursor_arrow_south_plus:
|
||||
newCursor = gdk_cursor_new(GDK_BOTTOM_SIDE);
|
||||
break;
|
||||
|
||||
case eCursor_arrow_west:
|
||||
|
@ -844,13 +856,44 @@ NS_IMETHODIMP nsWidget::SetCursor(nsCursor aCursor)
|
|||
newCursor = gdk_cursor_new(GDK_LEFT_SIDE);
|
||||
break;
|
||||
|
||||
case eCursor_arrow_east:
|
||||
case eCursor_arrow_east_plus:
|
||||
newCursor = gdk_cursor_new(GDK_RIGHT_SIDE);
|
||||
break;
|
||||
|
||||
case eCursor_crosshair:
|
||||
newCursor = gdk_cursor_new(GDK_CROSSHAIR);
|
||||
break;
|
||||
|
||||
case eCursor_move:
|
||||
newCursor = gdk_cursor_new(GDK_FLEUR);
|
||||
break;
|
||||
|
||||
case eCursor_help:
|
||||
newCursor = gdk_cursor_new(GDK_QUESTION_ARROW);
|
||||
break;
|
||||
|
||||
case eCursor_copy: // CSS3
|
||||
case eCursor_alias:
|
||||
case eCursor_context_menu:
|
||||
// XXX: these CSS3 cursors need to be implemented
|
||||
// For CSS3 Cursor Definitions, See:
|
||||
// www.w3.org/TR/css3-userint
|
||||
break;
|
||||
|
||||
case eCursor_cell:
|
||||
newCursor = gdk_cursor_new(GDK_PLUS);
|
||||
break;
|
||||
|
||||
case eCursor_grab:
|
||||
case eCursor_grabbing:
|
||||
newCursor = gdk_cursor_new(GDK_HAND1);
|
||||
break;
|
||||
|
||||
case eCursor_spinning:
|
||||
case eCursor_context_menu:
|
||||
newCursor = gdk_cursor_new(GDK_EXCHANGE);
|
||||
break;
|
||||
|
||||
case eCursor_count_up:
|
||||
case eCursor_count_down:
|
||||
case eCursor_count_up_down:
|
||||
|
|
Загрузка…
Ссылка в новой задаче