#ifndef BUTTON_H
#define BUTTON_H


#include "Textbox.h"
//Button.h

class Button : public MenuObject
{
	private:
		int state;
		int scolor;
		int ecolor;
	public:
		BITMAP *img;
		int *Get_scolor();
		int *Get_ecolor();
		int Get_state();
		void Set_scolor(int,int,int);
		void Set_ecolor(int,int,int);
		void Set_state(int);
		void Set_img(char* q);
		Button();
		~Button()
		{
			//destroy_bitmap(img);
		}
		void draw(BITMAP *bmp);
};

Button::Button()
{
	x = mouse_x;
	y = mouse_y;
	w = 100;
	h = 25;
	state = 0;
	scolor = makecol(255,0,255);
	ecolor = makecol(255,0,0);
	img=NULL;	
}

int Button::Get_state()
{
	return state;
}

int *Button::Get_scolor()
{
	return &scolor;
}

int *Button::Get_ecolor()
{
	return &ecolor;
}

void Button::Set_state(int q)
{
	state = q;
}

void Button::Set_img(char* q)
{
	if(img==NULL)
	{
		img= load_bitmap(q, NULL);
		  if (!bmp)
		  {
			 //abort_on_error("Couldn't load image"+q);
		  }
	}
}

void Button::Set_scolor(int q,int q2,int q3)
{
	scolor = makecol(q,q2,q3);
}

void Button::Set_ecolor(int q,int q2,int q3)
{
	ecolor = makecol(q,q2,q3);
}


void Button::draw(BITMAP *bmp)
{
	

	if(state == 0)
	{
		Set_color(scolor);
	}
	else if (state == 1)
	{
//textout(bmp,font,Get_lable().c_str(),100 ,100,makecol(255,255,255));
		Set_color(ecolor);
	}
	if(img!=NULL)
	{
		masked_blit(img,bmp, 0,0,Get_x(),  Get_y(), Get_w(), Get_h());
	}
	drawRectangle(bmp,Get_x(),  Get_y(), Get_w(), Get_h(), Get_color(), 2, Get_color());

	textout(bmp,font,Get_lable().c_str(),Get_x() +10,Get_y()+10,makecol(255,255,255));
}

#endif

