This repository has been archived on 2025-03-20. You can view files and clone it, but cannot push or open issues or pull requests.
The-Powder-Toy/src/interface/Checkbox.h
Simon Robertshaw 2a7628dfd0 Render options
2012-01-27 13:27:40 +00:00

44 lines
1.0 KiB
C++

/*
* Checkbox.h
*
* Created on: Jan 26, 2012
* Author: Simon
*/
#ifndef CHECKBOX_H_
#define CHECKBOX_H_
#include <string>
#include "Component.h"
namespace ui
{
class Checkbox;
class CheckboxAction
{
public:
virtual void ActionCallback(ui::Checkbox * sender) {}
virtual ~CheckboxAction() {}
};
class Checkbox: public ui::Component {
std::string text;
bool checked;
bool isMouseOver;
CheckboxAction * actionCallback;
public:
Checkbox(ui::Point position, ui::Point size, std::string text);
void SetText(std::string text);
void Draw(const Point& screenPos);
virtual void OnMouseEnter(int x, int y);
virtual void OnMouseLeave(int x, int y);
virtual void OnMouseClick(int x, int y, unsigned int button);
virtual void OnMouseUp(int x, int y, unsigned int button);
void SetActionCallback(CheckboxAction * action);
CheckboxAction * GetActionCallback() { return actionCallback; }
bool GetChecked() { return checked; }
void SetChecked(bool checked_) { checked = checked_; }
virtual ~Checkbox();
};
}
#endif /* CHECKBOX_H_ */