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

Side by Side Diff: chrome/browser/ui/extensions/icon_with_badge_image_source.cc

Issue 2640983002: Rename paint data structures (Closed)
Patch Set: three Rs: rebase, readme, review Created 3 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
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 "chrome/browser/ui/extensions/icon_with_badge_image_source.h" 5 #include "chrome/browser/ui/extensions/icon_with_badge_image_source.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <cmath> 8 #include <cmath>
9 #include <utility> 9 #include <utility>
10 10
11 #include "base/strings/utf_string_conversions.h" 11 #include "base/strings/utf_string_conversions.h"
12 #include "build/build_config.h" 12 #include "build/build_config.h"
13 #include "cc/paint/paint_flags.h"
13 #include "chrome/browser/extensions/extension_action.h" 14 #include "chrome/browser/extensions/extension_action.h"
14 #include "chrome/grit/theme_resources.h" 15 #include "chrome/grit/theme_resources.h"
15 #include "third_party/skia/include/core/SkPaint.h" 16 #include "third_party/skia/include/core/SkPaint.h"
16 #include "ui/base/resource/resource_bundle.h" 17 #include "ui/base/resource/resource_bundle.h"
17 #include "ui/gfx/canvas.h" 18 #include "ui/gfx/canvas.h"
18 #include "ui/gfx/color_palette.h" 19 #include "ui/gfx/color_palette.h"
19 #include "ui/gfx/font.h" 20 #include "ui/gfx/font.h"
20 #include "ui/gfx/geometry/rect.h" 21 #include "ui/gfx/geometry/rect.h"
21 #include "ui/gfx/geometry/size.h" 22 #include "ui/gfx/geometry/size.h"
22 #include "ui/gfx/image/image_skia_operations.h" 23 #include "ui/gfx/image/image_skia_operations.h"
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 if (size().width() != 0 && (badge_width % 2 != size().width() % 2)) 141 if (size().width() != 0 && (badge_width % 2 != size().width() % 2))
141 badge_width += 1; 142 badge_width += 1;
142 badge_width = std::max(kBadgeHeight, badge_width); 143 badge_width = std::max(kBadgeHeight, badge_width);
143 144
144 // Calculate the badge background rect. It is usually right-aligned, but it 145 // Calculate the badge background rect. It is usually right-aligned, but it
145 // can also be center-aligned if it is large. 146 // can also be center-aligned if it is large.
146 gfx::Rect rect(badge_width >= kCenterAlignThreshold 147 gfx::Rect rect(badge_width >= kCenterAlignThreshold
147 ? (size().width() - badge_width) / 2 148 ? (size().width() - badge_width) / 2
148 : size().width() - badge_width, 149 : size().width() - badge_width,
149 size().height() - kBadgeHeight, badge_width, kBadgeHeight); 150 size().height() - kBadgeHeight, badge_width, kBadgeHeight);
150 SkPaint rect_paint; 151 cc::PaintFlags rect_paint;
151 rect_paint.setStyle(SkPaint::kFill_Style); 152 rect_paint.setStyle(cc::PaintFlags::kFill_Style);
152 rect_paint.setAntiAlias(true); 153 rect_paint.setAntiAlias(true);
153 rect_paint.setColor(background_color); 154 rect_paint.setColor(background_color);
154 155
155 // Clear part of the background icon. 156 // Clear part of the background icon.
156 gfx::Rect cutout_rect(rect); 157 gfx::Rect cutout_rect(rect);
157 cutout_rect.Inset(-1, -1); 158 cutout_rect.Inset(-1, -1);
158 SkPaint cutout_paint = rect_paint; 159 cc::PaintFlags cutout_paint = rect_paint;
159 cutout_paint.setBlendMode(SkBlendMode::kClear); 160 cutout_paint.setBlendMode(SkBlendMode::kClear);
160 canvas->DrawRoundRect(cutout_rect, 2, cutout_paint); 161 canvas->DrawRoundRect(cutout_rect, 2, cutout_paint);
161 162
162 // Paint the backdrop. 163 // Paint the backdrop.
163 canvas->DrawRoundRect(rect, 1, rect_paint); 164 canvas->DrawRoundRect(rect, 1, rect_paint);
164 165
165 // Paint the text. 166 // Paint the text.
166 rect.Inset(std::max(kPadding, (rect.width() - text_width) / 2), 167 rect.Inset(std::max(kPadding, (rect.width() - text_width) / 2),
167 kBadgeHeight - base_font.GetHeight(), kPadding, 0); 168 kBadgeHeight - base_font.GetHeight(), kPadding, 0);
168 canvas->DrawStringRect(utf16_text, base_font, text_color, rect); 169 canvas->DrawStringRect(utf16_text, base_font, text_color, rect);
169 } 170 }
170 171
171 void IconWithBadgeImageSource::PaintPageActionDecoration(gfx::Canvas* canvas) { 172 void IconWithBadgeImageSource::PaintPageActionDecoration(gfx::Canvas* canvas) {
172 static const SkColor decoration_color = SkColorSetARGB(255, 70, 142, 226); 173 static const SkColor decoration_color = SkColorSetARGB(255, 70, 142, 226);
173 174
174 int major_radius = std::ceil(size().width() / 5.0); 175 int major_radius = std::ceil(size().width() / 5.0);
175 int minor_radius = std::ceil(major_radius / 2.0); 176 int minor_radius = std::ceil(major_radius / 2.0);
176 gfx::Point center_point(major_radius + 1, size().height() - (major_radius)-1); 177 gfx::Point center_point(major_radius + 1, size().height() - (major_radius)-1);
177 SkPaint paint; 178 cc::PaintFlags paint;
178 paint.setAntiAlias(true); 179 paint.setAntiAlias(true);
179 paint.setStyle(SkPaint::kFill_Style); 180 paint.setStyle(cc::PaintFlags::kFill_Style);
180 paint.setColor(SK_ColorTRANSPARENT); 181 paint.setColor(SK_ColorTRANSPARENT);
181 paint.setBlendMode(SkBlendMode::kSrc); 182 paint.setBlendMode(SkBlendMode::kSrc);
182 canvas->DrawCircle(center_point, major_radius, paint); 183 canvas->DrawCircle(center_point, major_radius, paint);
183 paint.setColor(decoration_color); 184 paint.setColor(decoration_color);
184 canvas->DrawCircle(center_point, minor_radius, paint); 185 canvas->DrawCircle(center_point, minor_radius, paint);
185 } 186 }
186 187
187 void IconWithBadgeImageSource::PaintBlockedActionDecoration( 188 void IconWithBadgeImageSource::PaintBlockedActionDecoration(
188 gfx::Canvas* canvas) { 189 gfx::Canvas* canvas) {
189 canvas->Save(); 190 canvas->Save();
190 gfx::ImageSkia img = *ResourceBundle::GetSharedInstance().GetImageSkiaNamed( 191 gfx::ImageSkia img = *ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
191 IDR_BLOCKED_EXTENSION_SCRIPT); 192 IDR_BLOCKED_EXTENSION_SCRIPT);
192 canvas->DrawImageInt(img, size().width() - img.width(), 0); 193 canvas->DrawImageInt(img, size().width() - img.width(), 0);
193 canvas->Restore(); 194 canvas->Restore();
194 } 195 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698