knxdisplay/main/widgets/ButtonWidget.hpp
2026-01-25 15:20:12 +01:00

25 lines
578 B
C++

#pragma once
#include "Widget.hpp"
class ButtonWidget : public Widget {
public:
explicit ButtonWidget(const WidgetConfig& config);
~ButtonWidget() override;
lv_obj_t* create(lv_obj_t* parent) override;
void applyStyle() override;
// Check if button is in checked state
bool isChecked() const;
private:
lv_obj_t* contentContainer_ = nullptr;
lv_obj_t* label_ = nullptr;
lv_obj_t* iconLabel_ = nullptr;
void setupFlexLayout();
static int encodeUtf8(uint32_t codepoint, char* buf);
static void clickCallback(lv_event_t* e);
};