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

Side by Side Diff: views/controls/menu/menu_scroll_view_container.cc

Issue 199050: Wires up drag and drop for bookmark menus and cleans up a couple of... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 years, 3 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
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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/menu_scroll_view_container.h" 5 #include "views/controls/menu/menu_scroll_view_container.h"
6 6
7 #if defined(OS_WIN) 7 #if defined(OS_WIN)
8 #include <windows.h> 8 #include <windows.h>
9 #include <uxtheme.h> 9 #include <uxtheme.h>
10 #include <Vssym32.h> 10 #include <Vssym32.h>
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 virtual void OnDragExited() { 72 virtual void OnDragExited() {
73 DCHECK(host_->GetMenuItem()->GetMenuController()); 73 DCHECK(host_->GetMenuItem()->GetMenuController());
74 host_->GetMenuItem()->GetMenuController()->OnDragExitedScrollButton(host_); 74 host_->GetMenuItem()->GetMenuController()->OnDragExitedScrollButton(host_);
75 } 75 }
76 76
77 virtual int OnPerformDrop(const DropTargetEvent& event) { 77 virtual int OnPerformDrop(const DropTargetEvent& event) {
78 return DragDropTypes::DRAG_NONE; 78 return DragDropTypes::DRAG_NONE;
79 } 79 }
80 80
81 virtual void Paint(gfx::Canvas* canvas) { 81 virtual void Paint(gfx::Canvas* canvas) {
82 const MenuConfig& config = MenuConfig::instance();
83
82 #if defined(OS_WIN) 84 #if defined(OS_WIN)
83 const MenuConfig& config = MenuConfig::instance();
84 HDC dc = canvas->beginPlatformPaint(); 85 HDC dc = canvas->beginPlatformPaint();
85 86
86 // The background. 87 // The background.
87 RECT item_bounds = { 0, 0, width(), height() }; 88 RECT item_bounds = { 0, 0, width(), height() };
88 NativeTheme::instance()->PaintMenuItemBackground( 89 NativeTheme::instance()->PaintMenuItemBackground(
89 NativeTheme::MENU, dc, MENU_POPUPITEM, MPI_NORMAL, false, 90 NativeTheme::MENU, dc, MENU_POPUPITEM, MPI_NORMAL, false,
90 &item_bounds); 91 &item_bounds);
92 canvas->endPlatformPaint();
93
94 SkColor arrow_color = color_utils::GetSysSkColor(COLOR_MENUTEXT);
95 #else
96 SkColor arrow_color = SK_ColorBLACK;
97 #endif
91 98
92 // Then the arrow. 99 // Then the arrow.
93 int x = width() / 2; 100 int x = width() / 2;
94 int y = (height() - config.scroll_arrow_height) / 2; 101 int y = (height() - config.scroll_arrow_height) / 2;
95 int delta_y = 1; 102 int delta_y = 1;
96 if (!is_up_) { 103 if (!is_up_) {
97 delta_y = -1; 104 delta_y = -1;
98 y += config.scroll_arrow_height; 105 y += config.scroll_arrow_height;
99 } 106 }
100 SkColor arrow_color = color_utils::GetSysSkColor(COLOR_MENUTEXT);
101 for (int i = 0; i < config.scroll_arrow_height; ++i, --x, y += delta_y) 107 for (int i = 0; i < config.scroll_arrow_height; ++i, --x, y += delta_y)
102 canvas->FillRectInt(arrow_color, x, y, (i * 2) + 1, 1); 108 canvas->FillRectInt(arrow_color, x, y, (i * 2) + 1, 1);
103
104 canvas->endPlatformPaint();
105 #else
106 NOTIMPLEMENTED();
107 #endif
108 } 109 }
109 110
110 private: 111 private:
111 // SubmenuView we were created for. 112 // SubmenuView we were created for.
112 SubmenuView* host_; 113 SubmenuView* host_;
113 114
114 // Direction of the button. 115 // Direction of the button.
115 bool is_up_; 116 bool is_up_;
116 117
117 // Preferred height. 118 // Preferred height.
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
225 } 226 }
226 227
227 gfx::Size MenuScrollViewContainer::GetPreferredSize() { 228 gfx::Size MenuScrollViewContainer::GetPreferredSize() {
228 gfx::Size prefsize = scroll_view_->GetContents()->GetPreferredSize(); 229 gfx::Size prefsize = scroll_view_->GetContents()->GetPreferredSize();
229 gfx::Insets insets = GetInsets(); 230 gfx::Insets insets = GetInsets();
230 prefsize.Enlarge(insets.width(), insets.height()); 231 prefsize.Enlarge(insets.width(), insets.height());
231 return prefsize; 232 return prefsize;
232 } 233 }
233 234
234 } // namespace views 235 } // namespace views
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698