Wavelength
Privacy-focused, cross-platform, and open-source communication application
Loading...
Searching...
No Matches
cyber_button.h
Go to the documentation of this file.
1
#ifndef CYBER_BUTTON_H
2
#define CYBER_BUTTON_H
3
4
#include <QPushButton>
5
14
class
CyberButton
final :
public
QPushButton {
15
Q_OBJECT
17
Q_PROPERTY(
double
glowIntensity
READ
GetGlowIntensity
WRITE
SetGlowIntensity
)
18
19
public
:
28
explicit
CyberButton
(
const
QString &text, QWidget *parent =
nullptr
,
bool
isPrimary =
true
);
29
34
double
GetGlowIntensity
()
const
{
return
glow_intensity_
; }
35
41
void
SetGlowIntensity
(
double
intensity);
42
43
protected
:
50
void
paintEvent
(QPaintEvent *event)
override
;
51
56
void
enterEvent
(QEvent *event)
override
;
57
62
void
leaveEvent
(QEvent *event)
override
;
63
68
void
mousePressEvent
(QMouseEvent *event)
override
;
69
74
void
mouseReleaseEvent
(QMouseEvent *event)
override
;
75
76
private
:
78
double
glow_intensity_
;
80
bool
is_primary_
;
81
};
82
83
#endif
//CYBER_BUTTON_H
CyberButton::enterEvent
void enterEvent(QEvent *event) override
Overridden enter event handler. Animates the glow intensity to a higher value.
Definition
cyber_button.cpp:99
CyberButton::glow_intensity_
double glow_intensity_
Current intensity of the glow effect. Modified by animations and mouse events.
Definition
cyber_button.h:78
CyberButton::leaveEvent
void leaveEvent(QEvent *event) override
Overridden leave event handler. Animates the glow intensity back to its default value.
Definition
cyber_button.cpp:108
CyberButton::GetGlowIntensity
double GetGlowIntensity() const
Gets the current intensity of the glow effect.
Definition
cyber_button.h:34
CyberButton::mouseReleaseEvent
void mouseReleaseEvent(QMouseEvent *event) override
Overridden mouse release event handler. Sets the glow intensity back to the hover level and triggers ...
Definition
cyber_button.cpp:123
CyberButton::glowIntensity
double glowIntensity
Property controlling the intensity of the button's glow effect (0.0 to 1.0+). Animatable.
Definition
cyber_button.h:17
CyberButton::paintEvent
void paintEvent(QPaintEvent *event) override
Overridden paint event handler. Draws the custom cyberpunk button appearance. Renders the clipped bac...
Definition
cyber_button.cpp:19
CyberButton::mousePressEvent
void mousePressEvent(QMouseEvent *event) override
Overridden mouse press event handler. Sets the glow intensity to maximum and triggers a repaint.
Definition
cyber_button.cpp:117
CyberButton::is_primary_
bool is_primary_
Flag determining the color scheme (true for primary blue/cyan, false for secondary pink/magenta).
Definition
cyber_button.h:80
CyberButton::CyberButton
CyberButton(const QString &text, QWidget *parent=nullptr, bool isPrimary=true)
Constructs a CyberButton. Initializes the button style (transparent background, no border,...
Definition
cyber_button.cpp:7
CyberButton::SetGlowIntensity
void SetGlowIntensity(double intensity)
Sets the intensity of the glow effect. Triggers a repaint of the button.
Definition
cyber_button.cpp:14
src
ui
buttons
cyber_button.h
Generated by
1.13.2