blob: fd267830420c09a6d94018fa028ad3a27c4b39a0 [file] [log] [blame]
// Copyright 2014 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 "ash/frame/frame_util.h"
#include "ash/session/session_state_delegate.h"
#include "ash/session/user_info.h"
#include "ash/shell.h"
#include "grit/ash_resources.h"
#include "ui/base/resource/resource_bundle.h"
#include "ui/gfx/image/image_skia.h"
#include "ui/gfx/image/image_skia_operations.h"
namespace ash {
gfx::Image GetAvatarImageForContext(content::BrowserContext* context) {
static const gfx::ImageSkia* holder =
ui::ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
IDR_AVATAR_HOLDER);
static const gfx::ImageSkia* holder_mask =
ui::ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
IDR_AVATAR_HOLDER_MASK);
gfx::ImageSkia user_image = Shell::GetInstance()
->session_state_delegate()
->GetUserInfo(context)
->GetImage();
gfx::ImageSkia resized = gfx::ImageSkiaOperations::CreateResizedImage(
user_image, skia::ImageOperations::RESIZE_BEST, holder->size());
gfx::ImageSkia masked =
gfx::ImageSkiaOperations::CreateMaskedImage(resized, *holder_mask);
gfx::ImageSkia result =
gfx::ImageSkiaOperations::CreateSuperimposedImage(*holder, masked);
return gfx::Image(result);
}
} // namespace ash