/**************************************************************************** * Copyright (C) 2012 Dimok * * This program 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. * * This program 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 this program. If not, see . ****************************************************************************/ #ifndef BANNERWINDOW_HPP_ #define BANNERWINDOW_HPP_ #include #include "disc.h" #include "AnimatedBanner.h" #include "gui_sound.h" #include "video.hpp" #include "channel/banner.h" #define FAVORITE_STARS 5 class BannerWindow { public: BannerWindow(); void DeleteBanner(); void LoadBanner(Banner *banner, CVideo *vid, u8 *font1, u8 *font2); int GetSelectedGame() { return gameSelected; } void Draw(void); void ZoomIn(void); void PauseZoom(void); void ZoomOut(void); protected: int MainLoop(); void Animate(void); void ChangeGame(Banner *banner); void DrawRectangle(f32 x, f32 y, f32 width, f32 height, GXColor color, u8 filled); void ReSetup_GX(void); static const float fBannerWidth = 608.f; static const float fBannerHeight = 448.f; static const float fIconWidth = 128.f; static const float fIconHeight = 96.f; CVideo *video; bool reducedVol; int returnVal; int gameSelected; dir_discHdr dvdheader; int MaxAnimSteps; int AnimStep; float AnimPosX, AnimPosY; float fAnimScale; bool AnimZoomIn; bool AnimZoomOut; bool AnimationRunning; bool oldAnimationRunning; u8 BGAlpha; u8 BannerAlpha; Mtx modelview; Mtx44 projection; Mtx44 originalProjection; Vec2f ScreenProps; AnimatedBanner *gameBanner; u8 *sysFont1; u8 *sysFont2; }; #endif