| Index: ui/base/cursor/cursor_loader_win.cc
|
| ===================================================================
|
| --- ui/base/cursor/cursor_loader_win.cc (revision 157487)
|
| +++ ui/base/cursor/cursor_loader_win.cc (working copy)
|
| @@ -4,8 +4,98 @@
|
|
|
| #include "ui/base/cursor/cursor_loader_win.h"
|
|
|
| +#include "ui/base/cursor/cursor.h"
|
| +
|
| namespace ui {
|
|
|
| +#if defined(USE_AURA)
|
| +
|
| +namespace {
|
| +
|
| +const wchar_t* GetCursorId(gfx::NativeCursor native_cursor) {
|
| + switch (native_cursor.native_type()) {
|
| + case kCursorNull:
|
| + return IDC_ARROW;
|
| + case kCursorPointer:
|
| + return IDC_ARROW;
|
| + case kCursorCross:
|
| + return IDC_CROSS;
|
| + case kCursorHand:
|
| + return IDC_HAND;
|
| + case kCursorIBeam:
|
| + return IDC_IBEAM;
|
| + case kCursorWait:
|
| + return IDC_WAIT;
|
| + case kCursorHelp:
|
| + return IDC_HELP;
|
| + case kCursorEastResize:
|
| + return IDC_SIZEWE;
|
| + case kCursorNorthResize:
|
| + return IDC_SIZENS;
|
| + case kCursorNorthEastResize:
|
| + return IDC_SIZENESW;
|
| + case kCursorNorthWestResize:
|
| + return IDC_SIZENWSE;
|
| + case kCursorSouthResize:
|
| + return IDC_SIZENS;
|
| + case kCursorSouthEastResize:
|
| + return IDC_SIZENWSE;
|
| + case kCursorSouthWestResize:
|
| + return IDC_SIZENESW;
|
| + case kCursorWestResize:
|
| + return IDC_SIZEWE;
|
| + case kCursorNorthSouthResize:
|
| + return IDC_SIZENS;
|
| + case kCursorEastWestResize:
|
| + return IDC_SIZEWE;
|
| + case kCursorNorthEastSouthWestResize:
|
| + return IDC_SIZENESW;
|
| + case kCursorNorthWestSouthEastResize:
|
| + return IDC_SIZENWSE;
|
| + case kCursorMove:
|
| + return IDC_SIZEALL;
|
| + case kCursorProgress:
|
| + return IDC_APPSTARTING;
|
| + case kCursorNoDrop:
|
| + return IDC_NO;
|
| + case kCursorNotAllowed:
|
| + return IDC_NO;
|
| + case kCursorColumnResize:
|
| + case kCursorRowResize:
|
| + case kCursorMiddlePanning:
|
| + case kCursorEastPanning:
|
| + case kCursorNorthPanning:
|
| + case kCursorNorthEastPanning:
|
| + case kCursorNorthWestPanning:
|
| + case kCursorSouthPanning:
|
| + case kCursorSouthEastPanning:
|
| + case kCursorSouthWestPanning:
|
| + case kCursorWestPanning:
|
| + case kCursorVerticalText:
|
| + case kCursorCell:
|
| + case kCursorContextMenu:
|
| + case kCursorAlias:
|
| + case kCursorCopy:
|
| + case kCursorNone:
|
| + case kCursorZoomIn:
|
| + case kCursorZoomOut:
|
| + case kCursorGrab:
|
| + case kCursorGrabbing:
|
| + case kCursorCustom:
|
| + // TODO(jamescook): Should we use WebKit glue resources for these?
|
| + // Or migrate those resources to someplace ui/aura can share?
|
| + NOTIMPLEMENTED();
|
| + return IDC_ARROW;
|
| + default:
|
| + NOTREACHED();
|
| + return IDC_ARROW;
|
| + }
|
| +}
|
| +
|
| +} // namespace
|
| +
|
| +#endif
|
| +
|
| CursorLoader* CursorLoader::Create() {
|
| return new CursorLoaderWin;
|
| }
|
| @@ -34,7 +124,13 @@
|
| }
|
|
|
| void CursorLoaderWin::SetPlatformCursor(gfx::NativeCursor* cursor) {
|
| - // NOTIMPLEMENTED();
|
| +#if defined(USE_AURA)
|
| + const wchar_t* cursor_id = GetCursorId(*cursor);
|
| +
|
| + // TODO(jamescook): Support for non-system cursors will require finding
|
| + // the appropriate module to pass to LoadCursor().
|
| + cursor->SetPlatformCursor(LoadCursor(NULL, cursor_id));
|
| +#endif
|
| }
|
|
|
| } // namespace ui
|
|
|