| Revision 1 (by (no author), 2006/09/28 22:53:53) |
Initial import |
/// \file boardscreen.h
/// Main include file for main game screen manager
#ifndef BOARDSCREEN_H_INCLUDED
#define BOARDSCREEN_H_INCLUDED
#include <vector>
#include "widgetmanager.h"
#include "boardmanager.h"
class BoardScreen
{
public: // Types
enum Mode {
M_SelectCard,
M_SelectSpace
};
public: // Public static variables
static const int BoardPadding = 5;
static const int CardSize = 48;
static const int CardAreaPadding = 3;
static const int TopMargin = 32;
static const int CardPadding = 5;
public: // Public variables
BoardManager* board;
std::vector<BITMAP*> gfx_cards;
std::vector<BITMAP*> gfx_objects;
WidgetManager* mainScreen;
/// "Play Card" button
Button* playCard;
Board::Pawn* active;
bool running;
Mode mode;
public: // Public functions
BoardScreen();
~BoardScreen();
void Run();
void InitializeGui();
void LoadGraphics();
void OnQuit(void* args);
void DrawCard(BITMAP* to, int x, int y, int card);
void DrawObject(BITMAP* to, int x, int y, int object);
};
class CardButton: public Widget
{
public: // Public variables
BoardScreen* board;
int myCard;
public: // Public functions
CardButton(BoardScreen* board, int myCard);
void Redraw(RedrawEventArgs* e);
};
class SpaceButton: public Widget
{
public: // Public variables
BoardScreen* board;
int mySpace;
public: // Public functions
SpaceButton(BoardScreen* board, int mySpace);
void Redraw(RedrawEventArgs* e);
};
class Console: public Widget
{
public: // Public variables
BoardScreen* board;
public: // Public functions
Console(BoardScreen* board);
void Redraw(RedrawEventArgs* e);
};
#endif
// The end