#ifndef BUTTON
#define BUTTON

#include <string>
#include <graphics.h>

using namespace std;

class Button
{
public:

    Button (
        int _x, int _y, 
        int _imageWidth, 
        int _imageHeight,
        string imageUpFile, 
        string imageDownFile, 
        string imageUpMouseNearFile,
        string imageDownMouseNearFile
    );

    void draw ();

    void mouseDown (int mx, int my);
    void mouseUp (int mx, int my);
    void mouseMove (int mx, int my);

private:

    int x;
    int y;

    bool pushed;
    bool mouseNear;

    int imageWidth;
    int imageHeight;

    void* imageUp;
    void* imageDown;
    void* imageUpMouseNear;
    void* imageDownMouseNear;

    bool nearBy (int mx, int my);
};

#endif
