OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 "views/controls/menu/native_menu_win.h" | 5 #include "views/controls/menu/native_menu_win.h" |
6 | 6 |
7 #include "app/l10n_util.h" | 7 #include "app/l10n_util.h" |
8 #include "app/l10n_util_win.h" | 8 #include "app/l10n_util_win.h" |
9 #include "base/keyboard_codes.h" | 9 #include "base/keyboard_codes.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
11 #include "base/stl_util-inl.h" | 11 #include "base/stl_util-inl.h" |
12 #include "gfx/canvas.h" | 12 #include "gfx/canvas_skia.h" |
13 #include "gfx/font.h" | 13 #include "gfx/font.h" |
14 #include "third_party/skia/include/core/SkBitmap.h" | 14 #include "third_party/skia/include/core/SkBitmap.h" |
15 #include "views/accelerator.h" | 15 #include "views/accelerator.h" |
16 #include "views/controls/menu/menu_2.h" | 16 #include "views/controls/menu/menu_2.h" |
17 | 17 |
18 namespace views { | 18 namespace views { |
19 | 19 |
20 // The width of an icon, including the pixels between the icon and | 20 // The width of an icon, including the pixels between the icon and |
21 // the item label. | 21 // the item label. |
22 static const int kIconWidth = 23; | 22 static const int kIconWidth = 23; |
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
216 if (!accel.empty()) | 216 if (!accel.empty()) |
217 DrawTextEx(dc, const_cast<wchar_t*>(accel.data()), | 217 DrawTextEx(dc, const_cast<wchar_t*>(accel.data()), |
218 static_cast<int>(accel.size()), &rect, | 218 static_cast<int>(accel.size()), &rect, |
219 format | DT_RIGHT, NULL); | 219 format | DT_RIGHT, NULL); |
220 SelectObject(dc, old_font); | 220 SelectObject(dc, old_font); |
221 | 221 |
222 // Draw the icon after the label, otherwise it would be covered | 222 // Draw the icon after the label, otherwise it would be covered |
223 // by the label. | 223 // by the label. |
224 SkBitmap icon; | 224 SkBitmap icon; |
225 if (data->native_menu_win->model_->GetIconAt(data->model_index, &icon)) { | 225 if (data->native_menu_win->model_->GetIconAt(data->model_index, &icon)) { |
226 gfx::Canvas canvas(icon.width(), icon.height(), false); | 226 gfx::CanvasSkia canvas(icon.width(), icon.height(), false); |
227 canvas.drawColor(SK_ColorBLACK, SkXfermode::kClear_Mode); | 227 canvas.drawColor(SK_ColorBLACK, SkXfermode::kClear_Mode); |
228 canvas.DrawBitmapInt(icon, 0, 0); | 228 canvas.DrawBitmapInt(icon, 0, 0); |
229 canvas.getTopPlatformDevice().drawToHDC(dc, | 229 canvas.getTopPlatformDevice().drawToHDC(dc, |
230 draw_item_struct->rcItem.left + kItemLeftMargin, | 230 draw_item_struct->rcItem.left + kItemLeftMargin, |
231 draw_item_struct->rcItem.top + (draw_item_struct->rcItem.bottom - | 231 draw_item_struct->rcItem.top + (draw_item_struct->rcItem.bottom - |
232 draw_item_struct->rcItem.top - icon.height()) / 2, NULL); | 232 draw_item_struct->rcItem.top - icon.height()) / 2, NULL); |
233 } | 233 } |
234 | 234 |
235 } else { | 235 } else { |
236 // Draw the separator | 236 // Draw the separator |
(...skipping 391 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
628 | 628 |
629 //////////////////////////////////////////////////////////////////////////////// | 629 //////////////////////////////////////////////////////////////////////////////// |
630 // MenuWrapper, public: | 630 // MenuWrapper, public: |
631 | 631 |
632 // static | 632 // static |
633 MenuWrapper* MenuWrapper::CreateWrapper(Menu2* menu) { | 633 MenuWrapper* MenuWrapper::CreateWrapper(Menu2* menu) { |
634 return new NativeMenuWin(menu->model(), NULL); | 634 return new NativeMenuWin(menu->model(), NULL); |
635 } | 635 } |
636 | 636 |
637 } // namespace views | 637 } // namespace views |
OLD | NEW |