serenity/Userland/Applications/KeyboardMapper/KeyButton.h
Lenny Maiorani 160bda7228 Applications: Use default constructors/destructors
https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#cother-other-default-operation-rules

"The compiler is more likely to get the default semantics right and
you cannot implement these functions better than the compiler."
2022-02-14 22:06:55 +00:00

35 lines
823 B
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* Copyright (c) 2020, Hüseyin Aslıtürk <asliturk@hotmail.com>
* Copyright (c) 2022, the SerenityOS developers.
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <LibGUI/AbstractButton.h>
class KeyButton final : public GUI::AbstractButton {
C_OBJECT(KeyButton)
public:
virtual ~KeyButton() override = default;
void set_pressed(bool value) { m_pressed = value; }
Function<void()> on_click;
protected:
virtual void click(unsigned modifiers = 0) override;
virtual void leave_event(Core::Event&) override;
virtual void mousemove_event(GUI::MouseEvent&) override;
virtual void paint_event(GUI::PaintEvent&) override;
private:
KeyButton() = default;
bool m_pressed { false };
bool m_face_hovered { false };
void set_face_hovered(bool value);
};