uicore-ts
Version:
UICore is a library to build native-like user interfaces using pure Typescript. No HTML is needed at all. Components are described as TS classes and all user interactions are handled explicitly. This library is strongly inspired by the UIKit framework tha
64 lines (63 loc) • 3.61 kB
TypeScript
import { UIObject } from "./UIObject";
import { UIPoint } from "./UIPoint";
import { UIView } from "./UIView";
export declare class UIRectangle extends UIObject {
_isBeingUpdated: boolean;
rectanglePointDidChange?: (b: any) => void;
max: UIPoint;
min: UIPoint;
constructor(x?: number, y?: number, height?: number, width?: number);
copy(): UIRectangle;
isEqualTo(rectangle: UIRectangle | null | undefined): boolean;
static zero(): UIRectangle;
containsPoint(point: UIPoint): boolean;
updateByAddingPoint(point: UIPoint): void;
scale(scale: number): void;
get height(): number;
set height(height: number);
get width(): number;
set width(width: number);
get x(): number;
set x(x: number);
get y(): number;
set y(y: number);
get topLeft(): UIPoint;
get topRight(): UIPoint;
get bottomLeft(): UIPoint;
get bottomRight(): UIPoint;
get center(): UIPoint;
set center(center: UIPoint);
offsetByPoint(offset: UIPoint): this;
concatenateWithRectangle(rectangle: UIRectangle): this;
intersectionRectangleWithRectangle(rectangle: UIRectangle): UIRectangle;
get area(): number;
intersectsWithRectangle(rectangle: UIRectangle): boolean;
rectangleWithInsets(left: number, right: number, bottom: number, top: number): UIRectangle;
rectangleWithInset(inset: number): UIRectangle;
rectangleWithHeight(height: number, centeredOnPosition?: number): UIRectangle;
rectangleWithWidth(width: number, centeredOnPosition?: number): UIRectangle;
rectangleWithHeightRelativeToWidth(heightRatio?: number, centeredOnPosition?: number): UIRectangle;
rectangleWithWidthRelativeToHeight(widthRatio?: number, centeredOnPosition?: number): UIRectangle;
rectangleWithX(x: number, centeredOnPosition?: number): UIRectangle;
rectangleWithY(y: number, centeredOnPosition?: number): UIRectangle;
rectangleByAddingX(x: number): UIRectangle;
rectangleByAddingY(y: number): UIRectangle;
rectangleWithRelativeValues(relativeXPosition: number, widthMultiplier: number, relativeYPosition: number, heightMultiplier: number): UIRectangle;
rectanglesBySplittingWidth(weights: number[], paddings?: number | number[], absoluteWidths?: number | number[]): UIRectangle[];
rectanglesBySplittingHeight(weights: number[], paddings?: number | number[], absoluteHeights?: number | number[]): UIRectangle[];
rectanglesByEquallySplittingWidth(numberOfFrames: number, padding?: number): UIRectangle[];
rectanglesByEquallySplittingHeight(numberOfFrames: number, padding?: number): UIRectangle[];
distributeViewsAlongWidth(views: UIView[], weights?: number | number[], paddings?: number | number[], absoluteWidths?: number | number[]): this;
distributeViewsAlongHeight(views: UIView[], weights?: number | number[], paddings?: number | number[], absoluteHeights?: number | number[]): this;
distributeViewsEquallyAlongWidth(views: UIView[], padding: number): this;
distributeViewsEquallyAlongHeight(views: UIView[], padding: number): this;
rectangleForNextRow(padding?: number, height?: number | ((constrainingWidth: number) => number)): UIRectangle;
rectangleForNextColumn(padding?: number, width?: number | ((constrainingHeight: number) => number)): UIRectangle;
rectangleForPreviousRow(padding?: number): UIRectangle;
rectangleForPreviousColumn(padding?: number): UIRectangle;
static boundingBoxForPoints(points: string | any[]): UIRectangle;
beginUpdates(): void;
finishUpdates(): void;
didChange(): void;
_rectanglePointDidChange(): void;
}