@devexpress/utils
Version:
DevExpress utils
75 lines • 3.4 kB
TypeScript
import { Flag } from '../class/flag';
import { FixedInterval } from '../intervals/fixed';
import { ICloneable, IEquatable, ISupportCopyFrom, SimpleConverter } from '../types';
import { IOffsets, IPoint, IRectangle, ISize } from './interfaces';
import { Point } from './point';
import { Size } from './size';
export declare class Rectangle implements IRectangle, IEquatable<Rectangle>, ICloneable<Rectangle>, ISupportCopyFrom<Rectangle> {
x: number;
y: number;
width: number;
height: number;
get right(): number;
get bottom(): number;
get center(): Point;
constructor(x: number, y: number, width: number, height: number);
createRectangle(): Rectangle;
createSize(): Size;
createPosition(): Point;
createVerticalInterval(): FixedInterval;
createHorizontalInterval(): FixedInterval;
static fromGeometry(point: IPoint, size: ISize): Rectangle;
static fromPoints(pointA: IPoint, pointB: IPoint): Rectangle;
static fromPositions(x1: number, y1: number, x2: number, y2: number): Rectangle;
static fromCenter(center: Point, minRadius: number): Rectangle;
isCollapsed(): boolean;
isEmpty(): boolean;
toString(): string;
setPosition(pos: IPoint): this;
setSize(size: ISize): this;
setGeomerty(rect: IRectangle): this;
moveRectangle(offsetX: number, offsetY: number): this;
moveRectangleByPoint(offset: IPoint): this;
resize(deltaX: number, deltaY: number): this;
nonNegativeSize(): this;
multiply(multiplierX: number, multiplierY: number): this;
equals(obj: IRectangle): boolean;
clone(): Rectangle;
copyFrom(obj: IRectangle): void;
containsPoint(point: IPoint): boolean;
containsRectangle(rectangle: Rectangle): boolean;
inflate(deltaX: number, deltaY?: number): this;
applyOffsetsInside(offsets: IOffsets): this;
applyNormalizedOffsetsInside(offsets: IOffsets): this;
applyOffsetsOutside(offsets: IOffsets): this;
applyConverter(converter: SimpleConverter<number>): this;
static getHorizIntersection(objA: IRectangle, objB: IRectangle): FixedInterval | null;
static getVertIntersection(objA: IRectangle, objB: IRectangle): FixedInterval | null;
static getIntersection(objA: IRectangle, objB: IRectangle): Rectangle | null;
static getHorNonCollapsedIntersection(objA: Rectangle, objB: Rectangle): FixedInterval | null;
static getVertNonCollapsedIntersection(objA: Rectangle, objB: Rectangle): FixedInterval | null;
static getNonCollapsedIntersection(objA: Rectangle, objB: Rectangle): Rectangle | null;
static areIntersected(rectA: IRectangle, rectB: IRectangle): boolean;
static union(rectA: IRectangle, rectB: IRectangle): Rectangle;
static equals(a: IRectangle, b: IRectangle): boolean;
static center(rect: IRectangle): Point;
static containsPoint(rect: IRectangle, point: IPoint): boolean;
}
export declare enum HitTestDeviation {
None = 0,
Top = 1,
Bottom = 2,
Left = 4,
Right = 8
}
export declare class RectangleDeviation {
initRectangle: Rectangle;
initPoint: Point;
deviation: Flag;
offsetToInside: Point;
insidePoint: Point;
constructor(initRectangle: Rectangle, initPoint: Point);
calcDeviation(): this;
calcAdditionalParams(): this;
}
//# sourceMappingURL=rectangle.d.ts.map