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

Unified Diff: chrome/browser/profiles/profile_avatar_icon_util.cc

Issue 268073005: Bring back support for 38x31 avatars. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Moved the call to profiles:: namespace outside the task thread. Created 6 years, 7 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
Index: chrome/browser/profiles/profile_avatar_icon_util.cc
diff --git a/chrome/browser/profiles/profile_avatar_icon_util.cc b/chrome/browser/profiles/profile_avatar_icon_util.cc
index 6a3e613c32db248382f69d8de46a1fd7377d683d..331c9a2042890487b59e0791766991b7638751cd 100644
--- a/chrome/browser/profiles/profile_avatar_icon_util.cc
+++ b/chrome/browser/profiles/profile_avatar_icon_util.cc
@@ -13,6 +13,7 @@
#include "chrome/common/chrome_paths.h"
#include "grit/generated_resources.h"
#include "grit/theme_resources.h"
+#include "skia/ext/image_operations.h"
#include "third_party/skia/include/core/SkPaint.h"
#include "third_party/skia/include/core/SkPath.h"
#include "third_party/skia/include/core/SkScalar.h"
@@ -22,6 +23,8 @@
#include "ui/gfx/image/canvas_image_source.h"
#include "ui/gfx/image/image.h"
#include "ui/gfx/image/image_skia_operations.h"
+#include "ui/gfx/rect.h"
+#include "ui/gfx/skia_util.h"
// Helper methods for transforming and drawing avatar icons.
namespace {
@@ -184,7 +187,7 @@ struct IconResourceInfo {
};
const int kAvatarIconWidth = 38;
-const int kAvatarIconHeight = 38;
+const int kAvatarIconHeight = 31;
const SkColor kAvatarTutorialBackgroundColor = SkColorSetRGB(0x42, 0x85, 0xf4);
const SkColor kAvatarTutorialContentTextColor = SkColorSetRGB(0xc6, 0xda, 0xfc);
const SkColor kAvatarBubbleAccountsBackgroundColor =
@@ -264,6 +267,24 @@ gfx::Image GetAvatarIconForTitleBar(const gfx::Image& image,
return gfx::Image(gfx::ImageSkia(source.release(), dst_size));
}
+void GetAvatarIconAsSquare(const SkBitmap& source_bitmap,
+ int scale_factor,
+ SkBitmap& square_bitmap) {
+ if ((source_bitmap.width() == scale_factor * profiles::kAvatarIconWidth) &&
+ (source_bitmap.height() == scale_factor * profiles::kAvatarIconHeight)) {
+ // Shave a couple of columns so the |source_bitmap| is more square. So when
+ // resized to a square aspect ratio it looks pretty.
+ gfx::Rect frame(scale_factor * profiles::kAvatarIconWidth,
+ scale_factor * profiles::kAvatarIconHeight);
+ frame.Inset(scale_factor * 2, 0, scale_factor * 2, 0);
+ source_bitmap.extractSubset(&square_bitmap, gfx::RectToSkIRect(frame));
+ } else {
+ // If not the avatar icon's aspect ratio, the image should be square.
+ DCHECK(source_bitmap.width() == source_bitmap.height());
+ square_bitmap = source_bitmap;
+ }
+}
+
// Helper methods for accessing, transforming and drawing avatar icons.
size_t GetDefaultAvatarIconCount() {
return kDefaultAvatarIconsCount;

Powered by Google App Engine
This is Rietveld 408576698