Files
itgmania212121/stepmania/src/GroupList.h
T

68 lines
2.2 KiB
C++
Raw Normal View History

2004-06-07 21:14:03 +00:00
#ifndef GROUP_LIST_H
#define GROUP_LIST_H
2002-08-24 20:36:29 +00:00
#include "ActorFrame.h"
#include "Sprite.h"
#include "BitmapText.h"
2004-06-07 21:14:03 +00:00
class GroupList: public ActorFrame
{
2003-06-18 00:10:52 +00:00
ActorFrame m_Frame;
vector<Sprite *> m_sprButtons;
2003-07-26 09:53:15 +00:00
vector<BitmapText *> m_textLabels;
2003-09-03 06:47:10 +00:00
vector<ActorFrame *> m_ButtonFrames;
2003-07-26 09:53:15 +00:00
vector<CString> m_asLabels;
2002-08-24 20:36:29 +00:00
2003-06-18 00:10:52 +00:00
vector<bool> m_bHidden;
2002-08-24 20:36:29 +00:00
/* Currently selected label. */
2003-06-18 00:10:52 +00:00
int m_iSelection;
2002-08-24 20:36:29 +00:00
/* Label that's currently at the top of the screen. */
2003-06-18 00:10:52 +00:00
int m_iTop;
2002-08-24 20:36:29 +00:00
void BeforeChange();
void AfterChange();
2003-06-18 00:10:52 +00:00
bool ItemIsOnScreen( int n ) const;
void ResetTextSize( int item );
2002-08-24 20:36:29 +00:00
public:
GroupList();
2003-06-18 00:10:52 +00:00
~GroupList();
2002-08-24 20:36:29 +00:00
void SetSelection(unsigned sel);
2002-08-24 20:36:29 +00:00
int GetSelection() const { return m_iSelection; }
CString GetSelectionName() const { return m_asLabels[m_iSelection]; }
2002-08-24 20:36:29 +00:00
void Up();
void Down();
void Load( const CStringArray& asGroupNames );
2002-08-24 20:36:29 +00:00
void TweenOffScreen();
void TweenOnScreen();
};
2002-11-16 08:55:46 +00:00
#endif
2004-06-07 21:14:03 +00:00
/*
* (c) 2001-2003 Chris Danford, Glenn Maynard
* All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, and/or sell copies of the Software, and to permit persons to
* whom the Software is furnished to do so, provided that the above
* copyright notice(s) and this permission notice appear in all copies of
* the Software and that both the above copyright notice(s) and this
* permission notice appear in supporting documentation.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT
* OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
* OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/