Files
wagic/projects/mtg/include/DeckMenu.h
techdragon.nguyen@gmail.com e53c16f700 No code change just reformatting of header files.
finishing up my reformatting of the source from November/December following the guidelines that were posted.
some extra things I added:
   * Any empty virtual declarations were kept to one line.  
   * Enums were split up into separate lines to promote uniformity across all headers. ( each header file had a different style for enums)
2011-01-21 18:01:14 +00:00

85 lines
2.0 KiB
C++

/*
A class for menus with a fixed layout
*/
#ifndef _DeckMenu_H_
#define _DeckMenu_H_
#include <string>
#include "WFont.h"
#include "hge/hgeparticle.h"
#include "DeckMetaData.h"
#include "TextScroller.h"
class DeckMenu: public JGuiController
{
protected:
float mHeight, mWidth, mX, mY;
float titleX, titleY, titleWidth;
float descX, descY, descHeight, descWidth;
float statsX, statsY, statsHeight, statsWidth;
float avatarX, avatarY;
float detailedInfoBoxX, detailedInfoBoxY;
float starsOffsetX;
bool menuInitialized;
string backgroundName;
int fontId;
string title;
string displayTitle;
WFont * mFont;
float titleFontScale;
int maxItems, startId;
float selectionT, selectionY;
float timeOpen;
static hgeParticleSystem* stars;
void initMenuItems();
string getDescription();
string getMetaInformation();
DeckMetaData *mSelectedDeck;
int mSelectedDeckId;
bool mShowDetailsScreen;
bool mAlwaysShowDetailsButton;
bool mClosed;
public:
VerticalTextScroller * mScroller;
bool mAutoTranslate;
float mSelectionTargetY;
//used for detailed info button
JQuad * pspIcons[8];
JTexture * pspIconsTexture;
DeckMenu(int id, JGuiListener* listener, int fontId, const string _title = "", const int& startIndex = 0, bool alwaysShowDetailsButton = false);
~DeckMenu();
DeckMetaData * getSelectedDeck();
void enableDisplayDetailsOverride();
bool showDetailsScreen();
bool isClosed()
{
return mClosed;
}
int getSelectedDeckId()
{
return mSelectedDeckId;
}
void Render();
void Update(float dt);
void Add(int id, const char * Text, string desc = "", bool forceFocus = false, DeckMetaData *deckMetaData = NULL);
void Close();
void updateScroller();
void RenderBackground();
static void destroy();
};
#endif