Also fixed the project includes so that we don't need to always use the indirect include path, ie: #include "../include/foo.h" -> #include "foo.h" I'm don't know much about make files - if I busted the linux build, mea culpa, but I think we're okay on that front too. For future reference, here's the most straightforward link on the topic of adding pch support to make files: http://www.mercs-eng.com/~hulud/index.php?2008/06/13/6-writing-a-good-makefile-for-a-c-project
49 lines
1.1 KiB
C++
49 lines
1.1 KiB
C++
/*
|
|
A class for very simple menus structure
|
|
*/
|
|
#ifndef _SIMPLEMENU_H_
|
|
#define _SIMPLEMENU_H_
|
|
|
|
#include <string>
|
|
#include <JGui.h>
|
|
#include "WFont.h"
|
|
#include "hge/hgeparticle.h"
|
|
|
|
class SimpleMenu:public JGuiController{
|
|
private:
|
|
int mHeight, mWidth, mX, mY;
|
|
int fontId;
|
|
std::string title;
|
|
int displaytitle;
|
|
int maxItems,startId;
|
|
float selectionT, selectionY;
|
|
float timeOpen;
|
|
static unsigned int refCount;
|
|
|
|
static JQuad *spadeR, *spadeL, *jewel, *side;
|
|
static JTexture *spadeRTex, *spadeLTex, *jewelTex, *sideTex;
|
|
static WFont* titleFont;
|
|
static hgeParticleSystem* stars;
|
|
// This works only because of no multithreading
|
|
static PIXEL_TYPE jewelGraphics[9];
|
|
|
|
inline void MogrifyJewel();
|
|
void drawHorzPole(int x, int y, int width);
|
|
void drawVertPole(int x, int y, int height);
|
|
|
|
public:
|
|
bool autoTranslate;
|
|
SimpleMenu(int id, JGuiListener* listener, int fontId, int x, int y, const char * _title = "", int _maxItems = 7);
|
|
void Render();
|
|
void Update(float dt);
|
|
void Add(int id, const char * Text,string desc = "", bool forceFocus = false);
|
|
void Close();
|
|
|
|
float selectionTargetY;
|
|
bool closed;
|
|
static void destroy();
|
|
};
|
|
|
|
|
|
#endif
|