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

ScrollingList.h

Go to the documentation of this file.
00001 /* ScrollingList - An array of scrolling graphics. */ 00002 00003 #ifndef SCROLLINGLIST_H 00004 #define SCROLLINGLIST_H 00005 00006 #include "ActorFrame.h" 00007 #include "Sprite.h" 00008 00009 00010 class ScrollingList : public ActorFrame 00011 { 00012 public: 00013 ScrollingList(); 00014 ~ScrollingList(); 00015 00016 void Load( const CStringArray& asGraphicPaths ); 00017 void Unload(); // delete all items. Called automatically on Load() 00018 00019 virtual void Update( float fDeltaTime ); 00020 virtual void DrawPrimitives(); 00021 00022 void Replace(CString sGraphicPath, int ElementNumber); 00023 00024 void SetSelection( int iIndex ); 00025 int GetSelection(); 00026 void SetNumberVisible( int iNumVisibleElements ); 00027 void SetSpacing( int iSpacingInPixels ); 00028 void UseSpriteType(int NewSpriteType); 00029 void StartBouncing(); 00030 void StopBouncing(); 00031 void Left(); 00032 void Right(); 00033 00034 protected: 00035 00036 int m_iBouncingState; 00037 int m_iBounceDir; 00038 int m_iBounceWait; 00039 float m_iBounceSize; 00040 00041 00042 int m_iBannerPrefs; 00043 int m_iSpriteType; 00044 int m_iSelection; 00045 float m_fSelectionLag; 00046 int m_iSpacing; 00047 int m_iNumVisible; 00048 float m_fNextTween; 00049 Sprite m_sprBannerMask; 00050 Sprite m_RippleCSprite; 00051 Sprite m_RippleSprite; 00052 00053 vector<Sprite*> m_apSprites; // stores the list of elements (left to right) 00054 vector<Sprite*> m_apCSprites; // stores the list of elements (left to right) 00055 }; 00056 00057 #endif 00058 00059 /* 00060 * (c) 2001-2003 "Frieza" 00061 * All rights reserved. 00062 * 00063 * Permission is hereby granted, free of charge, to any person obtaining a 00064 * copy of this software and associated documentation files (the 00065 * "Software"), to deal in the Software without restriction, including 00066 * without limitation the rights to use, copy, modify, merge, publish, 00067 * distribute, and/or sell copies of the Software, and to permit persons to 00068 * whom the Software is furnished to do so, provided that the above 00069 * copyright notice(s) and this permission notice appear in all copies of 00070 * the Software and that both the above copyright notice(s) and this 00071 * permission notice appear in supporting documentation. 00072 * 00073 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 00074 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 00075 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF 00076 * THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS 00077 * INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT 00078 * OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS 00079 * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 00080 * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 00081 * PERFORMANCE OF THIS SOFTWARE. 00082 */

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