DefinitelyTyped/types/ol/View.d.ts
2020-01-06 13:12:33 -08:00

170 lines
7.4 KiB
TypeScript

import { Type } from './centerconstraint';
import { Coordinate } from './coordinate';
import { EventsKey } from './events';
import BaseEvent from './events/Event';
import { Extent } from './extent';
import SimpleGeometry from './geom/SimpleGeometry';
import BaseObject, { ObjectEvent } from './Object';
import { Pixel } from './pixel';
import { ProjectionLike } from './proj';
import Projection from './proj/Projection';
import { Type as Type_1 } from './resolutionconstraint';
import { Type as Type_2 } from './rotationconstraint';
import { Size } from './size';
import ViewHint from './ViewHint';
export interface Animation {
sourceCenter?: Coordinate;
targetCenter?: Coordinate;
sourceResolution?: number;
targetResolution?: number;
sourceRotation?: number;
targetRotation?: number;
anchor?: Coordinate;
start: number;
duration: number;
complete: boolean;
easing: (p0: number) => number;
callback: (p0: boolean) => void;
}
export interface AnimationOptions {
center?: Coordinate;
zoom?: number;
resolution?: number;
rotation?: number;
anchor?: Coordinate;
duration?: number;
easing?: (p0: number) => number;
}
export interface Constraints {
center: Type;
resolution: Type_1;
rotation: Type_2;
}
export interface FitOptions {
size?: Size;
padding?: number[];
nearest?: boolean;
minResolution?: number;
maxZoom?: number;
duration?: number;
easing?: (p0: number) => number;
callback?: (p0: boolean) => void;
}
export interface State {
center: Coordinate;
projection: Projection;
resolution: number;
rotation: number;
zoom: number;
}
export interface ViewOptions {
center?: Coordinate;
constrainRotation?: boolean | number;
enableRotation?: boolean;
extent?: Extent;
constrainOnlyCenter?: boolean;
smoothExtentConstraint?: boolean;
maxResolution?: number;
minResolution?: number;
maxZoom?: number;
minZoom?: number;
multiWorld?: boolean;
constrainResolution?: boolean;
smoothResolutionConstraint?: boolean;
projection?: ProjectionLike;
resolution?: number;
resolutions?: number[];
rotation?: number;
zoom?: number;
zoomFactor?: number;
}
export default class View extends BaseObject {
constructor(opt_options?: ViewOptions);
adjustCenter(deltaCoordinates: Coordinate): void;
adjustCenterInternal(deltaCoordinates: Coordinate): void;
adjustResolution(ratio: number, opt_anchor?: Coordinate): void;
adjustResolutionInternal(ratio: number, opt_anchor?: Coordinate): void;
adjustRotation(delta: number, opt_anchor?: Coordinate): void;
adjustRotationInternal(delta: number, opt_anchor?: Coordinate): void;
adjustZoom(delta: number, opt_anchor?: Coordinate): void;
animate(...var_args: (AnimationOptions | ((p0: boolean) => void))[]): void;
animateInternal(...var_args: (AnimationOptions | ((p0: boolean) => void))[]): void;
applyOptions_(options: ViewOptions): void;
beginInteraction(): void;
calculateCenterRotate(rotation: number, anchor: Coordinate): Coordinate;
calculateCenterZoom(resolution: number, anchor: Coordinate): Coordinate;
calculateExtent(opt_size?: Size): Extent;
calculateExtentInternal(opt_size?: Size): Extent;
cancelAnimations(): void;
centerOn(coordinate: Coordinate, size: Size, position: Pixel): void;
centerOnInternal(coordinate: Coordinate, size: Size, position: Pixel): void;
endInteraction(opt_duration?: number, opt_resolutionDirection?: number, opt_anchor?: Coordinate): void;
endInteractionInternal(opt_duration?: number, opt_resolutionDirection?: number, opt_anchor?: Coordinate): void;
fit(geometryOrExtent: SimpleGeometry | Extent, opt_options?: FitOptions): void;
fitInternal(geometry: SimpleGeometry, opt_options?: FitOptions): void;
getAnimating(): boolean;
getCenter(): Coordinate;
getCenterInternal(): Coordinate;
getConstrainedCenter(targetCenter: Coordinate | undefined, opt_targetResolution?: number): Coordinate;
getConstrainedResolution(targetResolution: number | undefined, opt_direction?: number): number;
getConstrainedZoom(targetZoom: number | undefined, opt_direction?: number): number;
getConstraints(): Constraints;
getHints(opt_hints?: number[]): number[];
getInteracting(): boolean;
getMaxResolution(): number;
getMaxZoom(): number;
getMinResolution(): number;
getMinZoom(): number;
getProjection(): Projection;
getResolution(): number;
getResolutionForExtent(extent: Extent, opt_size?: Size): number;
getResolutionForExtentInternal(extent: Extent, opt_size?: Size): number;
getResolutionForValueFunction(opt_power?: number): (p0: number) => number;
getResolutionForZoom(zoom: number): number;
getResolutions(): number[];
getRotation(): number;
getState(): State;
getUpdatedOptions_(newOptions: ViewOptions): ViewOptions;
getValueForResolutionFunction(opt_power?: number): (p0: number) => number;
getZoom(): number;
getZoomForResolution(resolution: number): number;
isDef(): boolean;
resolveConstraints(opt_duration?: number, opt_resolutionDirection?: number, opt_anchor?: Coordinate): void;
setCenter(center: Coordinate | undefined): void;
setCenterInternal(center: Coordinate | undefined): void;
setConstrainResolution(enabled: boolean): void;
setHint(hint: ViewHint, delta: number): number;
setMaxZoom(zoom: number): void;
setMinZoom(zoom: number): void;
setResolution(resolution: number | undefined): void;
setRotation(rotation: number): void;
setZoom(zoom: number): void;
updateAnimations_(): void;
on(type: string | string[], listener: (p0: any) => void): EventsKey | EventsKey[];
once(type: string | string[], listener: (p0: any) => void): EventsKey | EventsKey[];
un(type: string | string[], listener: (p0: any) => void): void;
on(type: 'change', listener: (evt: BaseEvent) => void): EventsKey;
once(type: 'change', listener: (evt: BaseEvent) => void): EventsKey;
un(type: 'change', listener: (evt: BaseEvent) => void): void;
on(type: 'change:center', listener: (evt: ObjectEvent) => void): EventsKey;
once(type: 'change:center', listener: (evt: ObjectEvent) => void): EventsKey;
un(type: 'change:center', listener: (evt: ObjectEvent) => void): void;
on(type: 'change:resolution', listener: (evt: ObjectEvent) => void): EventsKey;
once(type: 'change:resolution', listener: (evt: ObjectEvent) => void): EventsKey;
un(type: 'change:resolution', listener: (evt: ObjectEvent) => void): void;
on(type: 'change:rotation', listener: (evt: ObjectEvent) => void): EventsKey;
once(type: 'change:rotation', listener: (evt: ObjectEvent) => void): EventsKey;
un(type: 'change:rotation', listener: (evt: ObjectEvent) => void): void;
on(type: 'error', listener: (evt: BaseEvent) => void): EventsKey;
once(type: 'error', listener: (evt: BaseEvent) => void): EventsKey;
un(type: 'error', listener: (evt: BaseEvent) => void): void;
on(type: 'propertychange', listener: (evt: ObjectEvent) => void): EventsKey;
once(type: 'propertychange', listener: (evt: ObjectEvent) => void): EventsKey;
un(type: 'propertychange', listener: (evt: ObjectEvent) => void): void;
}
export function createCenterConstraint(options: ViewOptions): Type;
export function createResolutionConstraint(options: ViewOptions): any;
export function createRotationConstraint(options: ViewOptions): Type_2;
export function isNoopAnimation(animation: Animation): boolean;