1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
/* This file is part of the Spring engine (GPL v2 or later), see LICENSE.html */
#ifndef GAMEINFO_H
#define GAMEINFO_H
#include <vector>
#include <string>
#include "InputReceiver.h"
class CGameInfo : public CInputReceiver
{
public:
static void Enable();
static void Disable();
static bool IsActive();
struct FontString {
FontString(): msg(""), width(0.0f), height(0.0f) {}
FontString(const char* c);
FontString(const std::string& s);
FontString(bool b);
FontString(float f);
void CalcDimensions();
std::string msg;
float width;
float height;
};
private:
CGameInfo();
~CGameInfo();
bool MousePress(int x, int y, int button);
void MouseRelease(int x, int y, int button);
bool KeyPressed(int key, bool isRepeat);
bool IsAbove(int x, int y);
std::string GetTooltip(int x,int y);
void Draw();
private:
ContainerBox box;
std::vector<FontString> labels;
std::vector<FontString> values;
static CGameInfo* instance;
};
#endif /* GAMEINFO_H */
|