| 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 |