[email protected] | 4b7a2aa | 2011-12-06 03:46:22 | [diff] [blame] | 1 | // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
[email protected] | f7be2197b | 2010-04-23 00:20:44 | [diff] [blame] | 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" | ||||
[email protected] | be74fb5 | 2013-01-14 19:45:34 | [diff] [blame] | 9 | #include "third_party/skia/include/core/SkBitmap.h" |
10 | #include "ui/gfx/icon_util.h" | ||||
[email protected] | f7be2197b | 2010-04-23 00:20:44 | [diff] [blame] | 11 | |
12 | #if defined(GOOGLE_CHROME_BUILD) | ||||
[email protected] | 4b7a2aa | 2011-12-06 03:46:22 | [diff] [blame] | 13 | #include "chrome/installer/util/install_util.h" |
[email protected] | f7be2197b | 2010-04-23 00:20:44 | [diff] [blame] | 14 | #endif |
15 | |||||
[email protected] | be74fb5 | 2013-01-14 19:45:34 | [diff] [blame] | 16 | namespace { |
17 | |||||
18 | // Returns the resource id of the application icon. | ||||
19 | int GetAppIconResourceId() { | ||||
[email protected] | f7be2197b | 2010-04-23 00:20:44 | [diff] [blame] | 20 | int icon_id = IDR_MAINFRAME; |
21 | #if defined(GOOGLE_CHROME_BUILD) | ||||
[email protected] | 4b7a2aa | 2011-12-06 03:46:22 | [diff] [blame] | 22 | if (InstallUtil::IsChromeSxSProcess()) |
[email protected] | fc8a93c | 2010-05-03 17:55:11 | [diff] [blame] | 23 | icon_id = IDR_SXS; |
[email protected] | f7be2197b | 2010-04-23 00:20:44 | [diff] [blame] | 24 | #endif |
[email protected] | be74fb5 | 2013-01-14 19:45:34 | [diff] [blame] | 25 | return icon_id; |
26 | } | ||||
27 | |||||
28 | } // namespace | ||||
29 | |||||
30 | HICON GetAppIcon() { | ||||
31 | const int icon_id = GetAppIconResourceId(); | ||||
[email protected] | f7be2197b | 2010-04-23 00:20:44 | [diff] [blame] | 32 | return LoadIcon(GetModuleHandle(chrome::kBrowserResourcesDll), |
33 | MAKEINTRESOURCE(icon_id)); | ||||
34 | } | ||||
[email protected] | 4b7a2aa | 2011-12-06 03:46:22 | [diff] [blame] | 35 | |
tmoniuszko | cd5b3ee | 2014-12-15 08:51:04 | [diff] [blame] | 36 | HICON GetSmallAppIcon() { |
37 | const int icon_id = GetAppIconResourceId(); | ||||
38 | return static_cast<HICON>(LoadImage( | ||||
39 | GetModuleHandle(chrome::kBrowserResourcesDll), MAKEINTRESOURCE(icon_id), | ||||
40 | IMAGE_ICON, GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), | ||||
41 | LR_DEFAULTCOLOR)); | ||||
42 | } | ||||
43 | |||||
[email protected] | be74fb5 | 2013-01-14 19:45:34 | [diff] [blame] | 44 | scoped_ptr<SkBitmap> GetAppIconForSize(int size) { |
45 | const int icon_id = GetAppIconResourceId(); | ||||
46 | return IconUtil::CreateSkBitmapFromIconResource( | ||||
47 | GetModuleHandle(chrome::kBrowserResourcesDll), icon_id, size); | ||||
[email protected] | 4b7a2aa | 2011-12-06 03:46:22 | [diff] [blame] | 48 | } |