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

Side by Side Diff: ui/base/cursor/cursors_aura.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/cursors_aura.h ('k') | ui/base/cursor/image_cursors.cc » ('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) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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/cursors_aura.h" 5 #include "ui/base/cursor/cursors_aura.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include "base/macros.h" 9 #include "base/macros.h"
10 #include "third_party/skia/include/core/SkBitmap.h" 10 #include "third_party/skia/include/core/SkBitmap.h"
11 #include "ui/base/resource/resource_bundle.h" 11 #include "ui/base/resource/resource_bundle.h"
12 #include "ui/gfx/geometry/point.h" 12 #include "ui/gfx/geometry/point.h"
13 #include "ui/gfx/image/image_skia.h" 13 #include "ui/gfx/image/image_skia.h"
14 #include "ui/resources/grit/ui_resources.h" 14 #include "ui/resources/grit/ui_resources.h"
15 15
16 #if defined(OS_WIN) 16 #if defined(OS_WIN)
17 #include "ui/base/cursor/cursor_loader_win.h" 17 #include "ui/base/cursor/cursor_loader_win.h"
18 #include "ui/gfx/icon_util.h" 18 #include "ui/gfx/icon_util.h"
19 #endif 19 #endif
20 20
21 namespace ui { 21 namespace ui {
22 namespace { 22 namespace {
23 23
24 struct HotPoint { 24 struct HotPoint {
25 int x; 25 int x;
26 int y; 26 int y;
27 }; 27 };
28 28
29 struct CursorData { 29 struct CursorData {
30 int id; 30 CursorType id;
31 int resource_id; 31 int resource_id;
32 HotPoint hot_1x; 32 HotPoint hot_1x;
33 HotPoint hot_2x; 33 HotPoint hot_2x;
34 }; 34 };
35 35
36 struct CursorSet { 36 struct CursorSet {
37 const CursorSetType id; 37 const CursorSetType id;
38 const CursorData* cursors; 38 const CursorData* cursors;
39 const int length; 39 const int length;
40 const CursorData* animated_cursors; 40 const CursorData* animated_cursors;
41 const int animated_length; 41 const int animated_length;
42 }; 42 };
43 43
44 const CursorData kNormalCursors[] = { 44 const CursorData kNormalCursors[] = {
45 {ui::kCursorNull, IDR_AURA_CURSOR_PTR, {4, 4}, {7, 7}}, 45 {CursorType::kNull, IDR_AURA_CURSOR_PTR, {4, 4}, {7, 7}},
46 {ui::kCursorPointer, IDR_AURA_CURSOR_PTR, {4, 4}, {7, 7}}, 46 {CursorType::kPointer, IDR_AURA_CURSOR_PTR, {4, 4}, {7, 7}},
47 {ui::kCursorNoDrop, IDR_AURA_CURSOR_NO_DROP, {9, 9}, {18, 18}}, 47 {CursorType::kNoDrop, IDR_AURA_CURSOR_NO_DROP, {9, 9}, {18, 18}},
48 {ui::kCursorNotAllowed, IDR_AURA_CURSOR_NO_DROP, {9, 9}, {18, 18}}, 48 {CursorType::kNotAllowed, IDR_AURA_CURSOR_NO_DROP, {9, 9}, {18, 18}},
49 {ui::kCursorCopy, IDR_AURA_CURSOR_COPY, {9, 9}, {18, 18}}, 49 {CursorType::kCopy, IDR_AURA_CURSOR_COPY, {9, 9}, {18, 18}},
50 {ui::kCursorHand, IDR_AURA_CURSOR_HAND, {9, 4}, {19, 8}}, 50 {CursorType::kHand, IDR_AURA_CURSOR_HAND, {9, 4}, {19, 8}},
51 {ui::kCursorMove, IDR_AURA_CURSOR_MOVE, {11, 11}, {23, 23}}, 51 {CursorType::kMove, IDR_AURA_CURSOR_MOVE, {11, 11}, {23, 23}},
52 {ui::kCursorNorthEastResize, IDR_AURA_CURSOR_NORTH_EAST_RESIZE, 52 {CursorType::kNorthEastResize,
53 {12, 11}, {25, 23}}, 53 IDR_AURA_CURSOR_NORTH_EAST_RESIZE,
54 {ui::kCursorSouthWestResize, IDR_AURA_CURSOR_SOUTH_WEST_RESIZE, 54 {12, 11},
55 {12, 11}, {25, 23}}, 55 {25, 23}},
56 {ui::kCursorSouthEastResize, IDR_AURA_CURSOR_SOUTH_EAST_RESIZE, 56 {CursorType::kSouthWestResize,
57 {11, 11}, {24, 23}}, 57 IDR_AURA_CURSOR_SOUTH_WEST_RESIZE,
58 {ui::kCursorNorthWestResize, IDR_AURA_CURSOR_NORTH_WEST_RESIZE, 58 {12, 11},
59 {11, 11}, {24, 23}}, 59 {25, 23}},
60 {ui::kCursorNorthResize, IDR_AURA_CURSOR_NORTH_RESIZE, {11, 12}, {23, 23}}, 60 {CursorType::kSouthEastResize,
61 {ui::kCursorSouthResize, IDR_AURA_CURSOR_SOUTH_RESIZE, {11, 12}, {23, 23}}, 61 IDR_AURA_CURSOR_SOUTH_EAST_RESIZE,
62 {ui::kCursorEastResize, IDR_AURA_CURSOR_EAST_RESIZE, {12, 11}, {25, 23}}, 62 {11, 11},
63 {ui::kCursorWestResize, IDR_AURA_CURSOR_WEST_RESIZE, {12, 11}, {25, 23}}, 63 {24, 23}},
64 {ui::kCursorIBeam, IDR_AURA_CURSOR_IBEAM, {12, 12}, {24, 25}}, 64 {CursorType::kNorthWestResize,
65 {ui::kCursorAlias, IDR_AURA_CURSOR_ALIAS, {8, 6}, {15, 11}}, 65 IDR_AURA_CURSOR_NORTH_WEST_RESIZE,
66 {ui::kCursorCell, IDR_AURA_CURSOR_CELL, {11, 11}, {24, 23}}, 66 {11, 11},
67 {ui::kCursorContextMenu, IDR_AURA_CURSOR_CONTEXT_MENU, {4, 4}, {8, 9}}, 67 {24, 23}},
68 {ui::kCursorCross, IDR_AURA_CURSOR_CROSSHAIR, {12, 12}, {25, 23}}, 68 {CursorType::kNorthResize,
69 {ui::kCursorHelp, IDR_AURA_CURSOR_HELP, {4, 4}, {8, 9}}, 69 IDR_AURA_CURSOR_NORTH_RESIZE,
70 {ui::kCursorVerticalText, IDR_AURA_CURSOR_XTERM_HORIZ, {12, 11}, {26, 23}}, 70 {11, 12},
71 {ui::kCursorZoomIn, IDR_AURA_CURSOR_ZOOM_IN, {10, 10}, {20, 20}}, 71 {23, 23}},
72 {ui::kCursorZoomOut, IDR_AURA_CURSOR_ZOOM_OUT, {10, 10}, {20, 20}}, 72 {CursorType::kSouthResize,
73 {ui::kCursorRowResize, IDR_AURA_CURSOR_ROW_RESIZE, {11, 12}, {23, 23}}, 73 IDR_AURA_CURSOR_SOUTH_RESIZE,
74 {ui::kCursorColumnResize, IDR_AURA_CURSOR_COL_RESIZE, {12, 11}, {25, 23}}, 74 {11, 12},
75 {ui::kCursorEastWestResize, IDR_AURA_CURSOR_EAST_WEST_RESIZE, 75 {23, 23}},
76 {12, 11}, {25, 23}}, 76 {CursorType::kEastResize, IDR_AURA_CURSOR_EAST_RESIZE, {12, 11}, {25, 23}},
77 {ui::kCursorNorthSouthResize, IDR_AURA_CURSOR_NORTH_SOUTH_RESIZE, 77 {CursorType::kWestResize, IDR_AURA_CURSOR_WEST_RESIZE, {12, 11}, {25, 23}},
78 {11, 12}, {23, 23}}, 78 {CursorType::kIBeam, IDR_AURA_CURSOR_IBEAM, {12, 12}, {24, 25}},
79 {ui::kCursorNorthEastSouthWestResize, 79 {CursorType::kAlias, IDR_AURA_CURSOR_ALIAS, {8, 6}, {15, 11}},
80 IDR_AURA_CURSOR_NORTH_EAST_SOUTH_WEST_RESIZE, {12, 11}, {25, 23}}, 80 {CursorType::kCell, IDR_AURA_CURSOR_CELL, {11, 11}, {24, 23}},
81 {ui::kCursorNorthWestSouthEastResize, 81 {CursorType::kContextMenu, IDR_AURA_CURSOR_CONTEXT_MENU, {4, 4}, {8, 9}},
82 IDR_AURA_CURSOR_NORTH_WEST_SOUTH_EAST_RESIZE, {11, 11}, {24, 23}}, 82 {CursorType::kCross, IDR_AURA_CURSOR_CROSSHAIR, {12, 12}, {25, 23}},
83 {ui::kCursorGrab, IDR_AURA_CURSOR_GRAB, {8, 5}, {16, 10}}, 83 {CursorType::kHelp, IDR_AURA_CURSOR_HELP, {4, 4}, {8, 9}},
84 {ui::kCursorGrabbing, IDR_AURA_CURSOR_GRABBING, {9, 9}, {18, 18}}, 84 {CursorType::kVerticalText,
85 IDR_AURA_CURSOR_XTERM_HORIZ,
86 {12, 11},
87 {26, 23}},
88 {CursorType::kZoomIn, IDR_AURA_CURSOR_ZOOM_IN, {10, 10}, {20, 20}},
89 {CursorType::kZoomOut, IDR_AURA_CURSOR_ZOOM_OUT, {10, 10}, {20, 20}},
90 {CursorType::kRowResize, IDR_AURA_CURSOR_ROW_RESIZE, {11, 12}, {23, 23}},
91 {CursorType::kColumnResize, IDR_AURA_CURSOR_COL_RESIZE, {12, 11}, {25, 23}},
92 {CursorType::kEastWestResize,
93 IDR_AURA_CURSOR_EAST_WEST_RESIZE,
94 {12, 11},
95 {25, 23}},
96 {CursorType::kNorthSouthResize,
97 IDR_AURA_CURSOR_NORTH_SOUTH_RESIZE,
98 {11, 12},
99 {23, 23}},
100 {CursorType::kNorthEastSouthWestResize,
101 IDR_AURA_CURSOR_NORTH_EAST_SOUTH_WEST_RESIZE,
102 {12, 11},
103 {25, 23}},
104 {CursorType::kNorthWestSouthEastResize,
105 IDR_AURA_CURSOR_NORTH_WEST_SOUTH_EAST_RESIZE,
106 {11, 11},
107 {24, 23}},
108 {CursorType::kGrab, IDR_AURA_CURSOR_GRAB, {8, 5}, {16, 10}},
109 {CursorType::kGrabbing, IDR_AURA_CURSOR_GRABBING, {9, 9}, {18, 18}},
85 }; 110 };
86 111
87 const CursorData kLargeCursors[] = { 112 const CursorData kLargeCursors[] = {
88 // The 2x hotspots should be double of the 1x, even though the cursors are 113 // The 2x hotspots should be double of the 1x, even though the cursors are
89 // shown as same size as 1x (64x64), because in 2x dpi screen, the 1x large 114 // shown as same size as 1x (64x64), because in 2x dpi screen, the 1x large
90 // cursor assets (64x64) are internally enlarged to the double size (128x128) 115 // cursor assets (64x64) are internally enlarged to the double size
91 // by ResourceBundleImageSource. 116 // (128x128)
92 {ui::kCursorNull, IDR_AURA_CURSOR_BIG_PTR, {10, 10}, {20, 20}}, 117 // by ResourceBundleImageSource.
93 {ui::kCursorPointer, IDR_AURA_CURSOR_BIG_PTR, {10, 10}, {20, 20}}, 118 {CursorType::kNull, IDR_AURA_CURSOR_BIG_PTR, {10, 10}, {20, 20}},
94 {ui::kCursorNoDrop, IDR_AURA_CURSOR_BIG_NO_DROP, {10, 10}, {20, 20}}, 119 {CursorType::kPointer, IDR_AURA_CURSOR_BIG_PTR, {10, 10}, {20, 20}},
95 {ui::kCursorNotAllowed, IDR_AURA_CURSOR_BIG_NO_DROP, {10, 10}, {20, 20}}, 120 {CursorType::kNoDrop, IDR_AURA_CURSOR_BIG_NO_DROP, {10, 10}, {20, 20}},
96 {ui::kCursorCopy, IDR_AURA_CURSOR_BIG_COPY, {10, 10}, {20, 20}}, 121 {CursorType::kNotAllowed, IDR_AURA_CURSOR_BIG_NO_DROP, {10, 10}, {20, 20}},
97 {ui::kCursorHand, IDR_AURA_CURSOR_BIG_HAND, {25, 7}, {50, 14}}, 122 {CursorType::kCopy, IDR_AURA_CURSOR_BIG_COPY, {10, 10}, {20, 20}},
98 {ui::kCursorMove, IDR_AURA_CURSOR_BIG_MOVE, {32, 31}, {64, 62}}, 123 {CursorType::kHand, IDR_AURA_CURSOR_BIG_HAND, {25, 7}, {50, 14}},
99 {ui::kCursorNorthEastResize, IDR_AURA_CURSOR_BIG_NORTH_EAST_RESIZE, 124 {CursorType::kMove, IDR_AURA_CURSOR_BIG_MOVE, {32, 31}, {64, 62}},
100 {31, 28}, {62, 56}}, 125 {CursorType::kNorthEastResize,
101 {ui::kCursorSouthWestResize, IDR_AURA_CURSOR_BIG_SOUTH_WEST_RESIZE, 126 IDR_AURA_CURSOR_BIG_NORTH_EAST_RESIZE,
102 {31, 28}, {62, 56}}, 127 {31, 28},
103 {ui::kCursorSouthEastResize, IDR_AURA_CURSOR_BIG_SOUTH_EAST_RESIZE, 128 {62, 56}},
104 {28, 28}, {56, 56}}, 129 {CursorType::kSouthWestResize,
105 {ui::kCursorNorthWestResize, IDR_AURA_CURSOR_BIG_NORTH_WEST_RESIZE, 130 IDR_AURA_CURSOR_BIG_SOUTH_WEST_RESIZE,
106 {28, 28}, {56, 56}}, 131 {31, 28},
107 {ui::kCursorNorthResize, IDR_AURA_CURSOR_BIG_NORTH_RESIZE, 132 {62, 56}},
108 {29, 32}, {58, 64}}, 133 {CursorType::kSouthEastResize,
109 {ui::kCursorSouthResize, IDR_AURA_CURSOR_BIG_SOUTH_RESIZE, 134 IDR_AURA_CURSOR_BIG_SOUTH_EAST_RESIZE,
110 {29, 32}, {58, 64}}, 135 {28, 28},
111 {ui::kCursorEastResize, IDR_AURA_CURSOR_BIG_EAST_RESIZE, {35, 29}, {70, 58}}, 136 {56, 56}},
112 {ui::kCursorWestResize, IDR_AURA_CURSOR_BIG_WEST_RESIZE, {35, 29}, {70, 58}}, 137 {CursorType::kNorthWestResize,
113 {ui::kCursorIBeam, IDR_AURA_CURSOR_BIG_IBEAM, {30, 32}, {60, 64}}, 138 IDR_AURA_CURSOR_BIG_NORTH_WEST_RESIZE,
114 {ui::kCursorAlias, IDR_AURA_CURSOR_BIG_ALIAS, {19, 11}, {38, 22}}, 139 {28, 28},
115 {ui::kCursorCell, IDR_AURA_CURSOR_BIG_CELL, {30, 30}, {60, 60}}, 140 {56, 56}},
116 {ui::kCursorContextMenu, IDR_AURA_CURSOR_BIG_CONTEXT_MENU, 141 {CursorType::kNorthResize,
117 {11, 11}, {22, 22}}, 142 IDR_AURA_CURSOR_BIG_NORTH_RESIZE,
118 {ui::kCursorCross, IDR_AURA_CURSOR_BIG_CROSSHAIR, {31, 30}, {62, 60}}, 143 {29, 32},
119 {ui::kCursorHelp, IDR_AURA_CURSOR_BIG_HELP, {10, 11}, {20, 22}}, 144 {58, 64}},
120 {ui::kCursorVerticalText, IDR_AURA_CURSOR_BIG_XTERM_HORIZ, 145 {CursorType::kSouthResize,
121 {32, 30}, {64, 60}}, 146 IDR_AURA_CURSOR_BIG_SOUTH_RESIZE,
122 {ui::kCursorZoomIn, IDR_AURA_CURSOR_BIG_ZOOM_IN, {25, 26}, {50, 52}}, 147 {29, 32},
123 {ui::kCursorZoomOut, IDR_AURA_CURSOR_BIG_ZOOM_OUT, {26, 26}, {52, 52}}, 148 {58, 64}},
124 {ui::kCursorRowResize, IDR_AURA_CURSOR_BIG_ROW_RESIZE, {29, 32}, {58, 64}}, 149 {CursorType::kEastResize,
125 {ui::kCursorColumnResize, IDR_AURA_CURSOR_BIG_COL_RESIZE, {35, 29}, {70, 58}}, 150 IDR_AURA_CURSOR_BIG_EAST_RESIZE,
126 {ui::kCursorEastWestResize, IDR_AURA_CURSOR_BIG_EAST_WEST_RESIZE, 151 {35, 29},
127 {35, 29}, {70, 58}}, 152 {70, 58}},
128 {ui::kCursorNorthSouthResize, IDR_AURA_CURSOR_BIG_NORTH_SOUTH_RESIZE, 153 {CursorType::kWestResize,
129 {29, 32}, {58, 64}}, 154 IDR_AURA_CURSOR_BIG_WEST_RESIZE,
130 {ui::kCursorNorthEastSouthWestResize, 155 {35, 29},
131 IDR_AURA_CURSOR_BIG_NORTH_EAST_SOUTH_WEST_RESIZE, {32, 30}, {64, 60}}, 156 {70, 58}},
132 {ui::kCursorNorthWestSouthEastResize, 157 {CursorType::kIBeam, IDR_AURA_CURSOR_BIG_IBEAM, {30, 32}, {60, 64}},
133 IDR_AURA_CURSOR_BIG_NORTH_WEST_SOUTH_EAST_RESIZE, {32, 31}, {64, 62}}, 158 {CursorType::kAlias, IDR_AURA_CURSOR_BIG_ALIAS, {19, 11}, {38, 22}},
134 {ui::kCursorGrab, IDR_AURA_CURSOR_BIG_GRAB, {21, 11}, {42, 22}}, 159 {CursorType::kCell, IDR_AURA_CURSOR_BIG_CELL, {30, 30}, {60, 60}},
135 {ui::kCursorGrabbing, IDR_AURA_CURSOR_BIG_GRABBING, {20, 12}, {40, 24}}, 160 {CursorType::kContextMenu,
161 IDR_AURA_CURSOR_BIG_CONTEXT_MENU,
162 {11, 11},
163 {22, 22}},
164 {CursorType::kCross, IDR_AURA_CURSOR_BIG_CROSSHAIR, {31, 30}, {62, 60}},
165 {CursorType::kHelp, IDR_AURA_CURSOR_BIG_HELP, {10, 11}, {20, 22}},
166 {CursorType::kVerticalText,
167 IDR_AURA_CURSOR_BIG_XTERM_HORIZ,
168 {32, 30},
169 {64, 60}},
170 {CursorType::kZoomIn, IDR_AURA_CURSOR_BIG_ZOOM_IN, {25, 26}, {50, 52}},
171 {CursorType::kZoomOut, IDR_AURA_CURSOR_BIG_ZOOM_OUT, {26, 26}, {52, 52}},
172 {CursorType::kRowResize,
173 IDR_AURA_CURSOR_BIG_ROW_RESIZE,
174 {29, 32},
175 {58, 64}},
176 {CursorType::kColumnResize,
177 IDR_AURA_CURSOR_BIG_COL_RESIZE,
178 {35, 29},
179 {70, 58}},
180 {CursorType::kEastWestResize,
181 IDR_AURA_CURSOR_BIG_EAST_WEST_RESIZE,
182 {35, 29},
183 {70, 58}},
184 {CursorType::kNorthSouthResize,
185 IDR_AURA_CURSOR_BIG_NORTH_SOUTH_RESIZE,
186 {29, 32},
187 {58, 64}},
188 {CursorType::kNorthEastSouthWestResize,
189 IDR_AURA_CURSOR_BIG_NORTH_EAST_SOUTH_WEST_RESIZE,
190 {32, 30},
191 {64, 60}},
192 {CursorType::kNorthWestSouthEastResize,
193 IDR_AURA_CURSOR_BIG_NORTH_WEST_SOUTH_EAST_RESIZE,
194 {32, 31},
195 {64, 62}},
196 {CursorType::kGrab, IDR_AURA_CURSOR_BIG_GRAB, {21, 11}, {42, 22}},
197 {CursorType::kGrabbing, IDR_AURA_CURSOR_BIG_GRABBING, {20, 12}, {40, 24}},
136 }; 198 };
137 199
138 const CursorData kAnimatedCursors[] = { 200 const CursorData kAnimatedCursors[] = {
139 {ui::kCursorWait, IDR_AURA_CURSOR_THROBBER, {7, 7}, {14, 14}}, 201 {CursorType::kWait, IDR_AURA_CURSOR_THROBBER, {7, 7}, {14, 14}},
140 {ui::kCursorProgress, IDR_AURA_CURSOR_THROBBER, {7, 7}, {14, 14}}, 202 {CursorType::kProgress, IDR_AURA_CURSOR_THROBBER, {7, 7}, {14, 14}},
141 }; 203 };
142 204
143 const CursorSet kCursorSets[] = { 205 const CursorSet kCursorSets[] = {
144 { 206 {
145 CURSOR_SET_NORMAL, 207 CURSOR_SET_NORMAL,
146 kNormalCursors, arraysize(kNormalCursors), 208 kNormalCursors, arraysize(kNormalCursors),
147 kAnimatedCursors, arraysize(kAnimatedCursors) 209 kAnimatedCursors, arraysize(kAnimatedCursors)
148 }, 210 },
149 { 211 {
150 CURSOR_SET_LARGE, 212 CURSOR_SET_LARGE,
151 kLargeCursors, arraysize(kLargeCursors), 213 kLargeCursors, arraysize(kLargeCursors),
152 // TODO(yoshiki): Replace animated cursors with big assets. crbug.com/247254 214 // TODO(yoshiki): Replace animated cursors with big assets. crbug.com/247254
153 kAnimatedCursors, arraysize(kAnimatedCursors) 215 kAnimatedCursors, arraysize(kAnimatedCursors)
154 }, 216 },
155 }; 217 };
156 218
157 const CursorSet* GetCursorSetByType(CursorSetType cursor_set_id) { 219 const CursorSet* GetCursorSetByType(CursorSetType cursor_set_id) {
158 for (size_t i = 0; i < arraysize(kCursorSets); ++i) { 220 for (size_t i = 0; i < arraysize(kCursorSets); ++i) {
159 if (kCursorSets[i].id == cursor_set_id) 221 if (kCursorSets[i].id == cursor_set_id)
160 return &kCursorSets[i]; 222 return &kCursorSets[i];
161 } 223 }
162 224
163 return NULL; 225 return NULL;
164 } 226 }
165 227
166 bool SearchTable(const CursorData* table, 228 bool SearchTable(const CursorData* table,
167 size_t table_length, 229 size_t table_length,
168 int id, 230 CursorType id,
169 float scale_factor, 231 float scale_factor,
170 int* resource_id, 232 int* resource_id,
171 gfx::Point* point) { 233 gfx::Point* point) {
172 bool resource_2x_available = 234 bool resource_2x_available =
173 ResourceBundle::GetSharedInstance().GetMaxScaleFactor() == 235 ResourceBundle::GetSharedInstance().GetMaxScaleFactor() ==
174 SCALE_FACTOR_200P; 236 SCALE_FACTOR_200P;
175 for (size_t i = 0; i < table_length; ++i) { 237 for (size_t i = 0; i < table_length; ++i) {
176 if (table[i].id == id) { 238 if (table[i].id == id) {
177 *resource_id = table[i].resource_id; 239 *resource_id = table[i].resource_id;
178 *point = scale_factor == 1.0f || !resource_2x_available ? 240 *point = scale_factor == 1.0f || !resource_2x_available ?
179 gfx::Point(table[i].hot_1x.x, table[i].hot_1x.y) : 241 gfx::Point(table[i].hot_1x.x, table[i].hot_1x.y) :
180 gfx::Point(table[i].hot_2x.x, table[i].hot_2x.y); 242 gfx::Point(table[i].hot_2x.x, table[i].hot_2x.y);
181 return true; 243 return true;
182 } 244 }
183 } 245 }
184 246
185 return false; 247 return false;
186 } 248 }
187 249
188 } // namespace 250 } // namespace
189 251
190 bool GetCursorDataFor(CursorSetType cursor_set_id, 252 bool GetCursorDataFor(CursorSetType cursor_set_id,
191 int id, 253 CursorType id,
192 float scale_factor, 254 float scale_factor,
193 int* resource_id, 255 int* resource_id,
194 gfx::Point* point) { 256 gfx::Point* point) {
195 const CursorSet* cursor_set = GetCursorSetByType(cursor_set_id); 257 const CursorSet* cursor_set = GetCursorSetByType(cursor_set_id);
196 if (cursor_set && 258 if (cursor_set &&
197 SearchTable(cursor_set->cursors, 259 SearchTable(cursor_set->cursors,
198 cursor_set->length, 260 cursor_set->length,
199 id, scale_factor, resource_id, point)) { 261 id, scale_factor, resource_id, point)) {
200 return true; 262 return true;
201 } 263 }
202 264
203 // Falls back to the default cursor set. 265 // Falls back to the default cursor set.
204 cursor_set = GetCursorSetByType(ui::CURSOR_SET_NORMAL); 266 cursor_set = GetCursorSetByType(ui::CURSOR_SET_NORMAL);
205 DCHECK(cursor_set); 267 DCHECK(cursor_set);
206 return SearchTable(cursor_set->cursors, 268 return SearchTable(cursor_set->cursors,
207 cursor_set->length, 269 cursor_set->length,
208 id, scale_factor, resource_id, point); 270 id, scale_factor, resource_id, point);
209 } 271 }
210 272
211 bool GetAnimatedCursorDataFor(CursorSetType cursor_set_id, 273 bool GetAnimatedCursorDataFor(CursorSetType cursor_set_id,
212 int id, 274 CursorType id,
213 float scale_factor, 275 float scale_factor,
214 int* resource_id, 276 int* resource_id,
215 gfx::Point* point) { 277 gfx::Point* point) {
216 const CursorSet* cursor_set = GetCursorSetByType(cursor_set_id); 278 const CursorSet* cursor_set = GetCursorSetByType(cursor_set_id);
217 if (cursor_set && 279 if (cursor_set &&
218 SearchTable(cursor_set->animated_cursors, 280 SearchTable(cursor_set->animated_cursors,
219 cursor_set->animated_length, 281 cursor_set->animated_length,
220 id, scale_factor, resource_id, point)) { 282 id, scale_factor, resource_id, point)) {
221 return true; 283 return true;
222 } 284 }
(...skipping 30 matching lines...) Expand all
253 const SkBitmap* cursor_bitmap = ResourceBundle::GetSharedInstance(). 315 const SkBitmap* cursor_bitmap = ResourceBundle::GetSharedInstance().
254 GetImageSkiaNamed(resource_id)->bitmap(); 316 GetImageSkiaNamed(resource_id)->bitmap();
255 #endif 317 #endif
256 if (!cursor_bitmap) 318 if (!cursor_bitmap)
257 return false; 319 return false;
258 *bitmap = *cursor_bitmap; 320 *bitmap = *cursor_bitmap;
259 return true; 321 return true;
260 } 322 }
261 323
262 } // namespace ui 324 } // namespace ui
OLDNEW
« no previous file with comments | « ui/base/cursor/cursors_aura.h ('k') | ui/base/cursor/image_cursors.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698