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

Unified Diff: views/controls/progress_bar.cc

Issue 8687031: views: Move the remaining files to ui/views/controls/. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 1 month 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « views/controls/progress_bar.h ('k') | views/controls/progress_bar_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: views/controls/progress_bar.cc
diff --git a/views/controls/progress_bar.cc b/views/controls/progress_bar.cc
deleted file mode 100644
index 41c69ec4c959a0847d537dda81023c03137a3830..0000000000000000000000000000000000000000
--- a/views/controls/progress_bar.cc
+++ /dev/null
@@ -1,319 +0,0 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "views/controls/progress_bar.h"
-
-#include <algorithm>
-#include <string>
-
-#include "base/logging.h"
-#include "base/string_util.h"
-#include "base/utf_string_conversions.h"
-#include "third_party/skia/include/effects/SkBlurMaskFilter.h"
-#include "third_party/skia/include/effects/SkGradientShader.h"
-#include "ui/base/accessibility/accessible_view_state.h"
-#include "ui/gfx/canvas_skia.h"
-#include "ui/gfx/color_utils.h"
-#include "ui/gfx/font.h"
-#include "ui/gfx/insets.h"
-#include "views/background.h"
-#include "views/border.h"
-#include "views/painter.h"
-
-namespace {
-
-// Corner radius for the progress bar's border.
-const int kCornerRadius = 3;
-
-// Progress bar's border width
-const int kBorderWidth = 1;
-
-void AddRoundRectPathWithPadding(int x, int y,
- int w, int h,
- int corner_radius,
- SkScalar padding,
- SkPath* path) {
- DCHECK(path);
- if (path == NULL)
- return;
- SkRect rect;
- rect.set(
- SkIntToScalar(x) + padding, SkIntToScalar(y) + padding,
- SkIntToScalar(x + w) - padding, SkIntToScalar(y + h) - padding);
- path->addRoundRect(
- rect,
- SkIntToScalar(corner_radius) - padding,
- SkIntToScalar(corner_radius) - padding);
-}
-
-void AddRoundRectPath(int x, int y,
- int w, int h,
- int corner_radius,
- SkPath* path) {
- static const SkScalar half = SkIntToScalar(1) / 2;
- AddRoundRectPathWithPadding(x, y, w, h, corner_radius, half, path);
-}
-
-void FillRoundRect(gfx::Canvas* canvas,
- int x, int y,
- int w, int h,
- int corner_radius,
- const SkColor colors[],
- const SkScalar points[],
- int count,
- bool gradient_horizontal) {
- SkPath path;
- AddRoundRectPath(x, y, w, h, corner_radius, &path);
- SkPaint paint;
- paint.setStyle(SkPaint::kFill_Style);
- paint.setFlags(SkPaint::kAntiAlias_Flag);
-
- SkPoint p[2];
- p[0].set(SkIntToScalar(x), SkIntToScalar(y));
- if (gradient_horizontal) {
- p[1].set(SkIntToScalar(x + w), SkIntToScalar(y));
- } else {
- p[1].set(SkIntToScalar(x), SkIntToScalar(y + h));
- }
- SkShader* s = SkGradientShader::CreateLinear(
- p, colors, points, count, SkShader::kClamp_TileMode, NULL);
- paint.setShader(s);
- // Need to unref shader, otherwise never deleted.
- s->unref();
-
- canvas->GetSkCanvas()->drawPath(path, paint);
-}
-
-void FillRoundRect(gfx::Canvas* canvas,
- int x, int y,
- int w, int h,
- int corner_radius,
- SkColor gradient_start_color,
- SkColor gradient_end_color,
- bool gradient_horizontal) {
- if (gradient_start_color != gradient_end_color) {
- SkColor colors[2] = { gradient_start_color, gradient_end_color };
- FillRoundRect(canvas, x, y, w, h, corner_radius,
- colors, NULL, 2, gradient_horizontal);
- } else {
- SkPath path;
- AddRoundRectPath(x, y, w, h, corner_radius, &path);
- SkPaint paint;
- paint.setStyle(SkPaint::kFill_Style);
- paint.setFlags(SkPaint::kAntiAlias_Flag);
- paint.setColor(gradient_start_color);
- canvas->GetSkCanvas()->drawPath(path, paint);
- }
-}
-
-void StrokeRoundRect(gfx::Canvas* canvas,
- int x, int y,
- int w, int h,
- int corner_radius,
- SkColor stroke_color,
- int stroke_width) {
- SkPath path;
- AddRoundRectPath(x, y, w, h, corner_radius, &path);
- SkPaint paint;
- paint.setShader(NULL);
- paint.setColor(stroke_color);
- paint.setStyle(SkPaint::kStroke_Style);
- paint.setFlags(SkPaint::kAntiAlias_Flag);
- paint.setStrokeWidth(SkIntToScalar(stroke_width));
- canvas->GetSkCanvas()->drawPath(path, paint);
-}
-
-} // namespace
-
-namespace views {
-
-// static
-const char ProgressBar::kViewClassName[] = "views/ProgressBar";
-
-ProgressBar::ProgressBar()
- : min_display_value_(0.0),
- max_display_value_(1.0),
- current_value_(0.0) {
-}
-
-ProgressBar::~ProgressBar() {
-}
-
-void ProgressBar::SetDisplayRange(double min_display_value,
- double max_display_value) {
- if (min_display_value != min_display_value_ ||
- max_display_value != max_display_value_) {
- DCHECK(min_display_value < max_display_value);
- min_display_value_ = min_display_value;
- max_display_value_ = max_display_value;
- SchedulePaint();
- }
-}
-
-void ProgressBar::SetValue(double value) {
- if (value != current_value_) {
- current_value_ = value;
- SchedulePaint();
- }
-}
-
-void ProgressBar::SetTooltipText(const string16& tooltip_text) {
- tooltip_text_ = tooltip_text;
-}
-
-bool ProgressBar::GetTooltipText(const gfx::Point& p, string16* tooltip) const {
- DCHECK(tooltip);
- if (tooltip == NULL)
- return false;
- tooltip->assign(tooltip_text_);
- return !tooltip_text_.empty();
-}
-
-void ProgressBar::GetAccessibleState(ui::AccessibleViewState* state) {
- state->role = ui::AccessibilityTypes::ROLE_PROGRESSBAR;
- state->state = ui::AccessibilityTypes::STATE_READONLY;
-}
-
-gfx::Size ProgressBar::GetPreferredSize() {
- return gfx::Size(100, 16);
-}
-
-std::string ProgressBar::GetClassName() const {
- return kViewClassName;
-}
-
-void ProgressBar::OnPaint(gfx::Canvas* canvas) {
- const double capped_value = std::min(
- std::max(current_value_, min_display_value_), max_display_value_);
- const double capped_fraction =
- (capped_value - min_display_value_) /
- (max_display_value_ - min_display_value_);
- const int progress_width = static_cast<int>(width() * capped_fraction + 0.5);
-
-#if defined(OS_CHROMEOS)
- const SkColor background_colors[] = {
- SkColorSetRGB(0xBB, 0xBB, 0xBB),
- SkColorSetRGB(0xE7, 0xE7, 0xE7),
- SkColorSetRGB(0xFE, 0xFE, 0xFE)
- };
-
- const SkScalar background_points[] = {
- SkDoubleToScalar(0),
- SkDoubleToScalar(0.1),
- SkDoubleToScalar(1)
- };
- const SkColor background_border_color = SkColorSetRGB(0xA1, 0xA1, 0xA1);
-
- // Draw background.
- FillRoundRect(canvas,
- 0, 0, width(), height(),
- kCornerRadius,
- background_colors,
- background_points,
- arraysize(background_colors),
- false);
- StrokeRoundRect(canvas,
- 0, 0,
- width(), height(),
- kCornerRadius,
- background_border_color,
- kBorderWidth);
-
- if (progress_width > 1) {
- const bool enabled = IsEnabled();
-
- const SkColor bar_color_start = enabled ?
- SkColorSetRGB(100, 116, 147) :
- SkColorSetRGB(229, 232, 237);
- const SkColor bar_color_end = enabled ?
- SkColorSetRGB(65, 73, 87) :
- SkColorSetRGB(224, 225, 227);
-
- const SkColor bar_outer_color = enabled ?
- SkColorSetRGB(0x4A, 0x4A, 0x4A) :
- SkColorSetARGB(0x80, 0x4A, 0x4A, 0x4A);
-
- const SkColor bar_inner_border_color =
- SkColorSetARGB(0x3F, 0xFF, 0xFF, 0xFF); // 0.25 white
- const SkColor bar_inner_shadow_color =
- SkColorSetARGB(0x54, 0xFF, 0xFF, 0xFF); // 0.33 white
-
- // Draw bar background
- FillRoundRect(canvas,
- 0, 0, progress_width, height(),
- kCornerRadius,
- bar_color_start,
- bar_color_end,
- false);
-
- // Draw inner stroke and shadow if wide enough.
- if (progress_width > 2 * kBorderWidth) {
- canvas->GetSkCanvas()->save();
-
- SkPath inner_path;
- AddRoundRectPathWithPadding(
- 0, 0, progress_width, height(),
- kCornerRadius,
- SkIntToScalar(kBorderWidth),
- &inner_path);
- canvas->GetSkCanvas()->clipPath(inner_path);
-
- // Draw bar inner stroke
- StrokeRoundRect(canvas,
- kBorderWidth, kBorderWidth,
- progress_width - 2 * kBorderWidth,
- height() - 2 * kBorderWidth,
- kCornerRadius - kBorderWidth,
- bar_inner_border_color,
- kBorderWidth);
-
- // Draw bar inner shadow
- StrokeRoundRect(canvas,
- 0, kBorderWidth, progress_width, height(),
- kCornerRadius,
- bar_inner_shadow_color,
- kBorderWidth);
-
- canvas->GetSkCanvas()->restore();
- }
-
- // Draw bar stroke
- StrokeRoundRect(canvas,
- 0, 0, progress_width, height(),
- kCornerRadius,
- bar_outer_color,
- kBorderWidth);
- }
-#else
- SkColor bar_color_start = SkColorSetRGB(81, 138, 223);
- SkColor bar_color_end = SkColorSetRGB(51, 103, 205);
- SkColor background_color_start = SkColorSetRGB(212, 212, 212);
- SkColor background_color_end = SkColorSetRGB(252, 252, 252);
- SkColor border_color = SkColorSetRGB(144, 144, 144);
-
- FillRoundRect(canvas,
- 0, 0, width(), height(),
- kCornerRadius,
- background_color_start,
- background_color_end,
- false);
- if (progress_width > 1) {
- FillRoundRect(canvas,
- 0, 0,
- progress_width, height(),
- kCornerRadius,
- bar_color_start,
- bar_color_end,
- false);
- }
- StrokeRoundRect(canvas,
- 0, 0,
- width(), height(),
- kCornerRadius,
- border_color,
- kBorderWidth);
-#endif
-}
-
-} // namespace views
« no previous file with comments | « views/controls/progress_bar.h ('k') | views/controls/progress_bar_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698