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

Unified Diff: ui/gfx/paint_vector_icon.cc

Issue 2733823003: Move final vector icons out of ui/gfx/vector_icons/ and remove the (Closed)
Patch Set: fix deps Created 3 years, 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/gfx/paint_vector_icon.h ('k') | ui/gfx/vector_icons/BUILD.gn » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/gfx/paint_vector_icon.cc
diff --git a/ui/gfx/paint_vector_icon.cc b/ui/gfx/paint_vector_icon.cc
index 90feddf4629a0466bbde9dc68bfabfbafa0763ed..9544615218999217506cbfa5f9ab534a1b0eedb9 100644
--- a/ui/gfx/paint_vector_icon.cc
+++ b/ui/gfx/paint_vector_icon.cc
@@ -20,7 +20,6 @@
#include "ui/gfx/image/canvas_image_source.h"
#include "ui/gfx/scoped_canvas.h"
#include "ui/gfx/vector_icon_types.h"
-#include "ui/gfx/vector_icons_public.h"
namespace gfx {
@@ -361,71 +360,37 @@ class VectorIconSource : public CanvasImageSource {
icon_(icon),
badge_(badge_icon) {}
- ~VectorIconSource() override {}
-
- // CanvasImageSource:
- bool HasRepresentationAtAllScales() const override {
- return !icon_.is_empty();
- }
-
- void Draw(gfx::Canvas* canvas) override {
- PaintVectorIcon(canvas, icon_, size_.width(), color_);
- if (!badge_.is_empty())
- PaintVectorIcon(canvas, badge_, size_.width(), color_);
- }
-
- private:
- const SkColor color_;
- const VectorIcon& icon_;
- const VectorIcon& badge_;
-
- DISALLOW_COPY_AND_ASSIGN(VectorIconSource);
-};
-
-class VectorIconSourceLegacy : public CanvasImageSource {
- public:
- VectorIconSourceLegacy(VectorIconId id,
- int dip_size,
- SkColor color,
- VectorIconId badge_id)
+ VectorIconSource(const std::string& definition, int dip_size, SkColor color)
: CanvasImageSource(gfx::Size(dip_size, dip_size), false),
- id_(id),
color_(color),
- badge_id_(badge_id) {}
+ icon_(kNoneIcon),
+ badge_(kNoneIcon),
+ path_(PathFromSource(definition)) {}
- VectorIconSourceLegacy(const std::string& definition,
- int dip_size,
- SkColor color)
- : CanvasImageSource(gfx::Size(dip_size, dip_size), false),
- id_(VectorIconId::VECTOR_ICON_NONE),
- path_(PathFromSource(definition)),
- color_(color),
- badge_id_(VectorIconId::VECTOR_ICON_NONE) {}
-
- ~VectorIconSourceLegacy() override {}
+ ~VectorIconSource() override {}
// CanvasImageSource:
bool HasRepresentationAtAllScales() const override {
- return id_ != VectorIconId::VECTOR_ICON_NONE;
+ return !icon_.is_empty();
}
void Draw(gfx::Canvas* canvas) override {
if (path_.empty()) {
- PaintVectorIcon(canvas, id_, size_.width(), color_);
- if (badge_id_ != VectorIconId::VECTOR_ICON_NONE)
- PaintVectorIcon(canvas, badge_id_, size_.width(), color_);
+ PaintVectorIcon(canvas, icon_, size_.width(), color_);
+ if (!badge_.is_empty())
+ PaintVectorIcon(canvas, badge_, size_.width(), color_);
} else {
PaintPath(canvas, path_.data(), size_.width(), color_);
}
}
private:
- const VectorIconId id_;
- const std::vector<PathElement> path_;
const SkColor color_;
- const VectorIconId badge_id_;
+ const VectorIcon& icon_;
+ const VectorIcon& badge_;
+ const std::vector<PathElement> path_;
- DISALLOW_COPY_AND_ASSIGN(VectorIconSourceLegacy);
+ DISALLOW_COPY_AND_ASSIGN(VectorIconSource);
};
// This class caches vector icons (as ImageSkia) so they don't have to be drawn
@@ -483,69 +448,11 @@ class VectorIconCache {
static base::LazyInstance<VectorIconCache>::DestructorAtExit g_icon_cache =
LAZY_INSTANCE_INITIALIZER;
-class VectorIconCacheLegacy {
- public:
- VectorIconCacheLegacy() {}
- ~VectorIconCacheLegacy() {}
-
- ImageSkia GetOrCreateIcon(VectorIconId id,
- int dip_size,
- SkColor color,
- VectorIconId badge_id) {
- IconDescription description(id, dip_size, color, badge_id);
- auto iter = images_.find(description);
- if (iter != images_.end())
- return iter->second;
-
- ImageSkia icon(new VectorIconSourceLegacy(id, dip_size, color, badge_id),
- gfx::Size(dip_size, dip_size));
- images_.insert(std::make_pair(description, icon));
- return icon;
- }
-
- private:
- struct IconDescription {
- IconDescription(VectorIconId id,
- int dip_size,
- SkColor color,
- VectorIconId badge_id)
- : id(id), dip_size(dip_size), color(color), badge_id(badge_id) {}
-
- bool operator<(const IconDescription& other) const {
- return std::tie(id, dip_size, color, badge_id) <
- std::tie(other.id, other.dip_size, other.color, other.badge_id);
- }
-
- VectorIconId id;
- int dip_size;
- SkColor color;
- VectorIconId badge_id;
- };
-
- std::map<IconDescription, ImageSkia> images_;
-
- DISALLOW_COPY_AND_ASSIGN(VectorIconCacheLegacy);
-};
-
-static base::LazyInstance<VectorIconCacheLegacy>::DestructorAtExit
- g_icon_cache_legacy = LAZY_INSTANCE_INITIALIZER;
-
} // namespace
const VectorIcon kNoneIcon = {};
void PaintVectorIcon(Canvas* canvas,
- VectorIconId id,
- int dip_size,
- SkColor color) {
- DCHECK(VectorIconId::VECTOR_ICON_NONE != id);
- const PathElement* path = canvas->image_scale() == 1.f
- ? GetPathForVectorIconAt1xScale(id)
- : GetPathForVectorIcon(id);
- PaintPath(canvas, path, dip_size, color);
-}
-
-void PaintVectorIcon(Canvas* canvas,
const VectorIcon& icon,
int dip_size,
SkColor color) {
@@ -556,14 +463,6 @@ void PaintVectorIcon(Canvas* canvas,
PaintPath(canvas, path, dip_size, color);
}
-ImageSkia CreateVectorIcon(VectorIconId id, SkColor color) {
- const PathElement* one_x_path = GetPathForVectorIconAt1xScale(id);
- int size = (one_x_path[0].type == CANVAS_DIMENSIONS)
- ? SkScalarTruncToInt(one_x_path[1].arg)
- : kReferenceSizeDip;
- return CreateVectorIcon(id, size, color);
-}
-
ImageSkia CreateVectorIcon(const VectorIcon& icon, SkColor color) {
const PathElement* one_x_path = icon.path_1x_ ? icon.path_1x_ : icon.path_;
int size = one_x_path[0].type == CANVAS_DIMENSIONS ? one_x_path[1].arg
@@ -571,27 +470,12 @@ ImageSkia CreateVectorIcon(const VectorIcon& icon, SkColor color) {
return CreateVectorIcon(icon, size, color);
}
-ImageSkia CreateVectorIcon(VectorIconId id, int dip_size, SkColor color) {
- return CreateVectorIconWithBadge(id, dip_size, color,
- VectorIconId::VECTOR_ICON_NONE);
-}
-
ImageSkia CreateVectorIcon(const VectorIcon& icon,
int dip_size,
SkColor color) {
return CreateVectorIconWithBadge(icon, dip_size, color, kNoneIcon);
}
-ImageSkia CreateVectorIconWithBadge(VectorIconId id,
- int dip_size,
- SkColor color,
- VectorIconId badge_id) {
- return (id == VectorIconId::VECTOR_ICON_NONE)
- ? gfx::ImageSkia()
- : g_icon_cache_legacy.Get().GetOrCreateIcon(id, dip_size, color,
- badge_id);
-}
-
ImageSkia CreateVectorIconWithBadge(const VectorIcon& icon,
int dip_size,
SkColor color,
@@ -604,8 +488,8 @@ ImageSkia CreateVectorIconWithBadge(const VectorIcon& icon,
ImageSkia CreateVectorIconFromSource(const std::string& source,
int dip_size,
SkColor color) {
- return CanvasImageSource::MakeImageSkia<VectorIconSourceLegacy>(
- source, dip_size, color);
+ return CanvasImageSource::MakeImageSkia<VectorIconSource>(source, dip_size,
+ color);
}
} // namespace gfx
« no previous file with comments | « ui/gfx/paint_vector_icon.h ('k') | ui/gfx/vector_icons/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698