Class ScrollContainer
- Namespace
- Forma
- Assembly
- Forma.dll
Clips content to a viewport and provides horizontal and vertical scrolling when it overflows.
[TemplatePart("PART_ScrollPresenter", typeof(ScrollPresenter), true)]
public sealed class ScrollContainer : TemplatedControl, IAddChild<Control>, IAddChild, INotifyPropertyChanged, IDisposable, IScrollViewportOwner
- Inheritance
-
ScrollContainer
- Implements
- Inherited Members
Constructors
ScrollContainer()
public ScrollContainer()
Fields
ScrollPresenterPartName
public const string ScrollPresenterPartName = "PART_ScrollPresenter"
Field Value
Properties
AccessibilityActions
public override AccessibilityActions AccessibilityActions { get; }
Property Value
AccessibilityRole
public override AccessibilityRole AccessibilityRole { get; }
Property Value
Content
public Control Content { get; set; }
Property Value
DragHoverScrollBorder
public int DragHoverScrollBorder { get; set; }
Property Value
DragHoverScrollSpeed
public float DragHoverScrollSpeed { get; set; }
Property Value
DrawFocusBorder
Retained draw-focus-border policy.
public bool DrawFocusBorder { get; set; }
Property Value
Extent
public Vector2 Extent { get; }
Property Value
- Vector2
FollowFocus
Scrolls the focused descendant into view as focus changes, matching Godot's follow_focus property.
public bool FollowFocus { get; set; }
Property Value
HorizontalCustomStep
Forwards to the underlying scrollbar's own CustomStep, matching Godot's set_horizontal_custom_step/set_vertical_custom_step, which themselves just forward to h_scroll/v_scroll's set_custom_step - this has no effect on mouse-wheel scroll amount, which Godot always computes from the scrollbar's page instead (see PointerWheel).
public float HorizontalCustomStep { get; set; }
Property Value
HorizontalScroll
Horizontal scroll position, corresponding to Godot's h_scroll property.
public int HorizontalScroll { get; set; }
Property Value
HorizontalScrollBar
public HScrollBar HorizontalScrollBar { get; }
Property Value
HorizontalScrollMode
public ScrollBarVisibility HorizontalScrollMode { get; set; }
Property Value
IsBeyondScrollDeadzone
public bool IsBeyondScrollDeadzone { get; }
Property Value
IsTouchDragDecelerating
public bool IsTouchDragDecelerating { get; }
Property Value
IsTouchDragging
public bool IsTouchDragging { get; }
Property Value
MaxScrollOffset
public Vector2 MaxScrollOffset { get; }
Property Value
- Vector2
ScrollAnchor
public ScrollAnchor? ScrollAnchor { get; }
Property Value
ScrollDeadzone
Retained touch-drag deadzone state, corresponding to Godot's scroll_deadzone property.
public int ScrollDeadzone { get; set; }
Property Value
ScrollHintMode
Retained overflow hint mode.
public ScrollContainerScrollHintMode ScrollHintMode { get; }
Property Value
ScrollHorizontalByDefault
Retained default wheel-axis policy. Touch/trackpad gesture parity remains platform-dependent.
public bool ScrollHorizontalByDefault { get; set; }
Property Value
ScrollOffset
public Vector2 ScrollOffset { get; set; }
Property Value
- Vector2
ScrollOnDragHover
Scrolls while a retained drag hovers near an edge, matching Godot's scroll_on_drag_hover property.
public bool ScrollOnDragHover { get; set; }
Property Value
TileScrollHint
Retains Godot's texture tiling policy for themed scroll hints.
public bool TileScrollHint { get; }
Property Value
TouchDragSpeed
public Vector2 TouchDragSpeed { get; }
Property Value
- Vector2
VerticalCustomStep
public float VerticalCustomStep { get; set; }
Property Value
VerticalScroll
Vertical scroll position, corresponding to Godot's v_scroll property.
public int VerticalScroll { get; set; }
Property Value
VerticalScrollBar
public VScrollBar VerticalScrollBar { get; }
Property Value
VerticalScrollMode
public ScrollBarVisibility VerticalScrollMode { get; set; }
Property Value
Viewport
public Vector2 Viewport { get; }
Property Value
- Vector2
Methods
AddChild(Control)
public override void AddChild(Control child)
Parameters
childControl
ArrangeChildren()
protected override void ArrangeChildren()
BeginTouchDragScroll()
Begins a retained touch drag, mirroring Godot's touchscreen mouse-press handling in ScrollContainer::gui_input.
public void BeginTouchDragScroll()
BringIndexIntoView(int)
public bool BringIndexIntoView(int index)
Parameters
indexint
Returns
CancelTouchDragScroll()
Cancels an in-progress touch drag immediately, mirroring Godot's ScrollContainer::_cancel_drag.
public void CancelTouchDragScroll()
CaptureScrollAnchor(object, Vector2)
public ScrollAnchor CaptureScrollAnchor(object token, Vector2 contentPosition)
Parameters
tokenobjectcontentPositionVector2
Returns
ClearScrollAnchor()
public void ClearScrollAnchor()
EndTouchDragScroll()
Ends a retained touch drag, entering inertial deceleration when speed is nonzero like Godot's release handling.
public void EndTouchDragScroll()
EnsureControlVisible(Control)
Scrolls as little as necessary to reveal a descendant control inside the viewport.
public void EnsureControlVisible(Control control)
Parameters
controlControl
GetDeadzone()
public int GetDeadzone()
Returns
GetDrawFocusBorder()
public bool GetDrawFocusBorder()
Returns
GetHScroll()
public int GetHScroll()
Returns
GetHScrollBar()
public HScrollBar GetHScrollBar()
Returns
GetHorizontalCustomStep()
public float GetHorizontalCustomStep()
Returns
GetHorizontalScrollMode()
public ScrollBarVisibility GetHorizontalScrollMode()
Returns
GetMinimumSize()
public override Vector2 GetMinimumSize()
Returns
- Vector2
GetScrollHintMode()
public ScrollContainerScrollHintMode GetScrollHintMode()
Returns
GetVScroll()
public int GetVScroll()
Returns
GetVScrollBar()
public VScrollBar GetVScrollBar()
Returns
GetVerticalCustomStep()
public float GetVerticalCustomStep()
Returns
GetVerticalScrollMode()
public ScrollBarVisibility GetVerticalScrollMode()
Returns
IsFollowingFocus()
public bool IsFollowingFocus()
Returns
IsScrollHintTiled()
public bool IsScrollHintTiled()
Returns
IsScrollHorizontalByDefault()
public bool IsScrollHorizontalByDefault()
Returns
IsScrollOnDragHoverEnabled()
public bool IsScrollOnDragHoverEnabled()
Returns
OnContextChanged(UIContext, UIContext)
Called when this control enters, exits, or moves between retained UI contexts.
protected override void OnContextChanged(UIContext previous, UIContext current)
Parameters
OnTemplateApplied()
protected override void OnTemplateApplied()
RestoreScrollAnchor(object, Vector2)
public bool RestoreScrollAnchor(object token, Vector2 contentPosition)
Parameters
tokenobjectcontentPositionVector2
Returns
ScrollTo(Vector2)
public void ScrollTo(Vector2 offset)
Parameters
offsetVector2
SetDeadzone(int)
public void SetDeadzone(int deadzone)
Parameters
deadzoneint
SetDrawFocusBorder(bool)
public void SetDrawFocusBorder(bool draw)
Parameters
drawbool
SetFollowFocus(bool)
public void SetFollowFocus(bool enable)
Parameters
enablebool
SetHScroll(int)
public void SetHScroll(int value)
Parameters
valueint
SetHorizontalCustomStep(float)
public void SetHorizontalCustomStep(float value)
Parameters
valuefloat
SetHorizontalScrollMode(ScrollBarVisibility)
public void SetHorizontalScrollMode(ScrollBarVisibility mode)
Parameters
modeScrollBarVisibility
SetScrollHintMode(ScrollContainerScrollHintMode)
public void SetScrollHintMode(ScrollContainerScrollHintMode mode)
Parameters
SetScrollHorizontalByDefault(bool)
public void SetScrollHorizontalByDefault(bool enable)
Parameters
enablebool
SetScrollOnDragHover(bool)
public void SetScrollOnDragHover(bool enable)
Parameters
enablebool
SetTileScrollHint(bool)
public void SetTileScrollHint(bool enable)
Parameters
enablebool
SetVScroll(int)
public void SetVScroll(int value)
Parameters
valueint
SetVerticalCustomStep(float)
public void SetVerticalCustomStep(float value)
Parameters
valuefloat
SetVerticalScrollMode(ScrollBarVisibility)
public void SetVerticalScrollMode(ScrollBarVisibility mode)
Parameters
modeScrollBarVisibility
TouchDragScrollBy(Vector2)
Applies relative touch motion, gating on ScrollDeadzone exactly like Godot's gui_input drag accumulation.
public void TouchDragScrollBy(Vector2 relativeMotion)
Parameters
relativeMotionVector2
Events
ScrollEnded
Raised when a touch drag that crossed the deadzone ends, matching Godot's scroll_ended signal.
public event EventHandler ScrollEnded
Event Type
ScrollExtentChanged
public event EventHandler ScrollExtentChanged
Event Type
ScrollMetricsChanged
public event EventHandler<ScrollViewportMetricsChangedEventArgs> ScrollMetricsChanged
Event Type
ScrollOffsetChanged
public event EventHandler ScrollOffsetChanged
Event Type
ScrollStarted
Raised when a touch drag first crosses ScrollDeadzone, matching Godot's scroll_started signal.
public event EventHandler ScrollStarted
Event Type
ViewportChanged
public event EventHandler ViewportChanged