import { SyntheticPointerEvent } from '../events'; import { RenderObject } from './render-object'; import { RenderRRect } from './render-rrect'; import { RenderSingleChild } from './render-single-child'; export declare abstract class RenderScrollbar extends RenderSingleChild { /** * 默认样式 */ static readonly defaultStyles: { readonly thickness: 8; readonly rx: 4; readonly ry: 4; readonly strokeWidth: 1; readonly stroke: "rgba(255, 255, 255, 0.6)"; readonly fill: "rgba(0, 0, 0, 0.2)"; readonly cursor: "default"; readonly minGripLength: 20; }; constructor(); /** * 设置或获取滚动条的长度 */ get length(): number; set length(value: number); private _length; get thickness(): number; set thickness(value: number); protected _thickness: number; protected abstract computeMoveDelta(lhs: SyntheticPointerEvent, rhs: SyntheticPointerEvent): number; protected abstract applyLengthAndThickness(length: number, thickness: number): void; protected abstract applyGripLengthAndPosition(gripLength: number, gripPosition: number): void; private updateGripPositionAndSize; get scrollPosition(): number; set scrollPosition(value: number); private _scrollPosition; get contentLength(): number; set contentLength(value: number); private _contentLength; get viewportLength(): number; set viewportLength(value: number); private _viewportLength; get rx(): number; set rx(value: number); get ry(): number; set ry(value: number); get strokeWidth(): number | undefined; set strokeWidth(value: number | undefined); get stroke(): string | undefined; set stroke(value: string | undefined); get fill(): string | undefined; set fill(value: string | undefined); /** * 用户手动操作滚动条滚动时会调用该方法 */ onScroll?: (value: number) => void; /** * The event triggered when the user manually operates the scrollbar by pressing the mouse. */ onPointerDownGrip?: (grip: RenderRRect) => void; /** * The event triggered when the user manually operates the scrollbar by releasing the mouse. */ onPointerUpGrip?: (grip: RenderRRect) => void; private createGrip; protected handleGripPointerDown: (downEvent: SyntheticPointerEvent) => void; /** * 抓手的长度 (会被映射成 grip.size.width 或 grip.size.height) * * 抓手的长度会根据内容和视口比例计算得出 */ protected gripLength: number; /** * 抓手的位置 (会被映射成 grip.position.x 或 grip.position.y) */ protected gripPosition: number; /** * 轨道的长度 */ protected trackScrollAreaLength: number; /** * 内容的可滚动长度 */ protected contentScrollAreaLength: number; get grip(): RenderRRect; } export declare class RenderHScrollbar extends RenderScrollbar { protected computeMoveDelta(lhs: SyntheticPointerEvent, rhs: SyntheticPointerEvent): number; protected applyLengthAndThickness(length: number, thickness: number): void; protected applyGripLengthAndPosition(gripLength: number, gripPosition: number): void; } export declare class RenderVScrollbar extends RenderScrollbar { protected computeMoveDelta(lhs: SyntheticPointerEvent, rhs: SyntheticPointerEvent): number; protected applyLengthAndThickness(length: number, thickness: number): void; protected applyGripLengthAndPosition(gripLength: number, gripPosition: number): void; }