1
0
mirror of https://github.com/blupi-games/planetblupi synced 2024-12-30 10:15:36 +01:00
planetblupi/src/menu.h

55 lines
1.4 KiB
C
Raw Normal View History

2017-01-21 17:27:46 +01:00
2017-01-21 23:44:30 +01:00
#pragma once
2017-01-21 17:27:46 +01:00
#include <unordered_map>
#include "def.h"
class CEvent;
2017-01-21 17:27:46 +01:00
class CMenu
{
public:
CMenu();
~CMenu();
bool Create (CPixmap *pPixmap, CSound *pSound, CEvent *pEvent,
2017-03-13 19:19:39 +01:00
POINT pos, Sint32 nb, Sint32 *pButtons, Errors *pErrors,
std::unordered_map<Sint32, const char *> &texts,
Sint32 perso);
2017-03-13 19:19:39 +01:00
void Update (Sint32 nb, Sint32 *pButtons, Errors *pErrors,
std::unordered_map<Sint32, const char *> &texts);
void Delete();
void Draw();
Sint32 GetSel();
Sint32 GetRank();
bool IsError();
bool IsExist();
void Message();
bool TreatEvent (const SDL_Event &event);
2017-01-21 17:27:46 +01:00
protected:
Sint32 Detect (POINT pos);
bool MouseDown (POINT pos);
bool MouseMove (POINT pos);
bool MouseUp (POINT pos);
2017-01-21 17:27:46 +01:00
protected:
CPixmap *m_pPixmap;
CDecor *m_pDecor;
CSound *m_pSound;
CEvent *m_pEvent;
POINT m_pos; // coin sup/gauche
POINT m_dim; // dimensions
Sint32 m_nbButtons;
POINT m_nbCel;
Sint32 m_perso;
Sint32 m_buttons[MAXBUTTON];
2017-03-13 19:19:39 +01:00
Errors m_errors[MAXBUTTON];
std::unordered_map<Sint32, const char *> m_texts;
Uint32 m_messages[MAXBUTTON];
Sint32 m_selRank;
2017-01-21 17:27:46 +01:00
};
/////////////////////////////////////////////////////////////////////////////