• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "chrome/browser/app_icon_win.h"
6 
7 #include "chrome/app/chrome_dll_resource.h"
8 #include "chrome/common/chrome_constants.h"
9 #include "third_party/skia/include/core/SkBitmap.h"
10 #include "ui/gfx/icon_util.h"
11 
12 #if defined(GOOGLE_CHROME_BUILD)
13 #include "chrome/installer/util/install_util.h"
14 #endif
15 
16 namespace {
17 
18 // Returns the resource id of the application icon.
GetAppIconResourceId()19 int GetAppIconResourceId() {
20   int icon_id = IDR_MAINFRAME;
21 #if defined(GOOGLE_CHROME_BUILD)
22   if (InstallUtil::IsChromeSxSProcess())
23     icon_id = IDR_SXS;
24 #endif
25   return icon_id;
26 }
27 
28 }  // namespace
29 
GetAppIcon()30 HICON GetAppIcon() {
31   const int icon_id = GetAppIconResourceId();
32   return LoadIcon(GetModuleHandle(chrome::kBrowserResourcesDll),
33                   MAKEINTRESOURCE(icon_id));
34 }
35 
GetAppIconForSize(int size)36 scoped_ptr<SkBitmap> GetAppIconForSize(int size) {
37   const int icon_id = GetAppIconResourceId();
38   return IconUtil::CreateSkBitmapFromIconResource(
39       GetModuleHandle(chrome::kBrowserResourcesDll), icon_id, size);
40 }
41