unleashed-firmware/applications/hid_analyzer/view/elements/button_element.h
MX f4cc9e5de7
plugins & badusb
if author want their plugin to be removed - create issue, thanks
2022-07-29 17:48:51 +03:00

28 lines
632 B
C++

#pragma once
#include "generic_element.h"
typedef void (*ButtonElementCallback)(void* context);
class ButtonElement : public GenericElement {
public:
ButtonElement();
~ButtonElement() final;
void draw(Canvas* canvas) final;
bool input(InputEvent* event) final;
enum class Type : uint8_t {
Left,
Center,
Right,
};
void set_type(Type type, const char* text);
void set_callback(void* context, ButtonElementCallback callback);
private:
Type type = Type::Left;
const char* text = nullptr;
void* context = nullptr;
ButtonElementCallback callback = nullptr;
};