00001 /* ScreenSelectGroup - Set the current song group from a list. */ 00002 00003 #ifndef SCREEN_SELECT_GROUP_H 00004 #define SCREEN_SELECT_GROUP_H 00005 00006 #include "ScreenWithMenuElements.h" 00007 #include "Sprite.h" 00008 #include "RandomSample.h" 00009 #include "FadingBanner.h" 00010 #include "MusicList.h" 00011 #include "GroupList.h" 00012 00013 00014 class ScreenSelectGroup : public ScreenWithMenuElements 00015 { 00016 public: 00017 ScreenSelectGroup( CString sName ); 00018 00019 virtual void DrawPrimitives(); 00020 virtual void Input( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI ); 00021 virtual void HandleScreenMessage( const ScreenMessage SM ); 00022 00023 void AfterChange(); 00024 00025 void MenuLeft( PlayerNumber pn ); 00026 void MenuRight( PlayerNumber pn ); 00027 void MenuUp( PlayerNumber pn ); 00028 void MenuDown( PlayerNumber pn ); 00029 void MenuStart( PlayerNumber pn ); 00030 void MenuBack( PlayerNumber pn ); 00031 00032 void TweenOffScreen(); 00033 void TweenOnScreen(); 00034 00035 private: 00036 00037 Sprite m_sprExplanation; 00038 Sprite m_sprFrame; 00039 FadingBanner m_Banner; 00040 BitmapText m_textNumber; 00041 Sprite m_sprContents; 00042 00043 MusicList m_MusicList; 00044 GroupList m_GroupList; 00045 00046 RandomSample m_soundChange; 00047 00048 bool m_bChosen; 00049 }; 00050 00051 #endif 00052 00053 /* 00054 * (c) 2001-2004 Chris Danford 00055 * All rights reserved. 00056 * 00057 * Permission is hereby granted, free of charge, to any person obtaining a 00058 * copy of this software and associated documentation files (the 00059 * "Software"), to deal in the Software without restriction, including 00060 * without limitation the rights to use, copy, modify, merge, publish, 00061 * distribute, and/or sell copies of the Software, and to permit persons to 00062 * whom the Software is furnished to do so, provided that the above 00063 * copyright notice(s) and this permission notice appear in all copies of 00064 * the Software and that both the above copyright notice(s) and this 00065 * permission notice appear in supporting documentation. 00066 * 00067 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 00068 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 00069 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF 00070 * THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS 00071 * INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT 00072 * OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS 00073 * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 00074 * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 00075 * PERFORMANCE OF THIS SOFTWARE. 00076 */