Wavelength
Privacy-focused, cross-platform, and open-source communication application
Loading...
Searching...
No Matches
cyber_slider.h
Go to the documentation of this file.
1#ifndef CYBER_SLIDER_H
2#define CYBER_SLIDER_H
3
4#include <QSlider>
5
13class CyberSlider final : public QSlider {
14 Q_OBJECT
16 Q_PROPERTY(double glowIntensity READ GetGlowIntensity WRITE SetGlowIntensity)
17
18public:
26 explicit CyberSlider(Qt::Orientation orientation, QWidget *parent = nullptr);
27
32 double GetGlowIntensity() const { return glow_intensity_; }
33
39 void SetGlowIntensity(double intensity);
40
41protected:
48 void paintEvent(QPaintEvent *event) override;
49
54 void enterEvent(QEvent *event) override;
55
60 void leaveEvent(QEvent *event) override;
61
62private:
65};
66
67
68#endif //CYBER_SLIDER_H
CyberSlider(Qt::Orientation orientation, QWidget *parent=nullptr)
Constructs a CyberSlider. Initializes the slider with the specified orientation and applies basic sty...
Definition cyber_slider.cpp:8
double GetGlowIntensity() const
Gets the current intensity of the glow effect.
Definition cyber_slider.h:32
double glow_intensity_
Current intensity of the glow effect. Modified by animations on hover.
Definition cyber_slider.h:64
void leaveEvent(QEvent *event) override
Overridden leave event handler. Animates the glow effect intensity decrease when the mouse leaves.
Definition cyber_slider.cpp:82
void enterEvent(QEvent *event) override
Overridden enter event handler. Animates the glow effect intensity increase on mouse hover.
Definition cyber_slider.cpp:78
double glowIntensity
Property controlling the intensity of the handle's glow effect (0.0 to 1.0). Animatable.
Definition cyber_slider.h:16
void paintEvent(QPaintEvent *event) override
Overridden paint event handler. Draws the custom slider appearance. Renders the track,...
Definition cyber_slider.cpp:18
void SetGlowIntensity(double intensity)
Sets the intensity of the glow effect. Triggers a repaint of the slider.
Definition cyber_slider.cpp:13