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

Side by Side Diff: ui/views/bubble/bubble_border.cc

Issue 12096084: Cleanup BubbleFrameView and BubbleBorder construction. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Additional refactoring and cleanup. Created 7 years, 10 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) 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/views/bubble/bubble_border.h" 5 #include "ui/views/bubble/bubble_border.h"
6 6
7 #include <algorithm> // for std::max 7 #include <algorithm> // for std::max
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "grit/ui_resources.h" 10 #include "grit/ui_resources.h"
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 126
127 int arrow_interior_height; // The height inside the arrow image, in pixels. 127 int arrow_interior_height; // The height inside the arrow image, in pixels.
128 int border_thickness; 128 int border_thickness;
129 int corner_radius; 129 int corner_radius;
130 }; 130 };
131 131
132 // static 132 // static
133 struct BubbleBorder::BorderImages* 133 struct BubbleBorder::BorderImages*
134 BubbleBorder::border_images_[SHADOW_COUNT] = { NULL }; 134 BubbleBorder::border_images_[SHADOW_COUNT] = { NULL };
135 135
136 BubbleBorder::BubbleBorder(ArrowLocation arrow_location, Shadow shadow) 136 BubbleBorder::BubbleBorder(ArrowLocation arrow, Shadow shadow, SkColor color)
137 : override_arrow_offset_(0), 137 : override_arrow_offset_(0),
138 arrow_location_(arrow_location), 138 arrow_location_(arrow),
139 paint_arrow_(true), 139 paint_arrow_(true),
140 alignment_(ALIGN_ARROW_TO_MID_ANCHOR), 140 alignment_(ALIGN_ARROW_TO_MID_ANCHOR),
141 background_color_(SK_ColorWHITE) { 141 background_color_(color) {
142 DCHECK(shadow < SHADOW_COUNT); 142 DCHECK(shadow < SHADOW_COUNT);
143 images_ = GetBorderImages(shadow); 143 images_ = GetBorderImages(shadow);
144 144
145 // Calculate horizontal and vertical insets for arrow by ensuring that 145 // Calculate horizontal and vertical insets for arrow by ensuring that
146 // the widest arrow and corner images will have enough room to avoid overlap 146 // the widest arrow and corner images will have enough room to avoid overlap
147 int offset_x = 147 int offset_x =
148 (std::max(images_->top_arrow.width(), 148 (std::max(images_->top_arrow.width(),
149 images_->bottom_arrow.width()) / 2) + 149 images_->bottom_arrow.width()) / 2) +
150 std::max(std::max(images_->top_left.width(), 150 std::max(std::max(images_->top_left.width(),
151 images_->top_right.width()), 151 images_->top_right.width()),
(...skipping 472 matching lines...) Expand 10 before | Expand all | Expand 10 after
624 paint.setColor(border_->background_color()); 624 paint.setColor(border_->background_color());
625 SkPath path; 625 SkPath path;
626 gfx::Rect bounds(view->GetContentsBounds()); 626 gfx::Rect bounds(view->GetContentsBounds());
627 bounds.Inset(-border_->GetBorderThickness(), -border_->GetBorderThickness()); 627 bounds.Inset(-border_->GetBorderThickness(), -border_->GetBorderThickness());
628 SkScalar radius = SkIntToScalar(border_->GetBorderCornerRadius()); 628 SkScalar radius = SkIntToScalar(border_->GetBorderCornerRadius());
629 path.addRoundRect(gfx::RectToSkRect(bounds), radius, radius); 629 path.addRoundRect(gfx::RectToSkRect(bounds), radius, radius);
630 canvas->DrawPath(path, paint); 630 canvas->DrawPath(path, paint);
631 } 631 }
632 632
633 } // namespace views 633 } // namespace views
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698