ladybird/LibGUI/GButton.h
2019-01-20 04:49:48 +01:00

28 lines
633 B
C++

#pragma once
#include "GWidget.h"
#include <AK/AKString.h>
#include <AK/Function.h>
class GButton final : public GWidget {
public:
explicit GButton(GWidget* parent);
virtual ~GButton() override;
String caption() const { return m_caption; }
void setCaption(String&&);
Function<void(GButton&)> onClick;
private:
virtual void paintEvent(GPaintEvent&) override;
virtual void mouseDownEvent(GMouseEvent&) override;
virtual void mouseUpEvent(GMouseEvent&) override;
virtual const char* class_name() const override { return "Button"; }
String m_caption;
bool m_beingPressed { false };
};