Minor note to others: if you're writing drawing code, the coordinate system in JGE uses floats, so don't bother with ints for x/y coords & the like. You're forcing the processor to do float to long conversions for nothing.
51 lines
1.0 KiB
C++
51 lines
1.0 KiB
C++
#ifndef _DECKMENU_ITEM_H
|
|
#define _DECKMENU_ITEM_H
|
|
|
|
#include <string>
|
|
#include <JLBFont.h>
|
|
#include <JGui.h>
|
|
#include "DeckMenu.h"
|
|
|
|
using std::string;
|
|
|
|
#define SCALE_SELECTED 1.2f
|
|
#define SCALE_NORMAL 1.0f
|
|
|
|
|
|
class DeckMenuItem: public JGuiObject
|
|
{
|
|
private:
|
|
bool mHasFocus;
|
|
DeckMenu* parent;
|
|
int fontId;
|
|
string mText;
|
|
float mScale;
|
|
float mTargetScale;
|
|
|
|
public:
|
|
string imageFilename;
|
|
string desc;
|
|
DeckMetaData *meta;
|
|
|
|
DeckMenuItem(DeckMenu* _parent, int id, int fontId, string text, float x, float y, bool hasFocus = false, bool autoTranslate = false, DeckMetaData *meta = NULL);
|
|
~DeckMenuItem();
|
|
float mX;
|
|
float mY;
|
|
|
|
void Relocate(float x, float y);
|
|
float GetWidth();
|
|
bool hasFocus();
|
|
|
|
void RenderWithOffset(float yOffset);
|
|
virtual void Render();
|
|
virtual void Update(float dt);
|
|
|
|
virtual void Entering();
|
|
virtual bool Leaving(JButton key);
|
|
virtual bool ButtonPressed();
|
|
virtual ostream& toString(ostream& out) const;
|
|
virtual bool getTopLeft(float& top, float& left) {top = mY; left = mX; return true;};
|
|
};
|
|
|
|
#endif
|