retdec
resource_icon_group.h
Go to the documentation of this file.
1 
7 #ifndef RETDEC_FILEFORMAT_TYPES_RESOURCE_TABLE_RESOURCE_ICON_GROUP_H
8 #define RETDEC_FILEFORMAT_TYPES_RESOURCE_TABLE_RESOURCE_ICON_GROUP_H
9 
12 
13 namespace retdec {
14 namespace fileformat {
15 
20 {
21  private:
22  std::vector<ResourceIcon *> icons;
23  size_t iconGroupID = 0;
24 
27  std::size_t getEntryOffset(std::size_t eIndex) const;
29 
30  public:
33  std::size_t getNumberOfIcons() const;
34  const ResourceIcon *getIcon(std::size_t iIndex) const;
35  const ResourceIcon *getPriorIcon() const;
36  std::size_t getIconGroupID() const;
38 
41  bool getNumberOfEntries(std::size_t &nEntries) const;
42  bool getEntryNameID(std::size_t eIndex, std::size_t &nameID) const;
43  bool getEntryWidth(std::size_t eIndex, std::uint16_t &width) const;
44  bool getEntryHeight(std::size_t eIndex, std::uint16_t &height) const;
45  bool getEntryIconSize(std::size_t eIndex, std::size_t &iconSize) const;
46  bool getEntryColorCount(std::size_t eIndex, std::uint8_t &colorCount) const;
47  bool getEntryPlanes(std::size_t eIndex, std::uint16_t &planes) const;
48  bool getEntryBitCount(std::size_t eIndex, std::uint16_t &bitCount) const;
50 
53  void setIconGroupID(std::size_t id);
55 
58  bool hasIcons() const;
59  void addIcon(ResourceIcon *icon);
61 };
62 
63 } // namespace fileformat
64 } // namespace retdec
65 
66 #endif
Definition: resource_icon_group.h:20
void setIconGroupID(std::size_t id)
Definition: resource_icon_group.cpp:295
const ResourceIcon * getIcon(std::size_t iIndex) const
Definition: resource_icon_group.cpp:97
bool hasIcons() const
Definition: resource_icon_group.cpp:304
std::size_t getNumberOfIcons() const
Definition: resource_icon_group.cpp:87
void addIcon(ResourceIcon *icon)
Definition: resource_icon_group.cpp:312
std::size_t getEntryOffset(std::size_t eIndex) const
Definition: resource_icon_group.cpp:78
size_t iconGroupID
icon group id
Definition: resource_icon_group.h:23
bool getNumberOfEntries(std::size_t &nEntries) const
Definition: resource_icon_group.cpp:137
bool getEntryPlanes(std::size_t eIndex, std::uint16_t &planes) const
Definition: resource_icon_group.cpp:257
std::vector< ResourceIcon * > icons
stored icons
Definition: resource_icon_group.h:22
bool getEntryHeight(std::size_t eIndex, std::uint16_t &height) const
Definition: resource_icon_group.cpp:197
const ResourceIcon * getPriorIcon() const
Definition: resource_icon_group.cpp:111
bool getEntryBitCount(std::size_t eIndex, std::uint16_t &bitCount) const
Definition: resource_icon_group.cpp:277
bool getEntryWidth(std::size_t eIndex, std::uint16_t &width) const
Definition: resource_icon_group.cpp:177
bool getEntryNameID(std::size_t eIndex, std::size_t &nameID) const
Definition: resource_icon_group.cpp:157
bool getEntryColorCount(std::size_t eIndex, std::uint8_t &colorCount) const
Definition: resource_icon_group.cpp:237
bool getEntryIconSize(std::size_t eIndex, std::size_t &iconSize) const
Definition: resource_icon_group.cpp:217
std::size_t getIconGroupID() const
Definition: resource_icon_group.cpp:127
Definition: resource_icon.h:18
Definition: resource.h:24
Class for one resource.
Definition: archive_wrapper.h:19
Class for one resource icon.