UNPKG

@petkoneo/phaser3-rex-plugins

Version:
160 lines (124 loc) 4.75 kB
import Sizer from '../../sizer/Sizer'; import RoundRecrangle from '../../../../plugins/roundrectangle'; export default Scrollable; declare namespace Scrollable { type ScrollModeTypes = 0 | 1 | 2 | 'v' | 'h' | 'vh' | 'vertical' | 'horizontal' | 'x' | 'y' | 'xy'; type AlignTypes = 'left' | 'top' | 'right' | 'bottom' | 'center'; type SliderInputTypes = 0 | 1 | -1 | 'drag' | 'pan' | 'click' | 'none'; type SliderPositionTypes = 0 | 1 | 'right' | 'bottom' | 'left' | 'top'; interface ISliderConfig { background?: Phaser.GameObjects.GameObject | RoundRecrangle.IConfig, track?: Phaser.GameObjects.GameObject | RoundRecrangle.IConfig, thumb?: Phaser.GameObjects.GameObject | RoundRecrangle.IConfig, input?: SliderInputTypes, position?: SliderPositionTypes, tick?: number, hideUnscrollableSlider?: boolean, disableUnscrollableDrag?: boolean, adaptThumbSize?: boolean, minThumbSize?: number, buttons?: { top?: Phaser.GameObjects.GameObject, bottom?: Phaser.GameObjects.GameObject, left?: Phaser.GameObjects.GameObject, right?: Phaser.GameObjects.GameObject, step?: number } } interface IScrollerConfig { threshold?: number, slidingDeceleration?: number | false, backDeceleration?: number | false, dragRate?: number, pointerOutRelease?: boolean, rectBoundsInteractive?: boolean, } interface IMouseWheelScroller { focus?: boolean | 0 | 1 | 2, speed?: number, } interface IConfig extends Sizer.IConfig { space?: { left?: number, right?: number, top?: number, bottom?: number, sliderX?: number, sliderY?: number, header?: number, footer?: number, }, scrollMode?: ScrollModeTypes, background?: Phaser.GameObjects.GameObject, snapStep?: number, snapStepX?: number, snapStepY?: number, slider?: ISliderConfig | boolean, sliderX?: ISliderConfig | boolean, sliderY?: ISliderConfig | boolean, scrollDetectionMode?: 0 | 1 | 'rectBounds' | 'gameObject', scroller?: IScrollerConfig | boolean, scrollerX?: IScrollerConfig | boolean, scrollerY?: IScrollerConfig | boolean, mouseWheelScroller?: IMouseWheelScroller | boolean, mouseWheelScrollerX?: IMouseWheelScroller | boolean, mouseWheelScrollerY?: IMouseWheelScroller | boolean, clampChildOY?: boolean, clampChildOX?: boolean, header?: Phaser.GameObjects.GameObject, footer?: Phaser.GameObjects.GameObject, align?: { header?: AlignTypes, footer?: AlignTypes, }, expand?: { header?: boolean, footer?: boolean, }, } } declare class Scrollable extends Sizer { t: number; s: number; setT(value: number, clamp?: boolean): this; addT(inc: number, clamp?: boolean): this; scrollToTop(): this; scrollToBottom(): this; setS(value: number, clamp?: boolean): this; addS(inc: number, clamp?: boolean): this; scrollToLeft(): this; scrollToRight(): this; childOY: number; childOX: number; readonly topChildOY: number; readonly bottomChildOY: number; readonly leftChildOX: number; readonly rightChildOX: number; readonly childVisibleHeight: number; readonly childHeight: number; readonly childVisibleWidth: number; readonly childWidth: number; setChildOY(value: number, clamp?: boolean): this; addChildOY(inc: number, clamp?: boolean): this; setChildOX(value: number, clamp?: boolean): this; addChildOX(inc: number, clamp?: boolean): this; sliderEnable: boolean; setSliderEnable(enable?: boolean): this; sliderYEnable: boolean; setSliderYEnable(enable?: boolean): this; sliderXEnable: boolean; setSliderXEnable(enable?: boolean): this; scrollerEnable: boolean; setScrollerEnable(enable?: boolean): this; scrollerYEnable: boolean; setScrollerYEnable(enable?: boolean): this; scrollerXEnable: boolean; setScrollerXEnable(enable?: boolean): this; mouseWheelScrollerEnable: boolean; setMouseWheelScrollerEnable(enable?: boolean): this; mouseWheelScrollerYEnable: boolean; setMouseWheelScrollerYEnable(enable?: boolean): this; mouseWheelScrollerXEnable: boolean; setMouseWheelScrollerXEnable(enable?: boolean): this; readonly scrollMode: number; readonly isOverflow: boolean; readonly isOverflowY: boolean; readonly isOverflowX: boolean; }