#include "Button.h"

#include <string>
using namespace std;

Button :: Button()
{
  graphicMouseUp="NULL_INDEX";
  graphicMouseDown="NULL_INDEX";
  graphicFont="NULL_INDEX";
  xPos=0;
  yPos=0;
  wid=0;
  hei=0;
  zd=0;
  isHit=false;
  fontColR=0; 
  fontColG=0; 
  fontColB=0;
}

Button ::~Button()
{
}

uint16_t Button ::getWidth ()
{
  return wid;
}

uint16_t Button ::getHeight ()
{
  return hei;
}

uint16_t Button ::getZDepth ()
{
  return zd;
}

int16_t Button ::getX ()
{
  return xPos;
}

int16_t Button ::getY ()
{
  return yPos;
}

void Button ::setPosition (int16_t x, int16_t y)
{
  xPos=x;
  yPos=y;
}

void Button ::setDimensions (uint16_t w, uint16_t h, uint16_t z)
{
  wid=w;
  hei=h;
  zd=z;
}

void Button ::setGraphicFont (const string & s)
{
  graphicFont=s;
}

void Button ::setGraphicMouseUp (const string & s)
{
  graphicMouseUp=s;
}

void Button ::setGraphicMouseDown (const string & s)
{
  graphicMouseDown=s;
}
  
const string & Button ::getGraphicFont()
{
  return graphicFont;
}

const string & Button ::getGraphicMouseUp ()
{
  return graphicMouseUp;
}

const string & Button ::getGraphicMouseDown ()
{
  return graphicMouseDown;
}

bool Button ::getIsHit()
{
  return isHit;
}

void Button ::setIsHit(bool b)
{
  isHit = b;
}

void Button ::setGraphicFontColor (uint8_t r, uint8_t g, uint8_t b)
{
  fontColR=r;
  fontColG=g;
  fontColB=b;
}

uint8_t Button ::getGraphicFontColorR()
{
  return fontColR;
}

uint8_t Button ::getGraphicFontColorG()
{
  return fontColG;
}

uint8_t Button ::getGraphicFontColorB()
{
  return fontColB;
}


