import { Color, Xfo, NumberParameter, GeomItem, Parameter, ZeaPointerEvent, FlatSurfaceMaterial } from '@zeainc/zea-engine'; import BaseLinearMovementHandle from './BaseLinearMovementHandle'; import ParameterValueChange from '../UndoRedo/Changes/ParameterValueChange'; /** * Class representing a slider scene widget. There are two parts in this widget, the slider and the handle.
* The **Handle** is the moving part of the widget, the object you interact with. The **Slider** is the path that the **handle** follows. * * **Parameters** * * **Length(`NumberParameter`):** Specifies the length of the slider. * * **HandleRadius(`NumberParameter`):** Specifies the handle radius. * * **BarRadius(`NumberParameter`):** Specifies the radius of the slider. * * * @extends BaseLinearMovementHandle */ declare class SliderHandle extends BaseLinearMovementHandle { param: Parameter; lengthParam: NumberParameter; barRadiusParam: NumberParameter; handleRadiusParam: NumberParameter; handleMat: FlatSurfaceMaterial; handle: GeomItem; baseBar: GeomItem; topBar: GeomItem; handleXfo: Xfo; baseBarXfo: Xfo; topBarXfo: Xfo; change: ParameterValueChange; /** * Create a slider scene widget. * * @param name - The name value. * @param length - The length value. * @param radius - The radius value. * @param color - The color value. */ constructor(name?: string, length?: number, radius?: number, color?: Color); /** * highlight the handle to indicate it is under the mouse. */ highlight(): void; /** * Removes the highlight from the handle once the mouse moves away. */ unhighlight(): void; /** * Sets global xfo target parameter. * * @param param - The parameter that will be modified during manipulation */ setTargetParam(param: Parameter): void; /** * * * @param value - * @private */ __updateSlider(value: number): void; /** * Handles the initially drag of the handle. * * @param event - The event param. */ onDragStart(event: ZeaPointerEvent): void; /** * Handles drag action of the handle. * * @param event - The event param. */ onDrag(event: ZeaPointerEvent): void; /** * Handles the end of dragging the handle. * * @param event - The event param. */ onDragEnd(event: ZeaPointerEvent): void; /** * Serializes handle item as a JSON object. * * @param context - The context param. * @return {object} The return value. */ toJSON(context: Record): Record; /** * Restores handle item from a JSON object. * * @param json - The json param. * @param context - The context param. */ fromJSON(json: Record, context: Record): void; } export default SliderHandle; export { SliderHandle }; //# sourceMappingURL=SliderHandle.d.ts.map