#pragma once #include #include "def.h" class CEvent; class CMenu { public: CMenu(); ~CMenu(); bool Create (CPixmap *pPixmap, CSound *pSound, CEvent *pEvent, POINT pos, Sint32 nb, Sint32 *pButtons, Errors *pErrors, std::unordered_map &texts, Sint32 perso); void Update (Sint32 nb, Sint32 *pButtons, Errors *pErrors, std::unordered_map &texts); void Delete(); void Draw(); Sint32 GetSel(); Sint32 GetRank(); bool IsError(); bool IsExist(); void Message(); bool TreatEvent (const SDL_Event &event); protected: Sint32 Detect (POINT pos); bool MouseDown (POINT pos); bool MouseMove (POINT pos); bool MouseUp (POINT pos); 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]; Errors m_errors[MAXBUTTON]; std::unordered_map m_texts; Uint32 m_messages[MAXBUTTON]; Sint32 m_selRank; }; /////////////////////////////////////////////////////////////////////////////