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

Side by Side Diff: chrome/common/extensions/extension_icon_set.h

Issue 10843014: Generalize ExtensionIconSet to store icon paths for custom size sets (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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 CHROME_COMMON_EXTENSIONS_EXTENSION_ICON_SET_H_ 5 #ifndef CHROME_COMMON_EXTENSIONS_EXTENSION_ICON_SET_H_
6 #define CHROME_COMMON_EXTENSIONS_EXTENSION_ICON_SET_H_ 6 #define CHROME_COMMON_EXTENSIONS_EXTENSION_ICON_SET_H_
7 7
8 #include <map> 8 #include <map>
9 #include <string> 9 #include <string>
10 10
11 // Represents the set of icons for an extension. 11 // Represents the set of icons for an extension.
12 class ExtensionIconSet { 12 class ExtensionIconSet {
13 public: 13 public:
14 // NOTE: If you change this list, you should also change kIconSizes in the cc 14 // NOTE: If you change this list, you should also change kExtensionIconSizes
15 // file. 15 // in extension_constants.cc.
16 enum Icons { 16 enum ExtensionIcons {
Aaron Boodman 2012/08/13 23:33:25 Can you move this enum to extension_constants, too
tbarzic 2012/08/14 18:06:57 Done.
17 EXTENSION_ICON_GIGANTOR = 512, 17 EXTENSION_ICON_GIGANTOR = 512,
18 EXTENSION_ICON_EXTRA_LARGE = 256, 18 EXTENSION_ICON_EXTRA_LARGE = 256,
19 EXTENSION_ICON_LARGE = 128, 19 EXTENSION_ICON_LARGE = 128,
20 EXTENSION_ICON_MEDIUM = 48, 20 EXTENSION_ICON_MEDIUM = 48,
21 EXTENSION_ICON_SMALL = 32, 21 EXTENSION_ICON_SMALL = 32,
22 EXTENSION_ICON_SMALLISH = 24, 22 EXTENSION_ICON_SMALLISH = 24,
23 EXTENSION_ICON_BITTY = 16, 23 EXTENSION_ICON_BITTY = 16,
24 EXTENSION_ICON_INVALID = 0, 24 EXTENSION_ICON_INVALID = 0,
25 }; 25 };
26 26
27 // Get an icon from the set, optionally falling back to a smaller or bigger 27 // Get an icon from the set, optionally falling back to a smaller or bigger
28 // size. MatchType is exclusive (do not OR them together). 28 // size. MatchType is exclusive (do not OR them together).
29 enum MatchType { 29 enum MatchType {
30 MATCH_EXACTLY, 30 MATCH_EXACTLY,
31 MATCH_BIGGER, 31 MATCH_BIGGER,
32 MATCH_SMALLER 32 MATCH_SMALLER
33 }; 33 };
34 34
35 // Access to the underlying map from icon size->path. 35 // Access to the underlying map from icon size->{path, bitmap}.
36 typedef std::map<Icons, std::string> IconMap; 36 typedef std::map<int, std::string> IconMap;
37
38 // Icon sizes used by the extension system.
39 static const Icons kIconSizes[];
40 static const size_t kNumIconSizes;
41 37
42 ExtensionIconSet(); 38 ExtensionIconSet();
43 ~ExtensionIconSet(); 39 ~ExtensionIconSet();
44 40
45 const IconMap& map() const { return map_; } 41 const IconMap& map() const { return map_; }
46 42
47 // Remove all icons from the set. 43 // Remove all icons from the set.
48 void Clear(); 44 void Clear();
49 45
50 // Add an icon to the set. If the specified size is already present, it is 46 // Add an icon path to the set. If a path for the specified size is already
51 // overwritten. 47 // present, it is overwritten.
52 void Add(Icons size, const std::string& path); 48 void Add(int size, const std::string& path);
53 49
50 // Gets path value of the icon found when searching for |size| using
51 // |mathc_type|.
54 std::string Get(int size, MatchType match_type) const; 52 std::string Get(int size, MatchType match_type) const;
55 53
56 // Returns true if the set contains the specified path. 54 // Returns true iff the set contains the specified path.
57 bool ContainsPath(const std::string& path) const; 55 bool ContainsPath(const std::string& path) const;
58 56
59 // Returns icon size if the set contains the specified path or 0 if not found. 57 // Returns icon size if the set contains the specified path or 0 if not found.
60 Icons GetIconSizeFromPath(const std::string& path) const; 58 int GetIconSizeFromPath(const std::string& path) const;
61 59
62 private: 60 private:
63 IconMap map_; 61 IconMap map_;
64 }; 62 };
65 63
66 #endif // CHROME_COMMON_EXTENSIONS_EXTENSION_ICON_SET_H_ 64 #endif // CHROME_COMMON_EXTENSIONS_EXTENSION_ICON_SET_H_
OLDNEW
« no previous file with comments | « chrome/common/extensions/extension_constants.cc ('k') | chrome/common/extensions/extension_icon_set.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698