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
Properties
| Property | Modifier | Type | Default value | Inherited from |
|---|---|---|---|---|
enabled | public | boolean | true | System.enabled |
parallel | public | boolean | false | System.parallel |
Methods
GetName()
ts
GetName(): string;Returns
string
Overrides
GetOrder()
ts
GetOrder(): SystemOrder;Ordered: the scroll composes into world transforms the same frame.
Returns
SystemOrder
GetPhase()
ts
GetPhase(): SystemPhase;Returns
Overrides
GetWrites()
ts
GetWrites(): readonly string[];Returns
readonly string[]
OnClose()
ts
OnClose(): void;Returns
void
Inherited from
OnInit()
ts
OnInit(engine): void;Parameters
| Parameter | Type |
|---|---|
engine | IEngine |
Returns
void
Overrides
OnRender()
ts
OnRender(scene, _renderer): void;Parameters
| Parameter | Type |
|---|---|
scene | Scene |
_renderer | IRenderer |
Returns
void
Overrides
OnRendererChanged()
ts
OnRendererChanged(_renderer): void;Parameters
| Parameter | Type |
|---|---|
_renderer | IRenderer |
Returns
void
Inherited from
OnStart()
ts
OnStart(scene, _renderer): void;Parameters
| Parameter | Type |
|---|---|
scene | Scene |
_renderer | IRenderer |
Returns
void
Overrides
OnStop()
ts
OnStop(_scene): void;Parameters
| Parameter | Type |
|---|---|
_scene | Scene |
Returns
void
Overrides
OnUpdate()
ts
OnUpdate(_scene, _dt): void | Promise<void>;Parameters
| Parameter | Type |
|---|---|
_scene | Scene |
_dt | number |
Returns
void | Promise<void>