@pilotlab/lux-attributes
Version:
A luxurious user experience framework, developed by your friends at Pilot.
32 lines (31 loc) • 1.22 kB
TypeScript
import { IAttribute, Attribute } from '@pilotlab/lux-attributes';
import IRectangle from './interfaces/iRectangle';
import Point from './point';
import { IAttributeUpdateTracker } from '@pilotlab/lux-attributes';
import { IAnimationEaseFunction, ISpeed } from '@pilotlab/lux-animation';
export declare class Rectangle extends Attribute implements IRectangle {
constructor(x?: number, y?: number, width?: number, height?: number, label?: string);
readonly copy: Rectangle;
x: number;
left: number;
right: number;
protected p_x: IAttribute;
y: number;
top: number;
bottom: number;
protected p_y: IAttribute;
width: number;
protected p_width: IAttribute;
height: number;
protected p_height: IAttribute;
readonly topLeft: Point;
readonly topRight: Point;
readonly bottomLeft: Point;
readonly bottomRight: Point;
intersects(rectangle: Rectangle): boolean;
has(rectangle: Rectangle): boolean;
canFit(rectangle: Rectangle): boolean;
go(target: IRectangle, durationSpeed?: (number | ISpeed), ease?: IAnimationEaseFunction, repeatCount?: number): IAttributeUpdateTracker;
static readonly empty: Rectangle;
}
export default Rectangle;