1 // Copyright (c) 2006-2008 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.
5 #ifndef APP_GFX_FAVICON_SIZE_H_
6 #define APP_GFX_FAVICON_SIZE_H_
8 #include "base/compiler_specific.h"
10 // Size (along each axis) of the favicon.
11 const int kFavIconSize
= 16;
13 // If the width or height is bigger than the favicon size, a new width/height
14 // is calculated and returned in width/height that maintains the aspect
15 // ratio of the supplied values.
16 static void calc_favicon_target_size(int* width
, int* height
) ALLOW_UNUSED
;
19 void calc_favicon_target_size(int* width
, int* height
) {
20 if (*width
> kFavIconSize
|| *height
> kFavIconSize
) {
21 // Too big, resize it maintaining the aspect ratio.
22 float aspect_ratio
= static_cast<float>(*width
) /
23 static_cast<float>(*height
);
24 *height
= kFavIconSize
;
25 *width
= static_cast<int>(aspect_ratio
* *height
);
26 if (*width
> kFavIconSize
) {
27 *width
= kFavIconSize
;
28 *height
= static_cast<int>(*width
/ aspect_ratio
);
33 #endif // APP_GFX_FAVICON_SIZE_H_