Files
wagic/projects/mtg/include/SimplePad.h
techdragon.nguyen@gmail.com e53c16f700 No code change just reformatting of header files.
finishing up my reformatting of the source from November/December following the guidelines that were posted.
some extra things I added:
   * Any empty virtual declarations were kept to one line.  
   * Enums were split up into separate lines to promote uniformity across all headers. ( each header file had a different style for enums)
2011-01-21 18:01:14 +00:00

73 lines
1.5 KiB
C++

#ifndef _SIMPLEPAD_H_
#define _SIMPLEPAD_H_
#include <string>
#include <JGui.h>
#include <JLBFont.h>
#include "hge/hgeparticle.h"
enum SIMPLE_KEYS{
KPD_A, KPD_B, KPD_C, KPD_D, KPD_E, KPD_F,
KPD_G, KPD_H, KPD_I, KPD_J, KPD_K, KPD_L,
KPD_M, KPD_N, KPD_O, KPD_P, KPD_Q, KPD_R,
KPD_S, KPD_T, KPD_U, KPD_V, KPD_W, KPD_X,
KPD_Y, KPD_Z, KPD_SPACE, KPD_OK, KPD_CANCEL,
KPD_DEL, KPD_CAPS, KPD_0, KPD_1, KPD_2, KPD_3,
KPD_4, KPD_5, KPD_6, KPD_7, KPD_8, KPD_9,
KPD_MAX,
KPD_NOWHERE = 254,
KPD_INPUT = 255,
};
struct SimpleKey
{
SimpleKey(string _ds, int _id);
string displayValue;
unsigned char id;
unsigned char adjacency[4];
};
class SimplePad
{
public:
friend class GameSettings;
string buffer;
string title;
unsigned int cursorPos();
bool isActive()
{
return bActive;
}
;
void Render();
void Update(float dt);
void pressKey(unsigned char id);
SimplePad();
~SimplePad();
float mX, mY;
private:
void linkKeys(int from, int to, int dir);
SimpleKey * Add(string display, unsigned char id);
void MoveSelection(unsigned char dir);
void Start(string value, string * _dest = NULL);
string Finish();
bool bActive;
bool bCapslock;
bool bShowCancel, bShowNumpad;
bool bCanceled;
int nbitems;
unsigned int cursor;
int selected;
int priorKey; //The prior key from those places.
SimpleKey * keys[KPD_MAX];
string * dest;
string original; //For cancelling.
};
#endif