Richard Parker / EALCD

manager/EAHitBox.cpp

Committer:
richardparker
Date:
2010-03-04
Revision:
1:f04bcaea1d60
Child:
3:24fbf4dbd7e5

File content as of revision 1:f04bcaea1d60:

#include "mbed.h"
#include "EAHitBox.h"

EAHitBox::EAHitBox()
:   _next(NULL),
    _widget(NULL),
    _width(0),
    _height(0),
    _x(0),
    _y(0),
    _action(NULL)
{
}

EAHitBox::~EAHitBox()
{
}

bool EAHitBox::checkContains(short x, short y)
{
    bool result = false;
    
    if  (
            (x > this->x())
            &&
            (x < this->x() + width())
            &&
            (y > this->y())
            &&
            (y < this->y() + height())
        )
    {
        // This is a hit.
        result = true;
    }
       
    if ((result == true) && (_action != NULL))
    {
        // Hit inside and an action is defined.
        _action(this, x, y);
    }
    
    return result;
}