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

Side by Side Diff: webkit/glue/image_decoder.h

Issue 10853010: Add webkit/ api to request all frames in an image. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 4 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 (c) 2011 The Chromium Authors. All rights reserved. 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 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 #include <vector>
6
5 #include "base/basictypes.h" 7 #include "base/basictypes.h"
6 #include "ui/gfx/size.h" 8 #include "ui/gfx/size.h"
7 #include "webkit/glue/webkit_glue_export.h" 9 #include "webkit/glue/webkit_glue_export.h"
8 10
9 class SkBitmap; 11 class SkBitmap;
10 12
11 namespace webkit_glue { 13 namespace webkit_glue {
12 14
13 // Provides an interface to WebKit's image decoders. 15 // Provides an interface to WebKit's image decoders.
14 // 16 //
15 // Note to future: This class should be deleted. We should have our own nice 17 // Note to future: This class should be deleted. We should have our own nice
16 // image decoders in base/gfx, and our port should use those. Currently, it's 18 // image decoders in base/gfx, and our port should use those. Currently, it's
17 // the other way around. 19 // the other way around.
18 class WEBKIT_GLUE_EXPORT ImageDecoder { 20 class WEBKIT_GLUE_EXPORT ImageDecoder {
19 public: 21 public:
20 // Use the constructor with desired_size when you think you may have an .ico 22 // Use the constructor with desired_size when you think you may have an .ico
21 // format and care about which size you get back. Otherwise, use the 0-arg 23 // format and care about which size you get back. Otherwise, use the 0-arg
22 // constructor. 24 // constructor.
23 ImageDecoder(); 25 ImageDecoder();
24 ImageDecoder(const gfx::Size& desired_icon_size); 26 ImageDecoder(const gfx::Size& desired_icon_size);
25 ~ImageDecoder(); 27 ~ImageDecoder();
26 28
27 // Call this function to decode the image. If successful, the decoded image 29 // Call this function to decode the image. If successful, the decoded image
28 // will be returned. Otherwise, an empty bitmap will be returned. 30 // will be returned. Otherwise, an empty bitmap will be returned.
29 SkBitmap Decode(const unsigned char* data, size_t size) const; 31 SkBitmap Decode(const unsigned char* data, size_t size) const;
30 32
33 // Returns all frames found in the image represented by data. If there are
34 // multiple frames at the same size, only the first one is returned.
35 static std::vector<SkBitmap> DecodeAll(
36 const unsigned char* data, size_t size);
37
31 private: 38 private:
32 // Size will be empty to get the largest possible size. 39 // Size will be empty to get the largest possible size.
33 gfx::Size desired_icon_size_; 40 gfx::Size desired_icon_size_;
34 41
35 DISALLOW_COPY_AND_ASSIGN(ImageDecoder); 42 DISALLOW_COPY_AND_ASSIGN(ImageDecoder);
36 }; 43 };
37 44
38 } // namespace webkit_glue 45 } // namespace webkit_glue
OLDNEW
« no previous file with comments | « no previous file | webkit/glue/image_decoder.cc » ('j') | webkit/glue/multi_resolution_image_resource_fetcher.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698