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

Side by Side Diff: components/favicon_base/select_favicon_frames.h

Issue 335233003: Convert ui::ScaleFactor -> float in favicon/history code (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix size_t Created 6 years, 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef COMPONENTS_FAVICON_BASE_SELECT_FAVICON_FRAMES_H_ 5 #ifndef COMPONENTS_FAVICON_BASE_SELECT_FAVICON_FRAMES_H_
6 #define COMPONENTS_FAVICON_BASE_SELECT_FAVICON_FRAMES_H_ 6 #define COMPONENTS_FAVICON_BASE_SELECT_FAVICON_FRAMES_H_
7 7
8 #include <vector> 8 #include <vector>
9 9
10 #include "ui/base/layout.h" 10 #include "base/basictypes.h"
11 11
12 class SkBitmap; 12 class SkBitmap;
13 13
14 namespace gfx { 14 namespace gfx {
15 class ImageSkia; 15 class ImageSkia;
16 class Size; 16 class Size;
17 } 17 }
18 18
19 // Score which is smaller than the minimum score returned by 19 // Score which is smaller than the minimum score returned by
20 // SelectFaviconFrames() or SelectFaviconFrameIndices(). 20 // SelectFaviconFrames() or SelectFaviconFrameIndices().
21 extern const float kSelectFaviconFramesInvalidScore; 21 extern const float kSelectFaviconFramesInvalidScore;
22 22
23 // Takes a list of all bitmaps found in a .ico file, and creates an 23 // Takes a list of all bitmaps found in a .ico file, and creates an
24 // ImageSkia that's |desired_size_in_dip| x |desired_size_in_dip| big. This 24 // ImageSkia that's |desired_size_in_dip| x |desired_size_in_dip| big. This
25 // function adds a representation at every desired scale factor. 25 // function adds a representation at every entry in |favicon_scales|.
26 // If |desired_size_in_dip| is 0, the largest bitmap is returned unmodified. 26 // If |desired_size_in_dip| is 0, the largest bitmap is returned unmodified.
27 // |original_sizes| are the original sizes of the bitmaps. (For instance, 27 // |original_sizes| are the original sizes of the bitmaps. (For instance,
28 // WebContents::DownloadImage() does resampling if it is passed a max size.) 28 // WebContents::DownloadImage() does resampling if it is passed a max size.)
29 // If score is non-NULL, it receives a score between 0 (bad) and 1 (good) 29 // If score is non-NULL, it receives a score between 0 (bad) and 1 (good)
30 // that describes how well |bitmaps| were able to produce an image at 30 // that describes how well |bitmaps| were able to produce an image at
31 // |desired_size_in_dip| for |scale_factors|. 31 // |desired_size_in_dip| for |favicon_scales|.
32 // The score is arbitrary, but it's best for exact size matches, 32 // The score is arbitrary, but it's best for exact size matches,
33 // and gets worse the more resampling needs to happen. 33 // and gets worse the more resampling needs to happen.
34 // If the resampling algorithm is modified, the resampling done in 34 // If the resampling algorithm is modified, the resampling done in
35 // FaviconUtil::SelectFaviconFramesFromPNGs() should probably be modified too as 35 // FaviconUtil::SelectFaviconFramesFromPNGs() should probably be modified too as
36 // it inspired by this method. 36 // it inspired by this method.
37 gfx::ImageSkia SelectFaviconFrames( 37 gfx::ImageSkia SelectFaviconFrames(const std::vector<SkBitmap>& bitmaps,
38 const std::vector<SkBitmap>& bitmaps, 38 const std::vector<gfx::Size>& original_sizes,
39 const std::vector<gfx::Size>& original_sizes, 39 const std::vector<float>& favicon_scales,
40 const std::vector<ui::ScaleFactor>& scale_factors, 40 int desired_size_in_dip,
41 int desired_size_in_dip, 41 float* score);
42 float* score);
43 42
44 // Takes a list of the pixel sizes of a favicon's favicon bitmaps and returns 43 // Takes a list of the pixel sizes of a favicon's favicon bitmaps and returns
45 // the indices of the best sizes to use to create an ImageSkia with 44 // the indices of the best sizes to use to create an ImageSkia with
46 // ImageSkiaReps with edge sizes |desired_sizes|. If '0' is one of 45 // ImageSkiaReps with edge sizes |desired_sizes|. If '0' is one of
47 // |desired_sizes|, the index of the largest size is returned. If |score| is 46 // |desired_sizes|, the index of the largest size is returned. If |score| is
48 // non-NULL, |score| is set to a value between 0 (bad) and 1 (good) that 47 // non-NULL, |score| is set to a value between 0 (bad) and 1 (good) that
49 // describes how well the bitmap data with the sizes at |best_indices| will 48 // describes how well the bitmap data with the sizes at |best_indices| will
50 // produce the ImageSkia. The score is arbitrary, but it's best for exact 49 // produce the ImageSkia. The score is arbitrary, but it's best for exact
51 // matches, and gets worse the more resampling needs to happen. 50 // matches, and gets worse the more resampling needs to happen.
52 // TODO(pkotwicz): Change API so that |desired_sizes| being empty indicates 51 // TODO(pkotwicz): Change API so that |desired_sizes| being empty indicates
53 // that the index of the largest size is requested. 52 // that the index of the largest size is requested.
54 // TODO(pkotwicz): Remove callers of this method for which |frame_pixel_sizes| 53 // TODO(pkotwicz): Remove callers of this method for which |frame_pixel_sizes|
55 // are the sizes of the favicon bitmaps after they were resized. 54 // are the sizes of the favicon bitmaps after they were resized.
56 void SelectFaviconFrameIndices( 55 void SelectFaviconFrameIndices(const std::vector<gfx::Size>& frame_pixel_sizes,
57 const std::vector<gfx::Size>& frame_pixel_sizes, 56 const std::vector<int>& desired_sizes,
58 const std::vector<int>& desired_sizes, 57 std::vector<size_t>* best_indices,
59 std::vector<size_t>* best_indices, 58 float* score);
60 float* score);
61 59
62 #endif // COMPONENTS_FAVICON_BASE_SELECT_FAVICON_FRAMES_H_ 60 #endif // COMPONENTS_FAVICON_BASE_SELECT_FAVICON_FRAMES_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698