Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(312)

Side by Side Diff: ui/base/cursor/cursor_loader_win.cc

Issue 2833163002: Change ui cursor identifiers to an enum class. (Closed)
Patch Set: OK, it can't be explicit for mac. Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ui/base/cursor/cursor_loader_win.h ('k') | ui/base/cursor/cursor_loader_x11.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ui/base/cursor/cursor_loader_win.h" 5 #include "ui/base/cursor/cursor_loader_win.h"
6 6
7 #include "base/lazy_instance.h" 7 #include "base/lazy_instance.h"
8 #include "base/strings/string16.h" 8 #include "base/strings/string16.h"
9 #include "ui/base/cursor/cursor.h" 9 #include "ui/base/cursor/cursor.h"
10 #include "ui/resources/grit/ui_unscaled_resources.h" 10 #include "ui/resources/grit/ui_unscaled_resources.h"
11 11
12 namespace ui { 12 namespace ui {
13 13
14 namespace { 14 namespace {
15 15
16 base::LazyInstance<base::string16>::DestructorAtExit 16 base::LazyInstance<base::string16>::DestructorAtExit
17 g_cursor_resource_module_name; 17 g_cursor_resource_module_name;
18 18
19 const wchar_t* GetCursorId(gfx::NativeCursor native_cursor) { 19 const wchar_t* GetCursorId(gfx::NativeCursor native_cursor) {
20 switch (native_cursor.native_type()) { 20 switch (native_cursor.native_type()) {
21 case kCursorNull: 21 case CursorType::kNull:
22 return IDC_ARROW; 22 return IDC_ARROW;
23 case kCursorPointer: 23 case CursorType::kPointer:
24 return IDC_ARROW; 24 return IDC_ARROW;
25 case kCursorCross: 25 case CursorType::kCross:
26 return IDC_CROSS; 26 return IDC_CROSS;
27 case kCursorHand: 27 case CursorType::kHand:
28 return IDC_HAND; 28 return IDC_HAND;
29 case kCursorIBeam: 29 case CursorType::kIBeam:
30 return IDC_IBEAM; 30 return IDC_IBEAM;
31 case kCursorWait: 31 case CursorType::kWait:
32 return IDC_WAIT; 32 return IDC_WAIT;
33 case kCursorHelp: 33 case CursorType::kHelp:
34 return IDC_HELP; 34 return IDC_HELP;
35 case kCursorEastResize: 35 case CursorType::kEastResize:
36 return IDC_SIZEWE; 36 return IDC_SIZEWE;
37 case kCursorNorthResize: 37 case CursorType::kNorthResize:
38 return IDC_SIZENS; 38 return IDC_SIZENS;
39 case kCursorNorthEastResize: 39 case CursorType::kNorthEastResize:
40 return IDC_SIZENESW; 40 return IDC_SIZENESW;
41 case kCursorNorthWestResize: 41 case CursorType::kNorthWestResize:
42 return IDC_SIZENWSE; 42 return IDC_SIZENWSE;
43 case kCursorSouthResize: 43 case CursorType::kSouthResize:
44 return IDC_SIZENS; 44 return IDC_SIZENS;
45 case kCursorSouthEastResize: 45 case CursorType::kSouthEastResize:
46 return IDC_SIZENWSE; 46 return IDC_SIZENWSE;
47 case kCursorSouthWestResize: 47 case CursorType::kSouthWestResize:
48 return IDC_SIZENESW; 48 return IDC_SIZENESW;
49 case kCursorWestResize: 49 case CursorType::kWestResize:
50 return IDC_SIZEWE; 50 return IDC_SIZEWE;
51 case kCursorNorthSouthResize: 51 case CursorType::kNorthSouthResize:
52 return IDC_SIZENS; 52 return IDC_SIZENS;
53 case kCursorEastWestResize: 53 case CursorType::kEastWestResize:
54 return IDC_SIZEWE; 54 return IDC_SIZEWE;
55 case kCursorNorthEastSouthWestResize: 55 case CursorType::kNorthEastSouthWestResize:
56 return IDC_SIZENESW; 56 return IDC_SIZENESW;
57 case kCursorNorthWestSouthEastResize: 57 case CursorType::kNorthWestSouthEastResize:
58 return IDC_SIZENWSE; 58 return IDC_SIZENWSE;
59 case kCursorMove: 59 case CursorType::kMove:
60 return IDC_SIZEALL; 60 return IDC_SIZEALL;
61 case kCursorProgress: 61 case CursorType::kProgress:
62 return IDC_APPSTARTING; 62 return IDC_APPSTARTING;
63 case kCursorNoDrop: 63 case CursorType::kNoDrop:
64 return IDC_NO; 64 return IDC_NO;
65 case kCursorNotAllowed: 65 case CursorType::kNotAllowed:
66 return IDC_NO; 66 return IDC_NO;
67 case kCursorColumnResize: 67 case CursorType::kColumnResize:
68 return MAKEINTRESOURCE(IDC_COLRESIZE); 68 return MAKEINTRESOURCE(IDC_COLRESIZE);
69 case kCursorRowResize: 69 case CursorType::kRowResize:
70 return MAKEINTRESOURCE(IDC_ROWRESIZE); 70 return MAKEINTRESOURCE(IDC_ROWRESIZE);
71 case kCursorMiddlePanning: 71 case CursorType::kMiddlePanning:
72 return MAKEINTRESOURCE(IDC_PAN_MIDDLE); 72 return MAKEINTRESOURCE(IDC_PAN_MIDDLE);
73 case kCursorEastPanning: 73 case CursorType::kEastPanning:
74 return MAKEINTRESOURCE(IDC_PAN_EAST); 74 return MAKEINTRESOURCE(IDC_PAN_EAST);
75 case kCursorNorthPanning: 75 case CursorType::kNorthPanning:
76 return MAKEINTRESOURCE(IDC_PAN_NORTH); 76 return MAKEINTRESOURCE(IDC_PAN_NORTH);
77 case kCursorNorthEastPanning: 77 case CursorType::kNorthEastPanning:
78 return MAKEINTRESOURCE(IDC_PAN_NORTH_EAST); 78 return MAKEINTRESOURCE(IDC_PAN_NORTH_EAST);
79 case kCursorNorthWestPanning: 79 case CursorType::kNorthWestPanning:
80 return MAKEINTRESOURCE(IDC_PAN_NORTH_WEST); 80 return MAKEINTRESOURCE(IDC_PAN_NORTH_WEST);
81 case kCursorSouthPanning: 81 case CursorType::kSouthPanning:
82 return MAKEINTRESOURCE(IDC_PAN_SOUTH); 82 return MAKEINTRESOURCE(IDC_PAN_SOUTH);
83 case kCursorSouthEastPanning: 83 case CursorType::kSouthEastPanning:
84 return MAKEINTRESOURCE(IDC_PAN_SOUTH_EAST); 84 return MAKEINTRESOURCE(IDC_PAN_SOUTH_EAST);
85 case kCursorSouthWestPanning: 85 case CursorType::kSouthWestPanning:
86 return MAKEINTRESOURCE(IDC_PAN_SOUTH_WEST); 86 return MAKEINTRESOURCE(IDC_PAN_SOUTH_WEST);
87 case kCursorWestPanning: 87 case CursorType::kWestPanning:
88 return MAKEINTRESOURCE(IDC_PAN_WEST); 88 return MAKEINTRESOURCE(IDC_PAN_WEST);
89 case kCursorVerticalText: 89 case CursorType::kVerticalText:
90 return MAKEINTRESOURCE(IDC_VERTICALTEXT); 90 return MAKEINTRESOURCE(IDC_VERTICALTEXT);
91 case kCursorCell: 91 case CursorType::kCell:
92 return MAKEINTRESOURCE(IDC_CELL); 92 return MAKEINTRESOURCE(IDC_CELL);
93 case kCursorZoomIn: 93 case CursorType::kZoomIn:
94 return MAKEINTRESOURCE(IDC_ZOOMIN); 94 return MAKEINTRESOURCE(IDC_ZOOMIN);
95 case kCursorZoomOut: 95 case CursorType::kZoomOut:
96 return MAKEINTRESOURCE(IDC_ZOOMOUT); 96 return MAKEINTRESOURCE(IDC_ZOOMOUT);
97 case kCursorGrab: 97 case CursorType::kGrab:
98 return MAKEINTRESOURCE(IDC_HAND_GRAB); 98 return MAKEINTRESOURCE(IDC_HAND_GRAB);
99 case kCursorGrabbing: 99 case CursorType::kGrabbing:
100 return MAKEINTRESOURCE(IDC_HAND_GRABBING); 100 return MAKEINTRESOURCE(IDC_HAND_GRABBING);
101 case kCursorCopy: 101 case CursorType::kCopy:
102 return MAKEINTRESOURCE(IDC_COPYCUR); 102 return MAKEINTRESOURCE(IDC_COPYCUR);
103 case kCursorAlias: 103 case CursorType::kAlias:
104 return MAKEINTRESOURCE(IDC_ALIAS); 104 return MAKEINTRESOURCE(IDC_ALIAS);
105 case kCursorNone: 105 case CursorType::kNone:
106 return MAKEINTRESOURCE(IDC_CURSOR_NONE); 106 return MAKEINTRESOURCE(IDC_CURSOR_NONE);
107 case kCursorContextMenu: 107 case CursorType::kContextMenu:
108 case kCursorCustom: 108 case CursorType::kCustom:
109 NOTIMPLEMENTED(); 109 NOTIMPLEMENTED();
110 return IDC_ARROW; 110 return IDC_ARROW;
111 default: 111 default:
112 NOTREACHED(); 112 NOTREACHED();
113 return IDC_ARROW; 113 return IDC_ARROW;
114 } 114 }
115 } 115 }
116 116
117 } // namespace 117 } // namespace
118 118
119 CursorLoader* CursorLoader::Create() { 119 CursorLoader* CursorLoader::Create() {
120 return new CursorLoaderWin; 120 return new CursorLoaderWin;
121 } 121 }
122 122
123 CursorLoaderWin::CursorLoaderWin() { 123 CursorLoaderWin::CursorLoaderWin() {
124 } 124 }
125 125
126 CursorLoaderWin::~CursorLoaderWin() { 126 CursorLoaderWin::~CursorLoaderWin() {
127 } 127 }
128 128
129 void CursorLoaderWin::LoadImageCursor(int id, 129 void CursorLoaderWin::LoadImageCursor(CursorType id,
130 int resource_id, 130 int resource_id,
131 const gfx::Point& hot) { 131 const gfx::Point& hot) {
132 // NOTIMPLEMENTED(); 132 // NOTIMPLEMENTED();
133 } 133 }
134 134
135 void CursorLoaderWin::LoadAnimatedCursor(int id, 135 void CursorLoaderWin::LoadAnimatedCursor(CursorType id,
136 int resource_id, 136 int resource_id,
137 const gfx::Point& hot, 137 const gfx::Point& hot,
138 int frame_delay_ms) { 138 int frame_delay_ms) {
139 // NOTIMPLEMENTED(); 139 // NOTIMPLEMENTED();
140 } 140 }
141 141
142 void CursorLoaderWin::UnloadAll() { 142 void CursorLoaderWin::UnloadAll() {
143 // NOTIMPLEMENTED(); 143 // NOTIMPLEMENTED();
144 } 144 }
145 145
146 void CursorLoaderWin::SetPlatformCursor(gfx::NativeCursor* cursor) { 146 void CursorLoaderWin::SetPlatformCursor(gfx::NativeCursor* cursor) {
147 if (cursor->native_type() != kCursorCustom) { 147 if (cursor->native_type() != CursorType::kCustom) {
148 if (cursor->platform()) { 148 if (cursor->platform()) {
149 cursor->SetPlatformCursor(cursor->platform()); 149 cursor->SetPlatformCursor(cursor->platform());
150 } else { 150 } else {
151 const wchar_t* cursor_id = GetCursorId(*cursor); 151 const wchar_t* cursor_id = GetCursorId(*cursor);
152 PlatformCursor platform_cursor = LoadCursor(NULL, cursor_id); 152 PlatformCursor platform_cursor = LoadCursor(NULL, cursor_id);
153 if (!platform_cursor && !g_cursor_resource_module_name.Get().empty()) { 153 if (!platform_cursor && !g_cursor_resource_module_name.Get().empty()) {
154 platform_cursor = LoadCursor( 154 platform_cursor = LoadCursor(
155 GetModuleHandle(g_cursor_resource_module_name.Get().c_str()), 155 GetModuleHandle(g_cursor_resource_module_name.Get().c_str()),
156 cursor_id); 156 cursor_id);
157 } 157 }
158 cursor->SetPlatformCursor(platform_cursor); 158 cursor->SetPlatformCursor(platform_cursor);
159 } 159 }
160 } 160 }
161 } 161 }
162 162
163 // static 163 // static
164 void CursorLoaderWin::SetCursorResourceModule( 164 void CursorLoaderWin::SetCursorResourceModule(
165 const base::string16& module_name) { 165 const base::string16& module_name) {
166 g_cursor_resource_module_name.Get() = module_name; 166 g_cursor_resource_module_name.Get() = module_name;
167 } 167 }
168 168
169 } // namespace ui 169 } // namespace ui
OLDNEW
« no previous file with comments | « ui/base/cursor/cursor_loader_win.h ('k') | ui/base/cursor/cursor_loader_x11.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698