import ComponentBase from '../../utils/componentbase/ComponentBase'; import PinchZoom from '../pinchzoom/PinchZoom'; import PanScroll from '../panscroll/PanScroll'; import BoundsScroll from '../boundsscroll/BoundsScroll'; import MouseWheelZoom from '../mousewheelzoom/MouseWheelZoom'; declare namespace ControllerPack { /** * Combined configuration options for all camera controllers. */ interface IConfig extends PinchZoom.IConfig, PanScroll.IConfig, BoundsScroll.IConfig, MouseWheelZoom.IConfig { /** * Shared minimum zoom value. */ minZoom?: number, /** * Shared maximum zoom value. */ maxZoom?: number, /** * Set to true to create the pan scroll controller. */ panScroll?: boolean, /** * Initial enabled state of pan scroll controller. */ panScrollEnable?: boolean, /** * Set to true to create the pinch zoom controller. */ pinchZoom?: boolean, /** * Initial enabled state of pinch zoom controller. */ pinchZoomEnable?: boolean, /** * Minimum zoom of pinch zoom controller. */ pinchZoomMin?: number, /** * Maximum zoom of pinch zoom controller. */ pinchZoomMax?: number, /** * Focus mode of pinch zoom controller. */ pinchZoomFocusEnable?: boolean, /** * Set to true to create the bounds scroll controller. */ boundsScroll?: boolean, /** * Initial enabled state of bounds scroll controller. */ boundsScrollEnable?: boolean, /** * Set to true to create the mouse wheel zoom controller. */ mouseWheelZoom?: boolean, /** * Initial enabled state of mouse wheel zoom controller. */ mouseWheelZoomEnable?: boolean, /** * Zoom step used by mouse wheel zoom controller. */ mouseWheelZoomStep?: number, /** * Minimum zoom of mouse wheel zoom controller. */ mouseWheelZoomMin?: number, /** * Maximum zoom of mouse wheel zoom controller. */ mouseWheelZoomMax?: number, /** * Set to true to enable the whole controller pack. */ enable?: boolean, } } /** * Aggregates pan, pinch, bounds, and wheel camera controllers. */ declare class ControllerPack extends ComponentBase { /** * Create a camera controller pack. * * @param scene - Scene that owns this controller pack. * @param config - Optional combined configuration. */ constructor( scene: Phaser.Scene, config?: ControllerPack.IConfig ); /** * Enable or disable all enabled sub-controllers. * * @param enable - True to enable, false to disable. * @returns This controller pack. */ setEnable(enable?: boolean): this; /** * Toggle global enabled state. * * @returns This controller pack. */ toggleEnable(): this; /** * Current global enabled state. */ enable: boolean; /** * Set target camera instance for all sub-controllers. * * @param camera - Camera to control. * @returns This controller pack. */ setCamera(camera?: Phaser.Cameras.Scene2D.Camera): this; /** * Current target camera. */ camera?: Phaser.Cameras.Scene2D.Camera; /** * Enable or disable bounds scroll controller. * * @param enable - True to enable, false to disable. * @returns This controller pack. */ setBoundsScrollEnable(enable?: boolean): this; /** * Bounds scroll enabled state. */ boundsScrollEnable: boolean; /** * Enable or disable mouse wheel zoom controller. * * @param enable - True to enable, false to disable. * @returns This controller pack. */ setMouseWheelZoomEnable(enable?: boolean): this; /** * Mouse wheel zoom enabled state. */ mouseWheelZoomEnable: boolean; /** * Enable or disable pinch zoom controller. * * @param enable - True to enable, false to disable. * @returns This controller pack. */ setPinchZoomEnable(enable?: boolean): this; /** * Pinch zoom enabled state. */ pinchZoomEnable: boolean; /** * True while pinch gesture is active. */ readonly isPinching: boolean; /** * Enable or disable pan scroll controller. * * @param enable - True to enable, false to disable. * @returns This controller pack. */ setPanScrollEnable(enable?: boolean): this; /** * Pan scroll enabled state. */ panScrollEnable: boolean; /** * True while pan gesture is active. */ readonly isPanning: boolean; } export default ControllerPack;