Files
wagic/projects/mtg/include/GuiLayers.h
jean.chalard 2f3259fd55 J :
* Add the rolling phasebar.
* This is a preview version. It shares most of the code with the definitive
  version, but when the real code is checked in, this will be deleted.
2009-06-22 14:45:27 +00:00

68 lines
1.4 KiB
C++

#ifndef _GUI_LAYERS_H_
#define _GUI_LAYERS_H_
#define MAX_GUI_LAYERS 7
#define DIR_DOWN 1
#define DIR_UP 2
#define DIR_LEFT 3
#define DIR_RIGHT 4
#include <JGui.h>
#include "../include/WEvent.h"
class GameObserver;
class Player;
class GuiLayer{
protected:
GameObserver * game;
int mId;
u32 mActionButton;
public:
int mCount;
int mCurr;
vector<JGuiObject *>mObjects;
void Add(JGuiObject * object);
void Remove(JGuiObject * object);
int modal;
bool hasFocus;
virtual void resetObjects();
int getMaxId();
void RenderMessageBackground(float x0, float y0, float width, int height);
void RenderMessageBackground(float y0, int height);
GuiLayer(int id, GameObserver* _game);
virtual ~GuiLayer();
virtual void Update(float dt);
virtual bool CheckUserInput(u32 key){ return false; };
virtual int unstoppableRenderInProgress(){return 0;};
int getIndexOf(JGuiObject * object);
JGuiObject * getByIndex (int index);
virtual void Render();
int empty(){
if (mCount) return 0;
return 1;
};
virtual int receiveEvent(WEvent * e){return 0;};
};
class GuiLayers{
protected:
int nbitems;
GuiLayer * objects[MAX_GUI_LAYERS];
public:
GuiLayers();
virtual void Update(float dt, Player * player);
void Render();
void Add(GuiLayer * layer);
void Remove();
int unstoppableRenderInProgress();
~GuiLayers();
int receiveEvent(WEvent * e);
};
#endif