A custom QPushButton styled with a cyberpunk aesthetic, specifically themed for audio controls.
More...
#include <cyber_audio_button.h>
|
| | CyberAudioButton (const QString &text, QWidget *parent=nullptr) |
| | Constructs a CyberAudioButton. Initializes the button style (transparent background, no border via stylesheet), sets the cursor, and starts a timer for the pulsing glow effect.
|
| |
| double | GetGlowIntensity () const |
| | Gets the current intensity of the glow effect.
|
| |
| void | SetGlowIntensity (const double intensity) |
| | Sets the intensity of the glow effect. Triggers a repaint of the button.
|
| |
| | ~CyberAudioButton () override |
| | Destructor. Stops the pulse timer.
|
| |
|
| void | enterEvent (QEvent *event) override |
| | Overridden enter event handler. Increases the base glow intensity when the mouse enters.
|
| |
| void | leaveEvent (QEvent *event) override |
| | Overridden leave event handler. Resets the base glow intensity when the mouse leaves.
|
| |
| void | mousePressEvent (QMouseEvent *event) override |
| | Overridden mouse press event handler. Maximizes the base glow intensity when pressed.
|
| |
| void | mouseReleaseEvent (QMouseEvent *event) override |
| | Overridden mouse release event handler. Sets the base glow intensity back to the hover level.
|
| |
| void | paintEvent (QPaintEvent *event) override |
| | Overridden paint event handler. Draws the custom cyberpunk button appearance. Renders the clipped background, neon border, glow effect, decorative lines/markers, and text.
|
| |
|
| double | glowIntensity |
| | Property controlling the intensity of the button's glow effect (0.0 to 1.0+). Animatable.
|
| |
|
| double | base_glow_intensity_ |
| | Base level for the glow effect, modified by hover/press states.
|
| |
| double | glow_intensity_ |
| | Current overall glow intensity, influenced by base_glow_intensity_ and pulse_timer_.
|
| |
| QTimer * | pulse_timer_ |
| | Timer responsible for the subtle pulsing animation of the glow effect.
|
| |
A custom QPushButton styled with a cyberpunk aesthetic, specifically themed for audio controls.
This button features a dark purple/blue color scheme, clipped corners, neon borders, subtle pulsing glow effects, and decorative corner markers. The glow intensity changes on hover and press events. It uses a QTimer for the pulsing effect.
◆ CyberAudioButton()
| CyberAudioButton::CyberAudioButton |
( |
const QString & | text, |
|
|
QWidget * | parent = nullptr ) |
|
explicit |
Constructs a CyberAudioButton. Initializes the button style (transparent background, no border via stylesheet), sets the cursor, and starts a timer for the pulsing glow effect.
- Parameters
-
| text | The text to display on the button. |
| parent | Optional parent widget. |
◆ ~CyberAudioButton()
| CyberAudioButton::~CyberAudioButton |
( |
| ) |
|
|
override |
Destructor. Stops the pulse timer.
◆ enterEvent()
| void CyberAudioButton::enterEvent |
( |
QEvent * | event | ) |
|
|
inlineoverrideprotected |
Overridden enter event handler. Increases the base glow intensity when the mouse enters.
- Parameters
-
◆ GetGlowIntensity()
| double CyberAudioButton::GetGlowIntensity |
( |
| ) |
const |
|
inline |
Gets the current intensity of the glow effect.
- Returns
- The glow intensity value (typically between 0.0 and 1.0+).
◆ leaveEvent()
| void CyberAudioButton::leaveEvent |
( |
QEvent * | event | ) |
|
|
inlineoverrideprotected |
Overridden leave event handler. Resets the base glow intensity when the mouse leaves.
- Parameters
-
◆ mousePressEvent()
| void CyberAudioButton::mousePressEvent |
( |
QMouseEvent * | event | ) |
|
|
inlineoverrideprotected |
Overridden mouse press event handler. Maximizes the base glow intensity when pressed.
- Parameters
-
| event | The mouse press event. |
◆ mouseReleaseEvent()
| void CyberAudioButton::mouseReleaseEvent |
( |
QMouseEvent * | event | ) |
|
|
inlineoverrideprotected |
Overridden mouse release event handler. Sets the base glow intensity back to the hover level.
- Parameters
-
| event | The mouse release event. |
◆ paintEvent()
| void CyberAudioButton::paintEvent |
( |
QPaintEvent * | event | ) |
|
|
overrideprotected |
Overridden paint event handler. Draws the custom cyberpunk button appearance. Renders the clipped background, neon border, glow effect, decorative lines/markers, and text.
- Parameters
-
◆ SetGlowIntensity()
| void CyberAudioButton::SetGlowIntensity |
( |
const double | intensity | ) |
|
|
inline |
Sets the intensity of the glow effect. Triggers a repaint of the button.
- Parameters
-
| intensity | The desired glow intensity. |
◆ base_glow_intensity_
| double CyberAudioButton::base_glow_intensity_ |
|
private |
Base level for the glow effect, modified by hover/press states.
◆ glow_intensity_
| double CyberAudioButton::glow_intensity_ |
|
private |
Current overall glow intensity, influenced by base_glow_intensity_ and pulse_timer_.
◆ pulse_timer_
| QTimer* CyberAudioButton::pulse_timer_ |
|
private |
Timer responsible for the subtle pulsing animation of the glow effect.
◆ glowIntensity
| double CyberAudioButton::glowIntensity |
|
readwrite |
Property controlling the intensity of the button's glow effect (0.0 to 1.0+). Animatable.
The documentation for this class was generated from the following files: