Files
wagic/projects/mtg/include/MenuItem.h
2011-08-14 14:42:37 +00:00

66 lines
1.4 KiB
C++

#ifndef _MENU_ITEM_H
#define _MENU_ITEM_H
#include "WFont.h"
#include <JGui.h>
#include <hge/hgeparticle.h>
#include <string>
using namespace std;
#define SCALE_SELECTED 1.2f
#define SCALE_NORMAL 1.0f
class hgeParticleSystem;
class MenuItem: public JGuiObject
{
protected:
bool mHasFocus;
WFont *mFont;
string mText;
float mX;
float mY;
int updatedSinceLastRender;
float lastDt;
float mScale;
float mTargetScale;
JQuad * onQuad;
JQuad * offQuad;
hgeParticleSystem* mParticleSys;
public:
MenuItem(int id, WFont *font, string text, float x, float y, JQuad * _off, JQuad * _on, const char * particle, JQuad * particleQuad, bool hasFocus = false);
~MenuItem();
virtual void Render();
virtual void Update(float dt);
virtual void Entering();
virtual bool Leaving(JButton key);
virtual bool ButtonPressed();
virtual bool getTopLeft(float& top, float& left)
{
top = mY;
left = mX;
return true;
}
;
virtual ostream& toString(ostream& out) const;
};
class OtherMenuItem: public MenuItem
{
private:
JButton mKey;
float mTimeIndex;
public:
OtherMenuItem(int id, WFont *font, string text, float x, float y, JQuad * _off, JQuad * _on, JButton _key, bool hasFocus = false);
~OtherMenuItem();
virtual void Render();
virtual void Update(float dt);
};
#endif