Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

MusicWheelItem.h

Go to the documentation of this file.
00001 /* MusicWheelItem - An item on the music wheel. */ 00002 00003 #ifndef MUSICWHEELITEM_H 00004 #define MUSICWHEELITEM_H 00005 00006 #include "ActorFrame.h" 00007 #include "GradeDisplay.h" 00008 #include "BitmapText.h" 00009 #include "WheelNotifyIcon.h" 00010 #include "TextBanner.h" 00011 #include "GameConstantsAndTypes.h" 00012 #include "GameCommand.h" 00013 class Course; 00014 class Song; 00015 00016 struct WheelItemData; 00017 00018 class MusicWheelItem : public ActorFrame 00019 { 00020 public: 00021 MusicWheelItem(); 00022 00023 virtual void Update( float fDeltaTime ); 00024 virtual void DrawPrimitives(); 00025 virtual void SetZTestMode( ZTestMode mode ); 00026 virtual void SetZWrite( bool b ); 00027 00028 void LoadFromWheelItemData( WheelItemData* pWID ); 00029 void RefreshGrades(); 00030 00031 WheelItemData *data; 00032 float m_fPercentGray; 00033 00034 // for TYPE_SECTION and TYPE_ROULETTE 00035 Sprite m_sprSectionBar; 00036 // for TYPE_SECTION 00037 BitmapText m_textSectionName; 00038 // for TYPE_ROULETTE 00039 BitmapText m_textRoulette; 00040 00041 // for a TYPE_MUSIC 00042 Sprite m_sprSongBar; 00043 WheelNotifyIcon m_WheelNotifyIcon; 00044 TextBanner m_TextBanner; 00045 GradeDisplay m_GradeDisplay[NUM_PLAYERS]; 00046 00047 // for TYPE_COURSE 00048 BitmapText m_textCourse; 00049 00050 // for TYPE_SORT 00051 BitmapText m_textSort; 00052 ActorFrame m_All; 00053 }; 00054 00055 enum WheelItemType 00056 { 00057 TYPE_SECTION, 00058 TYPE_SONG, 00059 TYPE_ROULETTE, 00060 TYPE_RANDOM, 00061 TYPE_PORTAL, 00062 TYPE_COURSE, 00063 TYPE_SORT 00064 }; 00065 00066 struct WheelItemData 00067 { 00068 WheelItemData() {} 00069 WheelItemData( WheelItemType wit, Song* pSong, CString sSectionName, Course* pCourse, RageColor color ); 00070 00071 WheelItemType m_Type; 00072 CString m_sSectionName; 00073 Course* m_pCourse; 00074 Song* m_pSong; 00075 RageColor m_color; // either text color or section background color 00076 WheelNotifyIcon::Flags m_Flags; 00077 00078 // for TYPE_SORT 00079 CString m_sLabel; 00080 GameCommand m_Action; 00081 }; 00082 00083 #endif 00084 00085 /* 00086 * (c) 2001-2004 Chris Danford, Chris Gomez, Glenn Maynard 00087 * All rights reserved. 00088 * 00089 * Permission is hereby granted, free of charge, to any person obtaining a 00090 * copy of this software and associated documentation files (the 00091 * "Software"), to deal in the Software without restriction, including 00092 * without limitation the rights to use, copy, modify, merge, publish, 00093 * distribute, and/or sell copies of the Software, and to permit persons to 00094 * whom the Software is furnished to do so, provided that the above 00095 * copyright notice(s) and this permission notice appear in all copies of 00096 * the Software and that both the above copyright notice(s) and this 00097 * permission notice appear in supporting documentation. 00098 * 00099 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 00100 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 00101 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF 00102 * THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS 00103 * INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT 00104 * OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS 00105 * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 00106 * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 00107 * PERFORMANCE OF THIS SOFTWARE. 00108 */

Generated on Thu Jan 27 20:57:25 2005 for StepMania by doxygen 1.3.7