@aurigma/design-atoms-model
Version:
Design Atoms is a part of Customer's Canvas SDK which allows for manipulating individual design elements through your code.
72 lines (71 loc) • 2.78 kB
TypeScript
import { PointF } from "./PointF";
import { ILtrb } from "./ILtrb";
import { Matrix } from "./Matrix";
import { INotifyPropertyChanged } from "../INotifyPropertyChanged";
import { EventWithSenderArg } from "../EventObject";
export declare class RectangleF implements ILtrb, INotifyPropertyChanged<RectangleF, string> {
private _id;
private _left;
private _top;
private _width;
private _height;
private static _tolerance;
constructor(left?: number, top?: number, width?: number, height?: number);
toJSON(): {
left: number;
top: number;
width: number;
height: number;
id: any;
};
get left(): number;
set left(value: number);
get top(): number;
set top(value: number);
get width(): number;
set width(value: number);
get height(): number;
set height(value: number);
get id(): any;
static FromLTRB(left: number, top: number, right: number, bottom: number): RectangleF;
static fromLtrbObject(obj: ILtrb): RectangleF;
static FromObject(object: {
left: number;
top: number;
width: number;
height: number;
}): RectangleF;
/**
* Creates a rectangle that represents the intersetion between a and b.
* If there is no intersection, empty rectangle is returned.
*/
static intersect(a: RectangleF, b: RectangleF): RectangleF;
static union(a: RectangleF, b: RectangleF): RectangleF;
static get empty(): RectangleF;
equals(other: RectangleF): boolean;
static isEqual(a: RectangleF, b: RectangleF, tolerance?: number): boolean;
contains(point: PointF, includeBorder?: boolean, tolerance?: number): boolean;
containsRectangle(rectangle: RectangleF): boolean;
clone(): RectangleF;
isEmpty(): boolean;
inflate(size: number): void;
/**
* Determines if this rectangle intersects with rect
*/
intersectsWith(rect: RectangleF): boolean;
updateByMatrix(matrix: Matrix): this;
getExpanded(margin: ILtrb): RectangleF;
toString(): string;
static fromString(str: string): RectangleF;
static fromPoints(point1: PointF, point2: PointF): RectangleF;
static getMatrix(initialRect: RectangleF, targetRect: RectangleF): Matrix;
static getOverallBounds(rects: RectangleF[]): RectangleF;
set right(value: number);
get right(): number;
set bottom(value: number);
get bottom(): number;
get center(): PointF;
protected _propertyChanged: EventWithSenderArg<RectangleF, string>;
addPropertyChanged(listener: (sender: RectangleF, eventArgs: string) => void): void;
removePropertyChanged(listener: (sender: RectangleF, eventArgs: string) => void): void;
}