knxdisplay/main/widgets/ArcWidget.hpp
2026-02-05 18:19:26 +01:00

24 lines
543 B
C++

#pragma once
#include "Widget.hpp"
class ArcWidget : public Widget {
public:
explicit ArcWidget(const WidgetConfig& config);
lv_obj_t* create(lv_obj_t* parent) override;
void applyStyle() override;
void onKnxValue(float value) override;
void onKnxSwitch(bool value) override;
private:
int32_t initialValueFromText() const;
void updateValueLabel(float value);
static const char* unitSuffix(uint8_t unit);
lv_obj_t* scale_ = nullptr;
lv_obj_t* valueLabel_ = nullptr;
float lastValue_ = 0.0f;
};