#ifndef ATHENA_NO_SAVES // This file is part of libAthena. // // libAthena is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // libAthena is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with libAthena. If not, see #ifndef WIIBANNER_H #define WIIBANNER_H #include #include #include "Athena/Global.hpp" namespace Athena { class WiiImage; /*! \class WiiBanner * \brief Wii banner container class * * Contains all relevant data for a Wii banner. */ class WiiBanner { public: enum { NoCopy = 0x00000001, Bounce = 0x00000010, NoCopyBounce = NoCopy | Bounce }; /*! * \brief WiiBanner */ WiiBanner(); /*! * \brief WiiBanner * \param gameId * \param title * \param subtitle * \param m_banner * \param icons */ WiiBanner(atUint32 gameId, const std::string& title, const std::string& subtitle, WiiImage* m_banner, std::vector icons); virtual ~WiiBanner(); /*! * \brief setGameID * \param id */ void setGameID(atUint64 id); /*! * \brief gameID * \return */ atUint64 gameID() const; /*! * \brief setBannerImage * \param banner */ void setBannerImage(WiiImage* banner); /*! * \brief bannerImage * \return */ WiiImage* bannerImage() const; /*! * \brief setBannerSize * \param size */ void setBannerSize(atUint32 size); /*! * \brief bannerSize * \return */ atUint32 bannerSize() const; /*! * \brief setTitle * \param title */ void setTitle(const std::string& title); /*! * \brief title * \return */ std::string title() const; /*! * \brief setSubtitle * \param subtitle */ void setSubtitle(const std::string& subtitle); /*! * \brief subtitle * \return */ std::string subtitle() const; /*! * \brief addIcon * \param icon */ void addIcon(WiiImage* icon); /*! * \brief setIcon * \param id * \param icon */ void setIcon(atUint32 id, WiiImage* icon); /*! * \brief getIcon * \param id * \return */ WiiImage* getIcon(atUint32 id) const; /*! * \brief icons * \return */ std::vector icons() const; /*! * \brief setAnimationSpeed * \param animSpeed */ void setAnimationSpeed(atUint16 animSpeed); /*! * \brief animationSpeed * \return */ atUint16 animationSpeed() const; /*! * \brief setPermissions * \param permissions */ void setPermissions(atUint8 permissions); /*! * \brief permissions * \return */ atUint8 permissions() const; /*! * \brief setFlags * \param flags */ void setFlags(atUint32 flags); /*! * \brief flags * \return */ atUint32 flags() const; protected: private: atUint64 m_gameId; WiiImage* m_banner; atUint32 m_animSpeed; atUint8 m_permissions; atUint32 m_flags; atUint32 m_bannerSize; std::vector m_icons; std::string m_title; std::string m_subtitle; }; } // zelda #endif // WIIBANNER_H #endif // ATHENA_NO_SAVES