UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SVolumeControl.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "Misc/Attribute.h"
7#include "Input/Reply.h"
11#include "Styling/SlateTypes.h"
12#include "Styling/CoreStyle.h"
14
15class SSlider;
16
21{
22public:
24
26 : _Style( &FCoreStyle::Get().GetWidgetStyle<FVolumeControlStyle>("VolumeControl") )
27 , _Volume(1.f)
28 , _Muted(false)
29 {}
30
33
34
35 SLATE_ATTRIBUTE( float, Volume )
37 SLATE_EVENT( FOnFloatValueChanged, OnVolumeChanged )
38
39
40 SLATE_ATTRIBUTE( bool, Muted )
43
45
46
51 SLATE_API void Construct( const SVolumeControl::FArguments& InDeclaration );
52
53 float GetVolume() const { return VolumeAttribute.Get(); }
54 bool IsMuted() const { return MutedAttribute.Get(); }
55
56private:
57 enum ESpeakerIcon
58 {
59 ES_Full,
60 ES_Mid,
61 ES_Low,
62 ES_Off,
63 ES_Muted,
64
65 ES_MAX
66 };
67
68 TAttribute<float> VolumeAttribute;
69 FOnFloatValueChanged OnVolumeChanged;
70
71 TAttribute<bool> MutedAttribute;
72 FOnMuted OnMutedChanged;
73
75
76 const FSlateBrush* SpeakerIcons[ES_MAX];
77
78 float GetSliderPosition() const { return IsMuted() ? 0.f : GetVolume(); }
79 SLATE_API const FSlateBrush* GetSpeakerImage() const;
80 SLATE_API FReply OnMuteClicked();
81 SLATE_API void OnWriteValue(float NewValue);
82};
int Volume
Definition AndroidPlatformMisc.cpp:380
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define SLATE_STYLE_ARGUMENT(ArgType, ArgName)
Definition DeclarativeSyntaxSupport.h:280
#define SLATE_ATTRIBUTE(AttrType, AttrName)
Definition DeclarativeSyntaxSupport.h:192
#define SLATE_EVENT(DelegateName, EventName)
Definition DeclarativeSyntaxSupport.h:458
#define SLATE_END_ARGS()
Definition DeclarativeSyntaxSupport.h:116
Definition CoreStyle.h:15
Definition Reply.h:24
Definition SCompoundWidget.h:22
Definition SSlider.h:23
Definition SVolumeControl.h:21
SLATE_API void Construct(const SVolumeControl::FArguments &InDeclaration)
Definition SVolumeControl.cpp:15
DECLARE_DELEGATE_OneParam(FOnMuted, bool)
SLATE_BEGIN_ARGS(SVolumeControl)
Definition SVolumeControl.h:25
float GetVolume() const
Definition SVolumeControl.h:53
bool IsMuted() const
Definition SVolumeControl.h:54
Definition Attribute.h:17
const ObjectType & Get() const
Definition Attribute.h:241
Definition SharedPointer.h:692
@ false
Definition radaudio_common.h:23
Definition SlateBrush.h:239
Definition SlateTypes.h:1409