Athena IO Library
WiiBanner.hpp
1 #ifndef ATHENA_NO_SAVES
2 // This file is part of libAthena.
3 //
4 // libAthena is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // libAthena is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13 //
14 // You should have received a copy of the GNU General Public License
15 // along with libAthena. If not, see <http://www.gnu.org/licenses/>
16 
17 #ifndef WIIBANNER_H
18 #define WIIBANNER_H
19 
20 
21 #include <vector>
22 #include <string>
23 #include "Athena/Global.hpp"
24 
25 namespace Athena
26 {
27 class WiiImage;
33 class WiiBanner
34 {
35 public:
36  enum
37  {
38  NoCopy = 0x00000001,
39  Bounce = 0x00000010,
40  NoCopyBounce = NoCopy | Bounce
41  };
42 
46  WiiBanner();
55  WiiBanner(atUint32 gameId, const std::string& title, const std::string& subtitle, WiiImage* m_banner, std::vector<WiiImage*> icons);
56  virtual ~WiiBanner();
57 
62  void setGameID(atUint64 id);
63 
68  atUint64 gameID() const;
69 
74  void setBannerImage(WiiImage* banner);
75 
80  WiiImage* bannerImage() const;
81 
86  void setBannerSize(atUint32 size);
87 
92  atUint32 bannerSize() const;
93 
98  void setTitle(const std::string& title);
99 
104  std::string title() const;
105 
110  void setSubtitle(const std::string& subtitle);
111 
116  std::string subtitle() const;
117 
122  void addIcon(WiiImage* icon);
123 
129  void setIcon(atUint32 id, WiiImage* icon);
130 
136  WiiImage* getIcon(atUint32 id) const;
137 
142  std::vector<WiiImage*> icons() const;
143 
148  void setAnimationSpeed(atUint16 animSpeed);
149 
154  atUint16 animationSpeed() const;
155 
160  void setPermissions(atUint8 permissions);
161 
166  atUint8 permissions() const;
167 
172  void setFlags(atUint32 flags);
173 
178  atUint32 flags() const;
179 protected:
180 private:
181  atUint64 m_gameId;
182  WiiImage* m_banner;
183  atUint32 m_animSpeed;
184  atUint8 m_permissions;
185  atUint32 m_flags;
186  atUint32 m_bannerSize;
187  std::vector<WiiImage*> m_icons;
188  std::string m_title;
189  std::string m_subtitle;
190 };
191 } // zelda
192 
193 #endif // WIIBANNER_H
194 #endif // ATHENA_NO_SAVES
atUint32 flags() const
flags
The WiiImage class.
Definition: WiiImage.hpp:28
void setGameID(atUint64 id)
setGameID
std::string title() const
title
void setFlags(atUint32 flags)
setFlags
Wii banner container class.
Definition: WiiBanner.hpp:33
atUint64 gameID() const
gameID
void setAnimationSpeed(atUint16 animSpeed)
setAnimationSpeed
void setBannerImage(WiiImage *banner)
setBannerImage
void setSubtitle(const std::string &subtitle)
setSubtitle
WiiImage * getIcon(atUint32 id) const
getIcon
void setPermissions(atUint8 permissions)
setPermissions
void addIcon(WiiImage *icon)
addIcon
void setIcon(atUint32 id, WiiImage *icon)
setIcon
atUint16 animationSpeed() const
animationSpeed
atUint8 permissions() const
permissions
void setTitle(const std::string &title)
setTitle
atUint32 bannerSize() const
bannerSize
std::vector< WiiImage * > icons() const
icons
std::string subtitle() const
subtitle
void setBannerSize(atUint32 size)
setBannerSize
WiiBanner()
WiiBanner.
WiiImage * bannerImage() const
bannerImage