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

Side by Side Diff: chrome/browser/download/download_shelf.cc

Issue 1367083002: Download bar MD overhaul, part 3 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: incl Created 5 years, 2 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
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 #define _USE_MATH_DEFINES // For VC++ to get M_PI. This has to be first. 5 #define _USE_MATH_DEFINES // For VC++ to get M_PI. This has to be first.
6 6
7 #include "chrome/browser/download/download_shelf.h" 7 #include "chrome/browser/download/download_shelf.h"
8 8
9 #include <cmath> 9 #include <cmath>
10 10
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 const base::TimeDelta& progress_time, 77 const base::TimeDelta& progress_time,
78 int percent_done) { 78 int percent_done) {
79 // Draw background (light blue circle). 79 // Draw background (light blue circle).
80 SkPaint bg_paint; 80 SkPaint bg_paint;
81 bg_paint.setStyle(SkPaint::kFill_Style); 81 bg_paint.setStyle(SkPaint::kFill_Style);
82 SkColor indicator_color = 82 SkColor indicator_color =
83 theme_provider.GetColor(ThemeProperties::COLOR_THROBBER_SPINNING); 83 theme_provider.GetColor(ThemeProperties::COLOR_THROBBER_SPINNING);
84 bg_paint.setColor(SkColorSetA(indicator_color, 0x33)); 84 bg_paint.setColor(SkColorSetA(indicator_color, 0x33));
85 bg_paint.setAntiAlias(true); 85 bg_paint.setAntiAlias(true);
86 const SkScalar kCenterPoint = kProgressIndicatorSize / 2.f; 86 const SkScalar kCenterPoint = kProgressIndicatorSize / 2.f;
87 const SkScalar kRadius = 12.5f;
88 SkPath bg; 87 SkPath bg;
89 bg.addCircle(kCenterPoint, kCenterPoint, kRadius); 88 bg.addCircle(kCenterPoint, kCenterPoint, kCenterPoint);
90 canvas->DrawPath(bg, bg_paint); 89 canvas->DrawPath(bg, bg_paint);
91 90
92 // Calculate progress. 91 // Calculate progress.
93 SkScalar sweep_angle = 0.f; 92 SkScalar sweep_angle = 0.f;
94 // Start at 12 o'clock. 93 // Start at 12 o'clock.
95 SkScalar start_pos = SkIntToScalar(270); 94 SkScalar start_pos = SkIntToScalar(270);
96 if (percent_done < 0) { 95 if (percent_done < 0) {
97 // For unknown size downloads, draw a 50 degree sweep that moves at 96 // For unknown size downloads, draw a 50 degree sweep that moves at
98 // 0.08 degrees per millisecond. 97 // 0.08 degrees per millisecond.
99 sweep_angle = 50.f; 98 sweep_angle = 50.f;
100 start_pos += static_cast<SkScalar>(progress_time.InMilliseconds() * 0.08); 99 start_pos += static_cast<SkScalar>(progress_time.InMilliseconds() * 0.08);
101 } else if (percent_done > 0) { 100 } else if (percent_done > 0) {
102 sweep_angle = static_cast<SkScalar>(360 * percent_done / 100.0); 101 sweep_angle = static_cast<SkScalar>(360 * percent_done / 100.0);
103 } 102 }
104 103
105 // Draw progress. 104 // Draw progress.
106 SkPath progress; 105 SkPath progress;
107 progress.addArc(SkRect::MakeLTRB(kCenterPoint - kRadius, 106 progress.addArc(
108 kCenterPoint - kRadius, 107 SkRect::MakeLTRB(0, 0, kProgressIndicatorSize, kProgressIndicatorSize),
109 kCenterPoint + kRadius, 108 start_pos, sweep_angle);
110 kCenterPoint + kRadius),
111 start_pos, sweep_angle);
112 SkPaint progress_paint; 109 SkPaint progress_paint;
113 progress_paint.setColor(indicator_color); 110 progress_paint.setColor(indicator_color);
114 progress_paint.setStyle(SkPaint::kStroke_Style); 111 progress_paint.setStyle(SkPaint::kStroke_Style);
115 progress_paint.setStrokeWidth(1.7f); 112 progress_paint.setStrokeWidth(1.7f);
116 progress_paint.setAntiAlias(true); 113 progress_paint.setAntiAlias(true);
117 canvas->DrawPath(progress, progress_paint); 114 canvas->DrawPath(progress, progress_paint);
118 } 115 }
119 116
120 // static 117 // static
121 void DownloadShelf::PaintDownloadComplete( 118 void DownloadShelf::PaintDownloadComplete(
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
236 content::DownloadManager* download_manager = GetDownloadManager(); 233 content::DownloadManager* download_manager = GetDownloadManager();
237 if (!download_manager) 234 if (!download_manager)
238 return; 235 return;
239 236
240 DownloadItem* download = download_manager->GetDownload(download_id); 237 DownloadItem* download = download_manager->GetDownload(download_id);
241 if (!download) 238 if (!download)
242 return; 239 return;
243 240
244 ShowDownload(download); 241 ShowDownload(download);
245 } 242 }
OLDNEW
« no previous file with comments | « chrome/browser/download/download_shelf.h ('k') | chrome/browser/ui/views/download/download_item_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698