UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SScrollBar.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"
8#include "Input/Reply.h"
9#include "Layout/Visibility.h"
11#include "Styling/SlateTypes.h"
12#include "Styling/CoreStyle.h"
15
16class SScrollBarTrack;
17class SSpacer;
18class SImage;
19
22 float );
26class SScrollBarTrack;
27
28class SScrollBar : public SBorder
29{
30public:
31
32 inline static const float DefaultUniformPadding = 2.0f;
33
50
56 SLATE_ARGUMENT( bool, AlwaysShowScrollbarTrack )
58 SLATE_ARGUMENT( bool, PreventThrottling )
62 SLATE_ATTRIBUTE( FVector2D, Thickness )
66
67
72 SLATE_API void Construct(const FArguments& InArgs);
73
80
87
98
99 // SWidget
100 SLATE_API virtual void Tick(const FGeometry& AllottedGeometry, const double InCurrentTime, const float InDeltaTime) override;
106 // SWidget
107
109 SLATE_API bool IsNeeded() const;
110
112 SLATE_API float DistanceFromTop() const;
113
115 SLATE_API float DistanceFromBottom() const;
116
118 SLATE_API float ThumbSizeFraction() const;
119
122
124 SLATE_API bool IsScrolling() const;
125
128
131
134
137
140
143
146
149
152
154 SLATE_API bool AlwaysShowScrollbar() const;
155
157 SLATE_API virtual void BeginScrolling();
158
160 SLATE_API virtual void EndScrolling();
161
164
165protected:
166
169
172
175
178
181
197 /*
198 * Holds whether or not to prevent throttling during mouse capture
199 * When true, the viewport will be updated with every single change to the value during dragging
200 */
204
217};
#define PLATFORM_UI_HAS_MOBILE_SCROLLBARS
Definition AndroidPlatform.h:58
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
#define SLATE_ARGUMENT(ArgType, ArgName)
Definition DeclarativeSyntaxSupport.h:208
#define DECLARE_DELEGATE_OneParam(DelegateName, Param1Type)
Definition DelegateCombinations.h:48
EFocusCause
Definition Events.h:25
return true
Definition ExternalRpcRegistry.cpp:601
EOrientation
Definition SlateEnums.h:261
if(Failed) console_printf("Failed.\n")
Definition AppStyle.h:24
Definition Reply.h:24
Definition SBorder.h:31
Definition SImage.h:29
Definition SScrollBarTrack.h:22
Definition SScrollBar.h:29
double LastInteractionTime
Definition SScrollBar.h:203
void SetUserVisibility(TAttribute< EVisibility > InUserVisibility)
Definition SScrollBar.h:136
TAttribute< EVisibility > UserVisibility
Definition SScrollBar.h:180
virtual SLATE_API FReply OnMouseButtonDown(const FGeometry &MyGeometry, const FPointerEvent &MouseEvent) override
Definition SScrollBar.cpp:128
SLATE_API float DistanceFromBottom() const
Definition SScrollBar.cpp:238
SLATE_API void SetOnScrollBarVisibilityChanged(const FOnScrollBarVisibilityChanged &InHandler)
Definition SScrollBar.cpp:95
SLATE_API float ThumbSizeFraction() const
Definition SScrollBar.cpp:243
virtual SLATE_API void EndScrolling()
Definition SScrollBar.cpp:303
SLATE_API void InvalidateStyle()
Definition SScrollBar.cpp:389
SLATE_API FLinearColor GetThumbOpacity() const
Definition SScrollBar.cpp:272
SLATE_API void SetScrollBarAlwaysVisible(bool InAlwaysVisible)
Definition SScrollBar.cpp:404
TSharedPtr< SImage > TopImage
Definition SScrollBar.h:182
static const float DefaultUniformPadding
Definition SScrollBar.h:32
virtual SLATE_API void OnMouseEnter(const FGeometry &MyGeometry, const FPointerEvent &MouseEvent) override
Definition SScrollBar.cpp:205
const FSlateBrush * TopBrush
Definition SScrollBar.h:214
SLATE_API void SetScrollBarTrackAlwaysVisible(bool InAlwaysVisible)
Definition SScrollBar.cpp:420
SLATE_API float DistanceFromTop() const
Definition SScrollBar.cpp:233
float DragGrabOffset
Definition SScrollBar.h:190
FOnUserScrolled OnUserScrolled
Definition SScrollBar.h:188
SLATE_API ~SScrollBar()
const FSlateBrush * BottomBrush
Definition SScrollBar.h:216
SLATE_API const FSlateBrush * GetDragThumbImage() const
Definition SScrollBar.cpp:309
SLATE_BEGIN_ARGS(SScrollBar)
Definition SScrollBar.h:34
const FSlateBrush * BackgroundBrush
Definition SScrollBar.h:212
bool bAlwaysShowScrollbarTrack
Definition SScrollBar.h:193
bool bPreventThrottling
Definition SScrollBar.h:201
FOnScrollBarVisibilityChanged OnScrollBarVisibilityChanged
Definition SScrollBar.h:189
SLATE_API EVisibility ShouldBeVisible() const
Definition SScrollBar.cpp:325
SLATE_API void SetThickness(TAttribute< FVector2D > InThickness)
Definition SScrollBar.cpp:399
SLATE_API void Construct(const FArguments &InArgs)
Definition SScrollBar.cpp:11
EOrientation Orientation
Definition SScrollBar.h:191
SLATE_API SScrollBar()
Definition SScrollBar.cpp:248
SLATE_API void ExecuteOnUserScrolled(const FGeometry &MyGeometry, const FPointerEvent &MouseEvent)
Definition SScrollBar.cpp:217
TSharedPtr< SBorder > DragThumb
Definition SScrollBar.h:184
SLATE_API bool IsNeeded() const
Definition SScrollBar.cpp:228
virtual SLATE_API void OnMouseLeave(const FPointerEvent &MouseEvent) override
Definition SScrollBar.cpp:211
bool bHideWhenNotInUse
Definition SScrollBar.h:195
SLATE_API FSlateColor GetTrackOpacity() const
Definition SScrollBar.cpp:256
const FSlateBrush * DraggedThumbImage
Definition SScrollBar.h:210
TSharedPtr< SSpacer > ThicknessSpacer
Definition SScrollBar.h:185
const FSlateBrush * NormalThumbImage
Definition SScrollBar.h:206
virtual SLATE_API FReply OnMouseMove(const FGeometry &MyGeometry, const FPointerEvent &MouseEvent) override
Definition SScrollBar.cpp:188
virtual SLATE_API void BeginScrolling()
Definition SScrollBar.cpp:298
SLATE_API void SetOnUserScrolled(const FOnUserScrolled &InHandler)
Definition SScrollBar.cpp:90
bool bIsScrolling
Definition SScrollBar.h:202
SLATE_API void SetDragFocusCause(EFocusCause InDragFocusCause)
Definition SScrollBar.cpp:394
bool bDraggingThumb
Definition SScrollBar.h:186
virtual SLATE_API FReply OnMouseButtonUp(const FGeometry &MyGeometry, const FPointerEvent &MouseEvent) override
Definition SScrollBar.cpp:175
TSharedPtr< SImage > BottomImage
Definition SScrollBar.h:183
SLATE_API void SetStyle(const FScrollBarStyle *InStyle)
Definition SScrollBar.cpp:357
SLATE_API bool IsScrolling() const
Definition SScrollBar.cpp:347
EVisibility ScrollbarDisabledVisibility
Definition SScrollBar.h:196
SLATE_API bool AlwaysShowScrollbar() const
Definition SScrollBar.cpp:431
SLATE_API EOrientation GetOrientation() const
Definition SScrollBar.cpp:352
EFocusCause DragFocusCause
Definition SScrollBar.h:194
const FSlateBrush * HoveredThumbImage
Definition SScrollBar.h:208
SLATE_API void SetScrollbarDisabledVisibility(EVisibility InVisibility)
Definition SScrollBar.cpp:426
bool bAlwaysShowScrollbar
Definition SScrollBar.h:192
TSharedPtr< SScrollBarTrack > Track
Definition SScrollBar.h:187
virtual SLATE_API void SetState(float InOffsetFraction, float InThumbSizeFraction, bool bCallOnUserScrolled=false)
Definition SScrollBar.cpp:100
Definition SSpacer.h:21
Definition Attribute.h:17
Definition SharedPointer.h:692
@ false
Definition radaudio_common.h:23
Definition Visibility.h:12
static SLATECORE_API const EVisibility Collapsed
Definition Visibility.h:17
Definition Geometry.h:40
Definition Color.h:48
Definition Margin.h:17
Definition Events.h:695
Definition SlateTypes.h:932
Definition SlateBrush.h:239
Definition SlateColor.h:42