blockly
Version:
Blockly is a library for building visual programming editors.
87 lines • 2.57 kB
TypeScript
/**
* @license
* Copyright 2019 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
/**
* Utility methods for coordinate manipulation.
* These methods are not specific to Blockly, and could be factored out into
* a JavaScript framework such as Closure.
*
* @class
*/
/**
* Class for representing coordinates and positions.
*/
export declare class Coordinate {
x: number;
y: number;
/**
* @param x Left.
* @param y Top.
*/
constructor(x: number, y: number);
/**
* Creates a new copy of this coordinate.
*
* @returns A copy of this coordinate.
*/
clone(): Coordinate;
/**
* Scales this coordinate by the given scale factor.
*
* @param s The scale factor to use for both x and y dimensions.
* @returns This coordinate after scaling.
*/
scale(s: number): Coordinate;
/**
* Translates this coordinate by the given offsets.
* respectively.
*
* @param tx The value to translate x by.
* @param ty The value to translate y by.
* @returns This coordinate after translating.
*/
translate(tx: number, ty: number): Coordinate;
/**
* Compares coordinates for equality.
*
* @param a A Coordinate.
* @param b A Coordinate.
* @returns True iff the coordinates are equal, or if both are null.
*/
static equals(a?: Coordinate | null, b?: Coordinate | null): boolean;
/**
* Returns the distance between two coordinates.
*
* @param a A Coordinate.
* @param b A Coordinate.
* @returns The distance between `a` and `b`.
*/
static distance(a: Coordinate, b: Coordinate): number;
/**
* Returns the magnitude of a coordinate.
*
* @param a A Coordinate.
* @returns The distance between the origin and `a`.
*/
static magnitude(a: Coordinate): number;
/**
* Returns the difference between two coordinates as a new
* Coordinate.
*
* @param a An x/y coordinate.
* @param b An x/y coordinate.
* @returns A Coordinate representing the difference between `a` and `b`.
*/
static difference(a: Coordinate | SVGPoint, b: Coordinate | SVGPoint): Coordinate;
/**
* Returns the sum of two coordinates as a new Coordinate.
*
* @param a An x/y coordinate.
* @param b An x/y coordinate.
* @returns A Coordinate representing the sum of the two coordinates.
*/
static sum(a: Coordinate | SVGPoint, b: Coordinate | SVGPoint): Coordinate;
}
//# sourceMappingURL=coordinate.d.ts.map