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

54 lines
1.5 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"
2017-01-21 17:27:46 +01:00
/////////////////////////////////////////////////////////////////////////////
class CMenu
{
public:
CMenu();
~CMenu();
bool Create (CPixmap *pPixmap, CSound *pSound,
POINT pos, Sint32 nb, Sint32 *pButtons, Sint32 *pErrors,
std::unordered_map<Sint32, const char *> &texts,
Sint32 perso);
void Update (Sint32 nb, Sint32 *pButtons, Sint32 *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;
POINT m_pos; // coin sup/gauche
POINT m_dim; // dimensions
Sint32 m_nbButtons;
POINT m_nbCel;
Sint32 m_perso;
Sint32 m_buttons[MAXBUTTON];
Sint32 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
};
/////////////////////////////////////////////////////////////////////////////