1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| #include "Button.hpp"
Button::Button(int x, int y, int width, int height, SDL_Surface *clicked, SDL_Surface *notClicked):
Widget(x, y, width, height),
_imgClicked(clicked),
_imgNotClicked(notClicked),
_clicked(false),
_gestion(gestion)
{
}
Button::~Button()
{
}
void Button::Draw(SDL_Surface* painter)
{
// A vous de dessiner votre bouton dans cette fonction :)
// Utilisez la variable _clicked pour savoir si le bouton est enfoncé ou non
}
bool Button::AcceptEvent(SDL_Event* event)
{
if( event.type == SDL_MOUSEBUTTONDOWN || event.type == SDL_MOUSEBUTTONUP)
{
SDL_Rect inter(_x, _y, _x+_width, _y+_height);
if (inter.contains(event.button.x, event.button.y))
{
if (_clicked == false && event.type == SDL_MOUSEBUTTONDOWN)
_clicked = true;
else if (_clicked && event.type == SDL_MOUSEBUTTONUP)
{
_clicked = false;
_gestion->buttonClicked();
}
return (true);
}
}
return (false);
} |
Partager