mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-24 03:19:06 +00:00
Implement CSS3 cursors on Windows
This commit is contained in:
parent
127758985b
commit
468689c637
@ -1175,6 +1175,36 @@ nsEventStateManager::SetCursor(PRInt32 aCursor, nsIWidget* aWidget, PRBool aLock
|
||||
case NS_STYLE_CURSOR_SW_RESIZE:
|
||||
c = eCursor_sizeSW;
|
||||
break;
|
||||
case NS_STYLE_CURSOR_COPY: // CSS3
|
||||
c = eCursor_copy;
|
||||
break;
|
||||
case NS_STYLE_CURSOR_ALIAS:
|
||||
c = eCursor_alias;
|
||||
break;
|
||||
case NS_STYLE_CURSOR_CONTEXT_MENU:
|
||||
c = eCursor_context_menu;
|
||||
break;
|
||||
case NS_STYLE_CURSOR_CELL:
|
||||
c = eCursor_cell;
|
||||
break;
|
||||
case NS_STYLE_CURSOR_GRAB:
|
||||
c = eCursor_grab;
|
||||
break;
|
||||
case NS_STYLE_CURSOR_GRABBING:
|
||||
c = eCursor_grabbing;
|
||||
break;
|
||||
case NS_STYLE_CURSOR_SPINNING:
|
||||
c = eCursor_spinning;
|
||||
break;
|
||||
case NS_STYLE_CURSOR_COUNT_UP:
|
||||
c = eCursor_count_up;
|
||||
break;
|
||||
case NS_STYLE_CURSOR_COUNT_DOWN:
|
||||
c = eCursor_count_down;
|
||||
break;
|
||||
case NS_STYLE_CURSOR_COUNT_UP_DOWN:
|
||||
c = eCursor_count_up_down;
|
||||
break;
|
||||
}
|
||||
|
||||
aWidget->SetCursor(c);
|
||||
|
@ -51,6 +51,7 @@ CSS_KEY(above)
|
||||
CSS_KEY(absolute)
|
||||
CSS_KEY(activeborder)
|
||||
CSS_KEY(activecaption)
|
||||
CSS_KEY(alias)
|
||||
CSS_KEY(all)
|
||||
CSS_KEY(always)
|
||||
CSS_KEY(appworkspace)
|
||||
@ -79,6 +80,7 @@ CSS_KEY(buttontext)
|
||||
CSS_KEY(capitalize)
|
||||
CSS_KEY(caption)
|
||||
CSS_KEY(captiontext)
|
||||
CSS_KEY(cell)
|
||||
CSS_KEY(center)
|
||||
CSS_KEY(center_left)
|
||||
CSS_KEY(center_right)
|
||||
@ -94,7 +96,12 @@ CSS_KEY(collapse)
|
||||
CSS_KEY(compact)
|
||||
CSS_KEY(condensed)
|
||||
CSS_KEY(content_box)
|
||||
CSS_KEY(context_menu)
|
||||
CSS_KEY(continuous)
|
||||
CSS_KEY(copy)
|
||||
CSS_KEY(count_down)
|
||||
CSS_KEY(count_up)
|
||||
CSS_KEY(count_up_down)
|
||||
CSS_KEY(crop)
|
||||
CSS_KEY(cross)
|
||||
CSS_KEY(crosshair)
|
||||
@ -129,6 +136,8 @@ CSS_KEY(faster)
|
||||
CSS_KEY(field)
|
||||
CSS_KEY(fixed)
|
||||
CSS_KEY(georgian)
|
||||
CSS_KEY(grab)
|
||||
CSS_KEY(grabbing)
|
||||
CSS_KEY(grad)
|
||||
CSS_KEY(graytext)
|
||||
CSS_KEY(groove)
|
||||
@ -272,6 +281,7 @@ CSS_KEY(smaller)
|
||||
CSS_KEY(soft)
|
||||
CSS_KEY(solid)
|
||||
CSS_KEY(spell_out)
|
||||
CSS_KEY(spinning)
|
||||
CSS_KEY(square)
|
||||
CSS_KEY(static)
|
||||
CSS_KEY(status_bar)
|
||||
|
@ -51,6 +51,7 @@ CSS_KEY(above)
|
||||
CSS_KEY(absolute)
|
||||
CSS_KEY(activeborder)
|
||||
CSS_KEY(activecaption)
|
||||
CSS_KEY(alias)
|
||||
CSS_KEY(all)
|
||||
CSS_KEY(always)
|
||||
CSS_KEY(appworkspace)
|
||||
@ -79,6 +80,7 @@ CSS_KEY(buttontext)
|
||||
CSS_KEY(capitalize)
|
||||
CSS_KEY(caption)
|
||||
CSS_KEY(captiontext)
|
||||
CSS_KEY(cell)
|
||||
CSS_KEY(center)
|
||||
CSS_KEY(center_left)
|
||||
CSS_KEY(center_right)
|
||||
@ -94,7 +96,12 @@ CSS_KEY(collapse)
|
||||
CSS_KEY(compact)
|
||||
CSS_KEY(condensed)
|
||||
CSS_KEY(content_box)
|
||||
CSS_KEY(context_menu)
|
||||
CSS_KEY(continuous)
|
||||
CSS_KEY(copy)
|
||||
CSS_KEY(count_down)
|
||||
CSS_KEY(count_up)
|
||||
CSS_KEY(count_up_down)
|
||||
CSS_KEY(crop)
|
||||
CSS_KEY(cross)
|
||||
CSS_KEY(crosshair)
|
||||
@ -129,6 +136,8 @@ CSS_KEY(faster)
|
||||
CSS_KEY(field)
|
||||
CSS_KEY(fixed)
|
||||
CSS_KEY(georgian)
|
||||
CSS_KEY(grab)
|
||||
CSS_KEY(grabbing)
|
||||
CSS_KEY(grad)
|
||||
CSS_KEY(graytext)
|
||||
CSS_KEY(groove)
|
||||
@ -272,6 +281,7 @@ CSS_KEY(smaller)
|
||||
CSS_KEY(soft)
|
||||
CSS_KEY(solid)
|
||||
CSS_KEY(spell_out)
|
||||
CSS_KEY(spinning)
|
||||
CSS_KEY(square)
|
||||
CSS_KEY(static)
|
||||
CSS_KEY(status_bar)
|
||||
|
@ -303,6 +303,16 @@ const PRInt32 nsCSSProps::kCursorKTable[] = {
|
||||
eCSSKeyword_text, NS_STYLE_CURSOR_TEXT,
|
||||
eCSSKeyword_wait, NS_STYLE_CURSOR_WAIT,
|
||||
eCSSKeyword_help, NS_STYLE_CURSOR_HELP,
|
||||
eCSSKeyword_copy, NS_STYLE_CURSOR_COPY, // CSS3
|
||||
eCSSKeyword_alias, NS_STYLE_CURSOR_ALIAS,
|
||||
eCSSKeyword_context_menu, NS_STYLE_CURSOR_CONTEXT_MENU,
|
||||
eCSSKeyword_cell, NS_STYLE_CURSOR_CELL,
|
||||
eCSSKeyword_grab, NS_STYLE_CURSOR_GRAB,
|
||||
eCSSKeyword_grabbing, NS_STYLE_CURSOR_GRABBING,
|
||||
eCSSKeyword_spinning, NS_STYLE_CURSOR_SPINNING,
|
||||
eCSSKeyword_count_up, NS_STYLE_CURSOR_COUNT_UP,
|
||||
eCSSKeyword_count_down, NS_STYLE_CURSOR_COUNT_DOWN,
|
||||
eCSSKeyword_count_up_down, NS_STYLE_CURSOR_COUNT_UP_DOWN,
|
||||
-1,-1
|
||||
};
|
||||
|
||||
|
@ -1539,6 +1539,16 @@ NS_IMETHODIMP GlobalWindowImpl::SetCursor(const nsString& aCursor)
|
||||
else if (aCursor.EqualsWithConversion("nw-resize")) cursor = NS_STYLE_CURSOR_NW_RESIZE;
|
||||
else if (aCursor.EqualsWithConversion("se-resize")) cursor = NS_STYLE_CURSOR_SE_RESIZE;
|
||||
else if (aCursor.EqualsWithConversion("sw-resize")) cursor = NS_STYLE_CURSOR_SW_RESIZE;
|
||||
else if (aCursor.EqualsWithConversion("copy")) cursor = NS_STYLE_CURSOR_COPY; // CSS3
|
||||
else if (aCursor.EqualsWithConversion("alias")) cursor = NS_STYLE_CURSOR_ALIAS;
|
||||
else if (aCursor.EqualsWithConversion("context-menu")) cursor = NS_STYLE_CURSOR_CONTEXT_MENU;
|
||||
else if (aCursor.EqualsWithConversion("cell")) cursor = NS_STYLE_CURSOR_CELL;
|
||||
else if (aCursor.EqualsWithConversion("grab")) cursor = NS_STYLE_CURSOR_GRAB;
|
||||
else if (aCursor.EqualsWithConversion("grabbing")) cursor = NS_STYLE_CURSOR_GRABBING;
|
||||
else if (aCursor.EqualsWithConversion("spinning")) cursor = NS_STYLE_CURSOR_SPINNING;
|
||||
else if (aCursor.EqualsWithConversion("count-up")) cursor = NS_STYLE_CURSOR_COUNT_UP;
|
||||
else if (aCursor.EqualsWithConversion("count-down")) cursor = NS_STYLE_CURSOR_COUNT_DOWN;
|
||||
else if (aCursor.EqualsWithConversion("count-up-down")) cursor = NS_STYLE_CURSOR_COUNT_UP_DOWN;
|
||||
else return NS_OK;
|
||||
|
||||
nsCOMPtr<nsIPresContext> presContext;
|
||||
|
@ -249,6 +249,17 @@
|
||||
#define NS_STYLE_CURSOR_TEXT 14 // ie: i-beam
|
||||
#define NS_STYLE_CURSOR_WAIT 15
|
||||
#define NS_STYLE_CURSOR_HELP 16
|
||||
#define NS_STYLE_CURSOR_COPY 17 // CSS3
|
||||
#define NS_STYLE_CURSOR_ALIAS 18
|
||||
#define NS_STYLE_CURSOR_CONTEXT_MENU 19
|
||||
#define NS_STYLE_CURSOR_CELL 20
|
||||
#define NS_STYLE_CURSOR_GRAB 21
|
||||
#define NS_STYLE_CURSOR_GRABBING 22
|
||||
#define NS_STYLE_CURSOR_SPINNING 23
|
||||
#define NS_STYLE_CURSOR_COUNT_UP 24
|
||||
#define NS_STYLE_CURSOR_COUNT_DOWN 25
|
||||
#define NS_STYLE_CURSOR_COUNT_UP_DOWN 26
|
||||
|
||||
|
||||
// See nsStyleDisplay
|
||||
#define NS_STYLE_DIRECTION_LTR 0
|
||||
|
@ -249,6 +249,17 @@
|
||||
#define NS_STYLE_CURSOR_TEXT 14 // ie: i-beam
|
||||
#define NS_STYLE_CURSOR_WAIT 15
|
||||
#define NS_STYLE_CURSOR_HELP 16
|
||||
#define NS_STYLE_CURSOR_COPY 17 // CSS3
|
||||
#define NS_STYLE_CURSOR_ALIAS 18
|
||||
#define NS_STYLE_CURSOR_CONTEXT_MENU 19
|
||||
#define NS_STYLE_CURSOR_CELL 20
|
||||
#define NS_STYLE_CURSOR_GRAB 21
|
||||
#define NS_STYLE_CURSOR_GRABBING 22
|
||||
#define NS_STYLE_CURSOR_SPINNING 23
|
||||
#define NS_STYLE_CURSOR_COUNT_UP 24
|
||||
#define NS_STYLE_CURSOR_COUNT_DOWN 25
|
||||
#define NS_STYLE_CURSOR_COUNT_UP_DOWN 26
|
||||
|
||||
|
||||
// See nsStyleDisplay
|
||||
#define NS_STYLE_DIRECTION_LTR 0
|
||||
|
@ -1175,6 +1175,36 @@ nsEventStateManager::SetCursor(PRInt32 aCursor, nsIWidget* aWidget, PRBool aLock
|
||||
case NS_STYLE_CURSOR_SW_RESIZE:
|
||||
c = eCursor_sizeSW;
|
||||
break;
|
||||
case NS_STYLE_CURSOR_COPY: // CSS3
|
||||
c = eCursor_copy;
|
||||
break;
|
||||
case NS_STYLE_CURSOR_ALIAS:
|
||||
c = eCursor_alias;
|
||||
break;
|
||||
case NS_STYLE_CURSOR_CONTEXT_MENU:
|
||||
c = eCursor_context_menu;
|
||||
break;
|
||||
case NS_STYLE_CURSOR_CELL:
|
||||
c = eCursor_cell;
|
||||
break;
|
||||
case NS_STYLE_CURSOR_GRAB:
|
||||
c = eCursor_grab;
|
||||
break;
|
||||
case NS_STYLE_CURSOR_GRABBING:
|
||||
c = eCursor_grabbing;
|
||||
break;
|
||||
case NS_STYLE_CURSOR_SPINNING:
|
||||
c = eCursor_spinning;
|
||||
break;
|
||||
case NS_STYLE_CURSOR_COUNT_UP:
|
||||
c = eCursor_count_up;
|
||||
break;
|
||||
case NS_STYLE_CURSOR_COUNT_DOWN:
|
||||
c = eCursor_count_down;
|
||||
break;
|
||||
case NS_STYLE_CURSOR_COUNT_UP_DOWN:
|
||||
c = eCursor_count_up_down;
|
||||
break;
|
||||
}
|
||||
|
||||
aWidget->SetCursor(c);
|
||||
|
@ -51,6 +51,7 @@ CSS_KEY(above)
|
||||
CSS_KEY(absolute)
|
||||
CSS_KEY(activeborder)
|
||||
CSS_KEY(activecaption)
|
||||
CSS_KEY(alias)
|
||||
CSS_KEY(all)
|
||||
CSS_KEY(always)
|
||||
CSS_KEY(appworkspace)
|
||||
@ -79,6 +80,7 @@ CSS_KEY(buttontext)
|
||||
CSS_KEY(capitalize)
|
||||
CSS_KEY(caption)
|
||||
CSS_KEY(captiontext)
|
||||
CSS_KEY(cell)
|
||||
CSS_KEY(center)
|
||||
CSS_KEY(center_left)
|
||||
CSS_KEY(center_right)
|
||||
@ -94,7 +96,12 @@ CSS_KEY(collapse)
|
||||
CSS_KEY(compact)
|
||||
CSS_KEY(condensed)
|
||||
CSS_KEY(content_box)
|
||||
CSS_KEY(context_menu)
|
||||
CSS_KEY(continuous)
|
||||
CSS_KEY(copy)
|
||||
CSS_KEY(count_down)
|
||||
CSS_KEY(count_up)
|
||||
CSS_KEY(count_up_down)
|
||||
CSS_KEY(crop)
|
||||
CSS_KEY(cross)
|
||||
CSS_KEY(crosshair)
|
||||
@ -129,6 +136,8 @@ CSS_KEY(faster)
|
||||
CSS_KEY(field)
|
||||
CSS_KEY(fixed)
|
||||
CSS_KEY(georgian)
|
||||
CSS_KEY(grab)
|
||||
CSS_KEY(grabbing)
|
||||
CSS_KEY(grad)
|
||||
CSS_KEY(graytext)
|
||||
CSS_KEY(groove)
|
||||
@ -272,6 +281,7 @@ CSS_KEY(smaller)
|
||||
CSS_KEY(soft)
|
||||
CSS_KEY(solid)
|
||||
CSS_KEY(spell_out)
|
||||
CSS_KEY(spinning)
|
||||
CSS_KEY(square)
|
||||
CSS_KEY(static)
|
||||
CSS_KEY(status_bar)
|
||||
|
@ -303,6 +303,16 @@ const PRInt32 nsCSSProps::kCursorKTable[] = {
|
||||
eCSSKeyword_text, NS_STYLE_CURSOR_TEXT,
|
||||
eCSSKeyword_wait, NS_STYLE_CURSOR_WAIT,
|
||||
eCSSKeyword_help, NS_STYLE_CURSOR_HELP,
|
||||
eCSSKeyword_copy, NS_STYLE_CURSOR_COPY, // CSS3
|
||||
eCSSKeyword_alias, NS_STYLE_CURSOR_ALIAS,
|
||||
eCSSKeyword_context_menu, NS_STYLE_CURSOR_CONTEXT_MENU,
|
||||
eCSSKeyword_cell, NS_STYLE_CURSOR_CELL,
|
||||
eCSSKeyword_grab, NS_STYLE_CURSOR_GRAB,
|
||||
eCSSKeyword_grabbing, NS_STYLE_CURSOR_GRABBING,
|
||||
eCSSKeyword_spinning, NS_STYLE_CURSOR_SPINNING,
|
||||
eCSSKeyword_count_up, NS_STYLE_CURSOR_COUNT_UP,
|
||||
eCSSKeyword_count_down, NS_STYLE_CURSOR_COUNT_DOWN,
|
||||
eCSSKeyword_count_up_down, NS_STYLE_CURSOR_COUNT_UP_DOWN,
|
||||
-1,-1
|
||||
};
|
||||
|
||||
|
@ -51,6 +51,7 @@ CSS_KEY(above)
|
||||
CSS_KEY(absolute)
|
||||
CSS_KEY(activeborder)
|
||||
CSS_KEY(activecaption)
|
||||
CSS_KEY(alias)
|
||||
CSS_KEY(all)
|
||||
CSS_KEY(always)
|
||||
CSS_KEY(appworkspace)
|
||||
@ -79,6 +80,7 @@ CSS_KEY(buttontext)
|
||||
CSS_KEY(capitalize)
|
||||
CSS_KEY(caption)
|
||||
CSS_KEY(captiontext)
|
||||
CSS_KEY(cell)
|
||||
CSS_KEY(center)
|
||||
CSS_KEY(center_left)
|
||||
CSS_KEY(center_right)
|
||||
@ -94,7 +96,12 @@ CSS_KEY(collapse)
|
||||
CSS_KEY(compact)
|
||||
CSS_KEY(condensed)
|
||||
CSS_KEY(content_box)
|
||||
CSS_KEY(context_menu)
|
||||
CSS_KEY(continuous)
|
||||
CSS_KEY(copy)
|
||||
CSS_KEY(count_down)
|
||||
CSS_KEY(count_up)
|
||||
CSS_KEY(count_up_down)
|
||||
CSS_KEY(crop)
|
||||
CSS_KEY(cross)
|
||||
CSS_KEY(crosshair)
|
||||
@ -129,6 +136,8 @@ CSS_KEY(faster)
|
||||
CSS_KEY(field)
|
||||
CSS_KEY(fixed)
|
||||
CSS_KEY(georgian)
|
||||
CSS_KEY(grab)
|
||||
CSS_KEY(grabbing)
|
||||
CSS_KEY(grad)
|
||||
CSS_KEY(graytext)
|
||||
CSS_KEY(groove)
|
||||
@ -272,6 +281,7 @@ CSS_KEY(smaller)
|
||||
CSS_KEY(soft)
|
||||
CSS_KEY(solid)
|
||||
CSS_KEY(spell_out)
|
||||
CSS_KEY(spinning)
|
||||
CSS_KEY(square)
|
||||
CSS_KEY(static)
|
||||
CSS_KEY(status_bar)
|
||||
|
@ -303,6 +303,16 @@ const PRInt32 nsCSSProps::kCursorKTable[] = {
|
||||
eCSSKeyword_text, NS_STYLE_CURSOR_TEXT,
|
||||
eCSSKeyword_wait, NS_STYLE_CURSOR_WAIT,
|
||||
eCSSKeyword_help, NS_STYLE_CURSOR_HELP,
|
||||
eCSSKeyword_copy, NS_STYLE_CURSOR_COPY, // CSS3
|
||||
eCSSKeyword_alias, NS_STYLE_CURSOR_ALIAS,
|
||||
eCSSKeyword_context_menu, NS_STYLE_CURSOR_CONTEXT_MENU,
|
||||
eCSSKeyword_cell, NS_STYLE_CURSOR_CELL,
|
||||
eCSSKeyword_grab, NS_STYLE_CURSOR_GRAB,
|
||||
eCSSKeyword_grabbing, NS_STYLE_CURSOR_GRABBING,
|
||||
eCSSKeyword_spinning, NS_STYLE_CURSOR_SPINNING,
|
||||
eCSSKeyword_count_up, NS_STYLE_CURSOR_COUNT_UP,
|
||||
eCSSKeyword_count_down, NS_STYLE_CURSOR_COUNT_DOWN,
|
||||
eCSSKeyword_count_up_down, NS_STYLE_CURSOR_COUNT_UP_DOWN,
|
||||
-1,-1
|
||||
};
|
||||
|
||||
|
@ -164,7 +164,17 @@ enum nsCursor { ///(normal cursor, usually rendered as an arrow)
|
||||
eCursor_crosshair,
|
||||
//Don't know what 'move' cursor should be. See CSS2.
|
||||
eCursor_move,
|
||||
eCursor_help
|
||||
eCursor_help,
|
||||
eCursor_copy, // CSS3
|
||||
eCursor_alias,
|
||||
eCursor_context_menu,
|
||||
eCursor_cell,
|
||||
eCursor_grab,
|
||||
eCursor_grabbing,
|
||||
eCursor_spinning,
|
||||
eCursor_count_up,
|
||||
eCursor_count_down,
|
||||
eCursor_count_up_down
|
||||
};
|
||||
|
||||
|
||||
|
@ -864,6 +864,19 @@ NS_IMETHODIMP nsWidget::SetCursor(nsCursor aCursor)
|
||||
newCursor = gdk_cursor_new(GDK_LEFT_SIDE);
|
||||
break;
|
||||
|
||||
case eCursor_copy: // CSS3
|
||||
case eCursor_alias:
|
||||
case eCursor_cell:
|
||||
case eCursor_grab:
|
||||
case eCursor_grabbing:
|
||||
case eCursor_spinning:
|
||||
case eCursor_context_menu:
|
||||
case eCursor_count_up:
|
||||
case eCursor_count_down:
|
||||
case eCursor_count_up_down:
|
||||
// XXX: these CSS3 cursors need to be implemented
|
||||
break;
|
||||
|
||||
default:
|
||||
NS_ASSERTION(PR_FALSE, "Invalid cursor type");
|
||||
break;
|
||||
|
@ -1675,6 +1675,36 @@ NS_METHOD nsWindow::SetCursor(nsCursor aCursor)
|
||||
newCursor = ::LoadCursor(NULL, IDC_HELP);
|
||||
break;
|
||||
|
||||
case eCursor_copy: // CSS3
|
||||
newCursor = ::LoadCursor(nsToolkit::mDllInstance, MAKEINTRESOURCE(IDC_COPY));
|
||||
break;
|
||||
|
||||
case eCursor_alias:
|
||||
newCursor = ::LoadCursor(nsToolkit::mDllInstance, MAKEINTRESOURCE(IDC_ALIAS));
|
||||
break;
|
||||
|
||||
case eCursor_cell:
|
||||
newCursor = ::LoadCursor(nsToolkit::mDllInstance, MAKEINTRESOURCE(IDC_CELL));
|
||||
break;
|
||||
|
||||
case eCursor_grab:
|
||||
newCursor = ::LoadCursor(nsToolkit::mDllInstance, MAKEINTRESOURCE(IDC_GRAB));
|
||||
break;
|
||||
|
||||
case eCursor_grabbing:
|
||||
newCursor = ::LoadCursor(nsToolkit::mDllInstance, MAKEINTRESOURCE(IDC_GRABBING));
|
||||
break;
|
||||
|
||||
case eCursor_spinning:
|
||||
newCursor = ::LoadCursor(NULL, IDC_APPSTARTING);
|
||||
break;
|
||||
|
||||
case eCursor_context_menu:
|
||||
case eCursor_count_up:
|
||||
case eCursor_count_down:
|
||||
case eCursor_count_up_down:
|
||||
break;
|
||||
|
||||
default:
|
||||
NS_ASSERTION(0, "Invalid cursor type");
|
||||
break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user