forked from SerenityOS/serenity
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Button.h
26 lines (18 loc) · 600 Bytes
/
Button.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#pragma once
#include "Widget.h"
#include <AK/String.h>
class Button final : public Widget {
public:
explicit Button(Widget* parent);
virtual ~Button() override;
String caption() const { return m_caption; }
void setCaption(String&&);
std::function<void(Button&)> onClick;
private:
virtual void paintEvent(PaintEvent&) override;
virtual void mouseDownEvent(MouseEvent&) override;
virtual void mouseUpEvent(MouseEvent&) override;
virtual const char* className() const override { return "Button"; }
String m_caption;
bool m_beingPressed { false };
};