Skip to content

Class: ScrollViewSystem ​

Drives ScrollViewComponent. Runs in PreRender (once per rendered frame, unlike the fixed-step Update phase which can fire 0..N times per frame) so drag tracking and inertia are frame-smooth on any refresh rate, and positions are set before TransformSystem composes them.

Drag: pointer-down on the viewport starts a drag tracked via the global pointer stream (entity move/up stop firing once the pointer leaves the node). The move handler updates the offset and estimates release velocity from real elapsed time (smoothed) — NOT from per-tick deltas, which the catch-up loop corrupts. OnRender applies the offset to the content child's transform every frame, clamps to [0, contentSize - viewportSize], and decays inertia after release.

Offsets are the single source of truth — code writing offsetX/Y (or SetPercent*) scrolls through the same clamp + apply path.

Extends ​

Constructors ​

Constructor ​

ts
new ScrollViewSystem(): ScrollViewSystem;

Returns ​

ScrollViewSystem

Inherited from ​

System.constructor

Properties ​

PropertyModifierTypeDefault valueInherited from
enabledpublicbooleantrueSystem.enabled
parallelpublicbooleanfalseSystem.parallel

Methods ​

GetName() ​

ts
GetName(): string;

Returns ​

string

Overrides ​

System.GetName


GetOrder() ​

ts
GetOrder(): SystemOrder;

Ordered: the scroll composes into world transforms the same frame.

Returns ​

SystemOrder


GetPhase() ​

ts
GetPhase(): SystemPhase;

Returns ​

SystemPhase

Overrides ​

System.GetPhase


GetWrites() ​

ts
GetWrites(): readonly string[];

Returns ​

readonly string[]


OnClose() ​

ts
OnClose(): void;

Returns ​

void

Inherited from ​

System.OnClose


OnInit() ​

ts
OnInit(engine): void;

Parameters ​

ParameterType
engineIEngine

Returns ​

void

Overrides ​

System.OnInit


OnRender() ​

ts
OnRender(scene, _renderer): void;

Parameters ​

ParameterType
sceneScene
_rendererIRenderer

Returns ​

void

Overrides ​

System.OnRender


OnRendererChanged() ​

ts
OnRendererChanged(_renderer): void;

Parameters ​

ParameterType
_rendererIRenderer

Returns ​

void

Inherited from ​

System.OnRendererChanged


OnStart() ​

ts
OnStart(scene, _renderer): void;

Parameters ​

ParameterType
sceneScene
_rendererIRenderer

Returns ​

void

Overrides ​

System.OnStart


OnStop() ​

ts
OnStop(_scene): void;

Parameters ​

ParameterType
_sceneScene

Returns ​

void

Overrides ​

System.OnStop


OnUpdate() ​

ts
OnUpdate(_scene, _dt): void | Promise<void>;

Parameters ​

ParameterType
_sceneScene
_dtnumber

Returns ​

void | Promise<void>

Inherited from ​

System.OnUpdate

© 2026 PlayAdGentic