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

Side by Side Diff: ui/native_theme/native_theme_win.cc

Issue 388893003: Fixes for re-enabling more MSVC level 4 warnings: ui/ edition (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 5 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 | Annotate | Revision Log
« no previous file with comments | « ui/gfx/render_text_harfbuzz.cc ('k') | ui/views/controls/scrollbar/native_scroll_bar.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) 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/native_theme/native_theme_win.h" 5 #include "ui/native_theme/native_theme_win.h"
6 6
7 #include <windows.h> 7 #include <windows.h>
8 #include <uxtheme.h> 8 #include <uxtheme.h>
9 #include <vsstyle.h> 9 #include <vsstyle.h>
10 #include <vssym32.h> 10 #include <vssym32.h>
(...skipping 933 matching lines...) Expand 10 before | Expand all | Expand 10 after
944 &rect_win, NULL); 944 &rect_win, NULL);
945 } 945 }
946 946
947 HRESULT NativeThemeWin::PaintMenuItemBackground( 947 HRESULT NativeThemeWin::PaintMenuItemBackground(
948 HDC hdc, 948 HDC hdc,
949 State state, 949 State state,
950 const gfx::Rect& rect, 950 const gfx::Rect& rect,
951 const MenuItemExtraParams& extra) const { 951 const MenuItemExtraParams& extra) const {
952 HANDLE handle = GetThemeHandle(MENU); 952 HANDLE handle = GetThemeHandle(MENU);
953 RECT rect_win = rect.ToRECT(); 953 RECT rect_win = rect.ToRECT();
954 int state_id; 954 int state_id = MPI_NORMAL;
955 switch (state) { 955 switch (state) {
956 case kDisabled: 956 case kDisabled:
957 state_id = extra.is_selected ? MPI_DISABLEDHOT : MPI_DISABLED; 957 state_id = extra.is_selected ? MPI_DISABLEDHOT : MPI_DISABLED;
958 break; 958 break;
959 case kHovered: 959 case kHovered:
960 state_id = MPI_HOT; 960 state_id = MPI_HOT;
961 break; 961 break;
962 case kNormal: 962 case kNormal:
963 state_id = MPI_NORMAL;
964 break; 963 break;
965 case kPressed: 964 case kPressed:
966 case kNumStates: 965 case kNumStates:
967 NOTREACHED(); 966 NOTREACHED();
968 break; 967 break;
969 } 968 }
970 969
971 if (handle && draw_theme_) 970 if (handle && draw_theme_)
972 return draw_theme_(handle, hdc, MENU_POPUPITEM, state_id, &rect_win, NULL); 971 return draw_theme_(handle, hdc, MENU_POPUPITEM, state_id, &rect_win, NULL);
973 972
974 if (extra.is_selected) 973 if (extra.is_selected)
975 FillRect(hdc, &rect_win, GetSysColorBrush(COLOR_HIGHLIGHT)); 974 FillRect(hdc, &rect_win, GetSysColorBrush(COLOR_HIGHLIGHT));
976 return S_OK; 975 return S_OK;
977 } 976 }
978 977
979 HRESULT NativeThemeWin::PaintPushButton(HDC hdc, 978 HRESULT NativeThemeWin::PaintPushButton(HDC hdc,
980 Part part, 979 Part part,
981 State state, 980 State state,
982 const gfx::Rect& rect, 981 const gfx::Rect& rect,
983 const ButtonExtraParams& extra) const { 982 const ButtonExtraParams& extra) const {
984 int state_id; 983 int state_id = extra.is_default ? PBS_DEFAULTED : PBS_NORMAL;
985 switch (state) { 984 switch (state) {
986 case kDisabled: 985 case kDisabled:
987 state_id = PBS_DISABLED; 986 state_id = PBS_DISABLED;
988 break; 987 break;
989 case kHovered: 988 case kHovered:
990 state_id = PBS_HOT; 989 state_id = PBS_HOT;
991 break; 990 break;
992 case kNormal: 991 case kNormal:
993 state_id = extra.is_default ? PBS_DEFAULTED : PBS_NORMAL;
994 break; 992 break;
995 case kPressed: 993 case kPressed:
996 state_id = PBS_PRESSED; 994 state_id = PBS_PRESSED;
997 break; 995 break;
998 case kNumStates: 996 case kNumStates:
999 NOTREACHED(); 997 NOTREACHED();
1000 break; 998 break;
1001 } 999 }
1002 1000
1003 RECT rect_win = rect.ToRECT(); 1001 RECT rect_win = rect.ToRECT();
1004 return PaintButton(hdc, state, extra, BP_PUSHBUTTON, state_id, &rect_win); 1002 return PaintButton(hdc, state, extra, BP_PUSHBUTTON, state_id, &rect_win);
1005 } 1003 }
1006 1004
1007 HRESULT NativeThemeWin::PaintRadioButton(HDC hdc, 1005 HRESULT NativeThemeWin::PaintRadioButton(HDC hdc,
1008 Part part, 1006 Part part,
1009 State state, 1007 State state,
1010 const gfx::Rect& rect, 1008 const gfx::Rect& rect,
1011 const ButtonExtraParams& extra) const { 1009 const ButtonExtraParams& extra) const {
1012 int state_id; 1010 int state_id = extra.checked ? RBS_CHECKEDNORMAL : RBS_UNCHECKEDNORMAL;
1013 switch (state) { 1011 switch (state) {
1014 case kDisabled: 1012 case kDisabled:
1015 state_id = extra.checked ? RBS_CHECKEDDISABLED : RBS_UNCHECKEDDISABLED; 1013 state_id = extra.checked ? RBS_CHECKEDDISABLED : RBS_UNCHECKEDDISABLED;
1016 break; 1014 break;
1017 case kHovered: 1015 case kHovered:
1018 state_id = extra.checked ? RBS_CHECKEDHOT : RBS_UNCHECKEDHOT; 1016 state_id = extra.checked ? RBS_CHECKEDHOT : RBS_UNCHECKEDHOT;
1019 break; 1017 break;
1020 case kNormal: 1018 case kNormal:
1021 state_id = extra.checked ? RBS_CHECKEDNORMAL : RBS_UNCHECKEDNORMAL;
1022 break; 1019 break;
1023 case kPressed: 1020 case kPressed:
1024 state_id = extra.checked ? RBS_CHECKEDPRESSED : RBS_UNCHECKEDPRESSED; 1021 state_id = extra.checked ? RBS_CHECKEDPRESSED : RBS_UNCHECKEDPRESSED;
1025 break; 1022 break;
1026 case kNumStates: 1023 case kNumStates:
1027 NOTREACHED(); 1024 NOTREACHED();
1028 break; 1025 break;
1029 } 1026 }
1030 1027
1031 RECT rect_win = rect.ToRECT(); 1028 RECT rect_win = rect.ToRECT();
1032 return PaintButton(hdc, state, extra, BP_RADIOBUTTON, state_id, &rect_win); 1029 return PaintButton(hdc, state, extra, BP_RADIOBUTTON, state_id, &rect_win);
1033 } 1030 }
1034 1031
1035 HRESULT NativeThemeWin::PaintCheckbox(HDC hdc, 1032 HRESULT NativeThemeWin::PaintCheckbox(HDC hdc,
1036 Part part, 1033 Part part,
1037 State state, 1034 State state,
1038 const gfx::Rect& rect, 1035 const gfx::Rect& rect,
1039 const ButtonExtraParams& extra) const { 1036 const ButtonExtraParams& extra) const {
1040 int state_id; 1037 int state_id = extra.checked ?
1038 CBS_CHECKEDNORMAL :
1039 (extra.indeterminate ? CBS_MIXEDNORMAL : CBS_UNCHECKEDNORMAL);
1041 switch (state) { 1040 switch (state) {
1042 case kDisabled: 1041 case kDisabled:
1043 state_id = extra.checked ? 1042 state_id = extra.checked ?
1044 CBS_CHECKEDDISABLED : 1043 CBS_CHECKEDDISABLED :
1045 (extra.indeterminate ? CBS_MIXEDDISABLED : CBS_UNCHECKEDDISABLED); 1044 (extra.indeterminate ? CBS_MIXEDDISABLED : CBS_UNCHECKEDDISABLED);
1046 break; 1045 break;
1047 case kHovered: 1046 case kHovered:
1048 state_id = extra.checked ? 1047 state_id = extra.checked ?
1049 CBS_CHECKEDHOT : 1048 CBS_CHECKEDHOT :
1050 (extra.indeterminate ? CBS_MIXEDHOT : CBS_UNCHECKEDHOT); 1049 (extra.indeterminate ? CBS_MIXEDHOT : CBS_UNCHECKEDHOT);
1051 break; 1050 break;
1052 case kNormal: 1051 case kNormal:
1053 state_id = extra.checked ?
1054 CBS_CHECKEDNORMAL :
1055 (extra.indeterminate ? CBS_MIXEDNORMAL : CBS_UNCHECKEDNORMAL);
1056 break; 1052 break;
1057 case kPressed: 1053 case kPressed:
1058 state_id = extra.checked ? 1054 state_id = extra.checked ?
1059 CBS_CHECKEDPRESSED : 1055 CBS_CHECKEDPRESSED :
1060 (extra.indeterminate ? CBS_MIXEDPRESSED : CBS_UNCHECKEDPRESSED); 1056 (extra.indeterminate ? CBS_MIXEDPRESSED : CBS_UNCHECKEDPRESSED);
1061 break; 1057 break;
1062 case kNumStates: 1058 case kNumStates:
1063 NOTREACHED(); 1059 NOTREACHED();
1064 break; 1060 break;
1065 } 1061 }
1066 1062
1067 RECT rect_win = rect.ToRECT(); 1063 RECT rect_win = rect.ToRECT();
1068 return PaintButton(hdc, state, extra, BP_CHECKBOX, state_id, &rect_win); 1064 return PaintButton(hdc, state, extra, BP_CHECKBOX, state_id, &rect_win);
1069 } 1065 }
1070 1066
1071 HRESULT NativeThemeWin::PaintMenuList(HDC hdc, 1067 HRESULT NativeThemeWin::PaintMenuList(HDC hdc,
1072 State state, 1068 State state,
1073 const gfx::Rect& rect, 1069 const gfx::Rect& rect,
1074 const MenuListExtraParams& extra) const { 1070 const MenuListExtraParams& extra) const {
1075 HANDLE handle = GetThemeHandle(MENULIST); 1071 HANDLE handle = GetThemeHandle(MENULIST);
1076 RECT rect_win = rect.ToRECT(); 1072 RECT rect_win = rect.ToRECT();
1077 int state_id; 1073 int state_id = CBXS_NORMAL;
1078 switch (state) { 1074 switch (state) {
1079 case kDisabled: 1075 case kDisabled:
1080 state_id = CBXS_DISABLED; 1076 state_id = CBXS_DISABLED;
1081 break; 1077 break;
1082 case kHovered: 1078 case kHovered:
1083 state_id = CBXS_HOT; 1079 state_id = CBXS_HOT;
1084 break; 1080 break;
1085 case kNormal: 1081 case kNormal:
1086 state_id = CBXS_NORMAL;
1087 break; 1082 break;
1088 case kPressed: 1083 case kPressed:
1089 state_id = CBXS_PRESSED; 1084 state_id = CBXS_PRESSED;
1090 break; 1085 break;
1091 case kNumStates: 1086 case kNumStates:
1092 NOTREACHED(); 1087 NOTREACHED();
1093 break; 1088 break;
1094 } 1089 }
1095 1090
1096 if (handle && draw_theme_) 1091 if (handle && draw_theme_)
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
1144 NOTREACHED(); 1139 NOTREACHED();
1145 break; 1140 break;
1146 } 1141 }
1147 } 1142 }
1148 return PaintScaledTheme(handle, hdc, SBP_ARROWBTN, state_id, rect); 1143 return PaintScaledTheme(handle, hdc, SBP_ARROWBTN, state_id, rect);
1149 } 1144 }
1150 1145
1151 int classic_state = DFCS_SCROLLDOWN; 1146 int classic_state = DFCS_SCROLLDOWN;
1152 switch (part) { 1147 switch (part) {
1153 case kScrollbarDownArrow: 1148 case kScrollbarDownArrow:
1154 classic_state = DFCS_SCROLLDOWN;
1155 break; 1149 break;
1156 case kScrollbarLeftArrow: 1150 case kScrollbarLeftArrow:
1157 classic_state = DFCS_SCROLLLEFT; 1151 classic_state = DFCS_SCROLLLEFT;
1158 break; 1152 break;
1159 case kScrollbarRightArrow: 1153 case kScrollbarRightArrow:
1160 classic_state = DFCS_SCROLLRIGHT; 1154 classic_state = DFCS_SCROLLRIGHT;
1161 break; 1155 break;
1162 case kScrollbarUpArrow: 1156 case kScrollbarUpArrow:
1163 classic_state = DFCS_SCROLLUP; 1157 classic_state = DFCS_SCROLLUP;
1164 break; 1158 break;
(...skipping 23 matching lines...) Expand all
1188 1182
1189 HRESULT NativeThemeWin::PaintScrollbarThumb( 1183 HRESULT NativeThemeWin::PaintScrollbarThumb(
1190 HDC hdc, 1184 HDC hdc,
1191 Part part, 1185 Part part,
1192 State state, 1186 State state,
1193 const gfx::Rect& rect, 1187 const gfx::Rect& rect,
1194 const ScrollbarThumbExtraParams& extra) const { 1188 const ScrollbarThumbExtraParams& extra) const {
1195 HANDLE handle = GetThemeHandle(SCROLLBAR); 1189 HANDLE handle = GetThemeHandle(SCROLLBAR);
1196 RECT rect_win = rect.ToRECT(); 1190 RECT rect_win = rect.ToRECT();
1197 1191
1198 int part_id; 1192 int part_id = SBP_THUMBBTNVERT;
1199 switch (part) { 1193 switch (part) {
1200 case NativeTheme::kScrollbarHorizontalThumb: 1194 case kScrollbarHorizontalThumb:
1201 part_id = SBP_THUMBBTNHORZ; 1195 part_id = SBP_THUMBBTNHORZ;
1202 break; 1196 break;
1203 case NativeTheme::kScrollbarVerticalThumb: 1197 case kScrollbarVerticalThumb:
1204 part_id = SBP_THUMBBTNVERT;
1205 break; 1198 break;
1206 case NativeTheme::kScrollbarHorizontalGripper: 1199 case kScrollbarHorizontalGripper:
1207 part_id = SBP_GRIPPERHORZ; 1200 part_id = SBP_GRIPPERHORZ;
1208 break; 1201 break;
1209 case NativeTheme::kScrollbarVerticalGripper: 1202 case kScrollbarVerticalGripper:
1210 part_id = SBP_GRIPPERVERT; 1203 part_id = SBP_GRIPPERVERT;
1211 break; 1204 break;
1212 default: 1205 default:
1213 NOTREACHED(); 1206 NOTREACHED();
1214 break; 1207 break;
1215 } 1208 }
1216 1209
1217 int state_id; 1210 int state_id = SCRBS_NORMAL;
1218 switch (state) { 1211 switch (state) {
1219 case kDisabled: 1212 case kDisabled:
1220 state_id = SCRBS_DISABLED; 1213 state_id = SCRBS_DISABLED;
1221 break; 1214 break;
1222 case kHovered: 1215 case kHovered:
1223 state_id = extra.is_hovering ? SCRBS_HOVER : SCRBS_HOT; 1216 state_id = extra.is_hovering ? SCRBS_HOVER : SCRBS_HOT;
1224 break; 1217 break;
1225 case kNormal: 1218 case kNormal:
1226 state_id = SCRBS_NORMAL;
1227 break; 1219 break;
1228 case kPressed: 1220 case kPressed:
1229 state_id = SCRBS_PRESSED; 1221 state_id = SCRBS_PRESSED;
1230 break; 1222 break;
1231 case kNumStates: 1223 case kNumStates:
1232 NOTREACHED(); 1224 NOTREACHED();
1233 break; 1225 break;
1234 } 1226 }
1235 1227
1236 if (handle && draw_theme_) 1228 if (handle && draw_theme_)
1237 return PaintScaledTheme(handle, hdc, part_id, state_id, rect); 1229 return PaintScaledTheme(handle, hdc, part_id, state_id, rect);
1238 1230
1239 // Draw it manually. 1231 // Draw it manually.
1240 if ((part_id == SBP_THUMBBTNHORZ) || (part_id == SBP_THUMBBTNVERT)) 1232 if ((part_id == SBP_THUMBBTNHORZ) || (part_id == SBP_THUMBBTNVERT))
1241 DrawEdge(hdc, &rect_win, EDGE_RAISED, BF_RECT | BF_MIDDLE); 1233 DrawEdge(hdc, &rect_win, EDGE_RAISED, BF_RECT | BF_MIDDLE);
1242 // Classic mode doesn't have a gripper. 1234 // Classic mode doesn't have a gripper.
1243 return S_OK; 1235 return S_OK;
1244 } 1236 }
1245 1237
1246 HRESULT NativeThemeWin::PaintScrollbarTrack( 1238 HRESULT NativeThemeWin::PaintScrollbarTrack(
1247 SkCanvas* canvas, 1239 SkCanvas* canvas,
1248 HDC hdc, 1240 HDC hdc,
1249 Part part, 1241 Part part,
1250 State state, 1242 State state,
1251 const gfx::Rect& rect, 1243 const gfx::Rect& rect,
1252 const ScrollbarTrackExtraParams& extra) const { 1244 const ScrollbarTrackExtraParams& extra) const {
1253 HANDLE handle = GetThemeHandle(SCROLLBAR); 1245 HANDLE handle = GetThemeHandle(SCROLLBAR);
1254 RECT rect_win = rect.ToRECT(); 1246 RECT rect_win = rect.ToRECT();
1255 1247
1256 int part_id; 1248 const int part_id = extra.is_upper ?
sky 2014/07/11 19:09:17 When I come across code with nested ternary operat
Peter Kasting 2014/07/11 19:19:55 As I said in the previous patch, I don't normally
1257 switch (part) { 1249 ((part == kScrollbarHorizontalTrack) ?
1258 case NativeTheme::kScrollbarHorizontalTrack: 1250 SBP_UPPERTRACKHORZ : SBP_UPPERTRACKVERT) :
1259 part_id = extra.is_upper ? SBP_UPPERTRACKHORZ : SBP_LOWERTRACKHORZ; 1251 ((part == kScrollbarHorizontalTrack) ?
1260 break; 1252 SBP_LOWERTRACKHORZ : SBP_LOWERTRACKVERT);
1261 case NativeTheme::kScrollbarVerticalTrack:
1262 part_id = extra.is_upper ? SBP_UPPERTRACKVERT : SBP_LOWERTRACKVERT;
1263 break;
1264 default:
1265 NOTREACHED();
1266 break;
1267 }
1268 1253
1269 int state_id; 1254 int state_id = SCRBS_NORMAL;
1270 switch (state) { 1255 switch (state) {
1271 case kDisabled: 1256 case kDisabled:
1272 state_id = SCRBS_DISABLED; 1257 state_id = SCRBS_DISABLED;
1273 break; 1258 break;
1274 case kHovered: 1259 case kHovered:
1275 state_id = SCRBS_HOVER; 1260 state_id = SCRBS_HOVER;
1276 break; 1261 break;
1277 case kNormal: 1262 case kNormal:
1278 state_id = SCRBS_NORMAL;
1279 break; 1263 break;
1280 case kPressed: 1264 case kPressed:
1281 state_id = SCRBS_PRESSED; 1265 state_id = SCRBS_PRESSED;
1282 break; 1266 break;
1283 case kNumStates: 1267 case kNumStates:
1284 NOTREACHED(); 1268 NOTREACHED();
1285 break; 1269 break;
1286 } 1270 }
1287 1271
1288 if (handle && draw_theme_) 1272 if (handle && draw_theme_)
(...skipping 17 matching lines...) Expand all
1306 1290
1307 HRESULT NativeThemeWin::PaintSpinButton( 1291 HRESULT NativeThemeWin::PaintSpinButton(
1308 HDC hdc, 1292 HDC hdc,
1309 Part part, 1293 Part part,
1310 State state, 1294 State state,
1311 const gfx::Rect& rect, 1295 const gfx::Rect& rect,
1312 const InnerSpinButtonExtraParams& extra) const { 1296 const InnerSpinButtonExtraParams& extra) const {
1313 HANDLE handle = GetThemeHandle(SPIN); 1297 HANDLE handle = GetThemeHandle(SPIN);
1314 RECT rect_win = rect.ToRECT(); 1298 RECT rect_win = rect.ToRECT();
1315 int part_id = extra.spin_up ? SPNP_UP : SPNP_DOWN; 1299 int part_id = extra.spin_up ? SPNP_UP : SPNP_DOWN;
1316 int state_id; 1300 int state_id = extra.spin_up ? UPS_NORMAL : DNS_NORMAL;
1317 switch (state) { 1301 switch (state) {
1318 case kDisabled: 1302 case kDisabled:
1319 state_id = extra.spin_up ? UPS_DISABLED : DNS_DISABLED; 1303 state_id = extra.spin_up ? UPS_DISABLED : DNS_DISABLED;
1320 break; 1304 break;
1321 case kHovered: 1305 case kHovered:
1322 state_id = extra.spin_up ? UPS_HOT : DNS_HOT; 1306 state_id = extra.spin_up ? UPS_HOT : DNS_HOT;
1323 break; 1307 break;
1324 case kNormal: 1308 case kNormal:
1325 state_id = extra.spin_up ? UPS_NORMAL : DNS_NORMAL;
1326 break; 1309 break;
1327 case kPressed: 1310 case kPressed:
1328 state_id = extra.spin_up ? UPS_PRESSED : DNS_PRESSED; 1311 state_id = extra.spin_up ? UPS_PRESSED : DNS_PRESSED;
1329 break; 1312 break;
1330 case kNumStates: 1313 case kNumStates:
1331 NOTREACHED(); 1314 NOTREACHED();
1332 break; 1315 break;
1333 } 1316 }
1334 1317
1335 if (handle && draw_theme_) 1318 if (handle && draw_theme_)
1336 return draw_theme_(handle, hdc, part_id, state_id, &rect_win, NULL); 1319 return draw_theme_(handle, hdc, part_id, state_id, &rect_win, NULL);
1337 DrawFrameControl(hdc, &rect_win, DFC_SCROLL, extra.classic_state); 1320 DrawFrameControl(hdc, &rect_win, DFC_SCROLL, extra.classic_state);
1338 return S_OK; 1321 return S_OK;
1339 } 1322 }
1340 1323
1341 HRESULT NativeThemeWin::PaintTrackbar( 1324 HRESULT NativeThemeWin::PaintTrackbar(
1342 SkCanvas* canvas, 1325 SkCanvas* canvas,
1343 HDC hdc, 1326 HDC hdc,
1344 Part part, 1327 Part part,
1345 State state, 1328 State state,
1346 const gfx::Rect& rect, 1329 const gfx::Rect& rect,
1347 const TrackbarExtraParams& extra) const { 1330 const TrackbarExtraParams& extra) const {
1348 const int part_id = extra.vertical ? 1331 const int part_id = extra.vertical ?
1349 ((part == kTrackbarTrack) ? TKP_TRACKVERT : TKP_THUMBVERT) : 1332 ((part == kTrackbarTrack) ? TKP_TRACKVERT : TKP_THUMBVERT) :
1350 ((part == kTrackbarTrack) ? TKP_TRACK : TKP_THUMBBOTTOM); 1333 ((part == kTrackbarTrack) ? TKP_TRACK : TKP_THUMBBOTTOM);
1351 1334
1352 int state_id = 0; 1335 int state_id = TUS_NORMAL;
1353 switch (state) { 1336 switch (state) {
1354 case kDisabled: 1337 case kDisabled:
1355 state_id = TUS_DISABLED; 1338 state_id = TUS_DISABLED;
1356 break; 1339 break;
1357 case kHovered: 1340 case kHovered:
1358 state_id = TUS_HOT; 1341 state_id = TUS_HOT;
1359 break; 1342 break;
1360 case kNormal: 1343 case kNormal:
1361 state_id = TUS_NORMAL;
1362 break; 1344 break;
1363 case kPressed: 1345 case kPressed:
1364 state_id = TUS_PRESSED; 1346 state_id = TUS_PRESSED;
1365 break; 1347 break;
1366 case kNumStates: 1348 case kNumStates:
1367 NOTREACHED(); 1349 NOTREACHED();
1368 break; 1350 break;
1369 } 1351 }
1370 1352
1371 // Make the channel be 4 px thick in the center of the supplied rect. (4 px 1353 // Make the channel be 4 px thick in the center of the supplied rect. (4 px
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
1572 state_id = ETS_DISABLED; 1554 state_id = ETS_DISABLED;
1573 break; 1555 break;
1574 case kHovered: 1556 case kHovered:
1575 state_id = ETS_HOT; 1557 state_id = ETS_HOT;
1576 break; 1558 break;
1577 case kNormal: 1559 case kNormal:
1578 if (extra.is_read_only) 1560 if (extra.is_read_only)
1579 state_id = ETS_READONLY; 1561 state_id = ETS_READONLY;
1580 else if (extra.is_focused) 1562 else if (extra.is_focused)
1581 state_id = ETS_FOCUSED; 1563 state_id = ETS_FOCUSED;
1582 else
1583 state_id = ETS_NORMAL;
1584 break; 1564 break;
1585 case kPressed: 1565 case kPressed:
1586 state_id = ETS_SELECTED; 1566 state_id = ETS_SELECTED;
1587 break; 1567 break;
1588 case kNumStates: 1568 case kNumStates:
1589 NOTREACHED(); 1569 NOTREACHED();
1590 break; 1570 break;
1591 } 1571 }
1592 1572
1593 RECT rect_win = rect.ToRECT(); 1573 RECT rect_win = rect.ToRECT();
(...skipping 403 matching lines...) Expand 10 before | Expand all | Expand 10 after
1997 1977
1998 base::win::ScopedCreateDC bitmap_dc(CreateCompatibleDC(NULL)); 1978 base::win::ScopedCreateDC bitmap_dc(CreateCompatibleDC(NULL));
1999 base::win::ScopedSelectObject select_bitmap(bitmap_dc, mask_bitmap); 1979 base::win::ScopedSelectObject select_bitmap(bitmap_dc, mask_bitmap);
2000 RECT local_rect = { 0, 0, width, height }; 1980 RECT local_rect = { 0, 0, width, height };
2001 DrawFrameControl(bitmap_dc, &local_rect, type, state); 1981 DrawFrameControl(bitmap_dc, &local_rect, type, state);
2002 1982
2003 // We're going to use BitBlt with a b&w mask. This results in using the dest 1983 // We're going to use BitBlt with a b&w mask. This results in using the dest
2004 // dc's text color for the black bits in the mask, and the dest dc's 1984 // dc's text color for the black bits in the mask, and the dest dc's
2005 // background color for the white bits in the mask. DrawFrameControl draws the 1985 // background color for the white bits in the mask. DrawFrameControl draws the
2006 // check in black, and the background in white. 1986 // check in black, and the background in white.
2007 int bg_color_key; 1987 int bg_color_key = COLOR_MENU;
2008 int text_color_key; 1988 int text_color_key = COLOR_MENUTEXT;
2009 switch (control_state) { 1989 switch (control_state) {
2010 case kDisabled: 1990 case kDisabled:
2011 bg_color_key = is_selected ? COLOR_HIGHLIGHT : COLOR_MENU; 1991 bg_color_key = is_selected ? COLOR_HIGHLIGHT : COLOR_MENU;
2012 text_color_key = COLOR_GRAYTEXT; 1992 text_color_key = COLOR_GRAYTEXT;
2013 break; 1993 break;
2014 case kHovered: 1994 case kHovered:
2015 bg_color_key = COLOR_HIGHLIGHT; 1995 bg_color_key = COLOR_HIGHLIGHT;
2016 text_color_key = COLOR_HIGHLIGHTTEXT; 1996 text_color_key = COLOR_HIGHLIGHTTEXT;
2017 break; 1997 break;
2018 case kNormal: 1998 case kNormal:
2019 bg_color_key = COLOR_MENU;
2020 text_color_key = COLOR_MENUTEXT;
2021 break; 1999 break;
2022 case kPressed: 2000 case kPressed:
2023 case kNumStates: 2001 case kNumStates:
2024 NOTREACHED(); 2002 NOTREACHED();
2025 bg_color_key = COLOR_MENU;
2026 text_color_key = COLOR_MENUTEXT;
2027 break; 2003 break;
2028 } 2004 }
2029 COLORREF old_bg_color = SetBkColor(hdc, GetSysColor(bg_color_key)); 2005 COLORREF old_bg_color = SetBkColor(hdc, GetSysColor(bg_color_key));
2030 COLORREF old_text_color = SetTextColor(hdc, GetSysColor(text_color_key)); 2006 COLORREF old_text_color = SetTextColor(hdc, GetSysColor(text_color_key));
2031 BitBlt(hdc, rect.x(), rect.y(), width, height, bitmap_dc, 0, 0, SRCCOPY); 2007 BitBlt(hdc, rect.x(), rect.y(), width, height, bitmap_dc, 0, 0, SRCCOPY);
2032 SetBkColor(hdc, old_bg_color); 2008 SetBkColor(hdc, old_bg_color);
2033 SetTextColor(hdc, old_text_color); 2009 SetTextColor(hdc, old_text_color);
2034 2010
2035 return S_OK; 2011 return S_OK;
2036 } 2012 }
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
2083 break; 2059 break;
2084 case LAST: 2060 case LAST:
2085 NOTREACHED(); 2061 NOTREACHED();
2086 break; 2062 break;
2087 } 2063 }
2088 theme_handles_[theme_name] = handle; 2064 theme_handles_[theme_name] = handle;
2089 return handle; 2065 return handle;
2090 } 2066 }
2091 2067
2092 } // namespace ui 2068 } // namespace ui
OLDNEW
« no previous file with comments | « ui/gfx/render_text_harfbuzz.cc ('k') | ui/views/controls/scrollbar/native_scroll_bar.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698