canvasimo
Version:
An HTML5 canvas drawing library, with 150+ useful methods, jQuery-like fluent interface, and cross-browser compatibility enhancements.
91 lines (90 loc) • 4.05 kB
TypeScript
import Canvasimo from './';
export declare type Segments = number[];
export declare type Points = Array<{
x: number;
y: number;
}> | Array<[number, number]> | number[];
export declare type GlobalCompositeOperation = 'source-over' | 'source-in' | 'source-out' | 'source-atop' | 'destination-over' | 'destination-in' | 'destination-out' | 'destination-atop' | 'lighter' | 'copy' | 'xor' | 'multiply' | 'screen' | 'overlay' | 'darken' | 'lighten' | 'color-dodge' | 'color-burn' | 'hard-light' | 'soft-light' | 'difference' | 'exclusion' | 'hue' | 'saturation' | 'color' | 'luminosity';
export declare type TextBaseline = 'top' | 'hanging' | 'middle' | 'alphabetic' | 'ideographic' | 'bottom';
export declare type TextAlign = 'left' | 'right' | 'center' | 'start' | 'end';
export declare type LineJoin = 'bevel' | 'round' | 'miter';
export declare type LineCap = 'butt' | 'round' | 'square';
export declare type FillRule = 'nonzero' | 'evenodd';
export declare type WordBreak = 'normal' | 'break-word' | 'break-all';
export declare type BooleanFalsy = boolean | undefined | null;
export declare type MaxWidth = number | undefined | null;
export declare type ImageLike = HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | ImageBitmap;
export declare type CanvasContextAttributes = CanvasRenderingContext2DSettings | WebGLContextAttributes;
export declare type CanvasContext = CanvasRenderingContext2D | WebGLRenderingContext;
export declare type FillOrStrokeStyle = string | CanvasGradient | CanvasPattern;
export declare type Size = {
width: number;
height: number;
};
export declare type LimitedTextMetrics = {
width: number;
};
export interface SetSize {
(size: Size): Canvasimo;
(width: number, height: number): Canvasimo;
}
export interface DrawImage {
(image: ImageLike, dstX: number, dstY: number): Canvasimo;
(image: ImageLike, dstX: number, dstY: number, dstW: number, dstH: number): Canvasimo;
(image: ImageLike, srcX: number, srcY: number, srcW: number, srcH: number, dstX: number, dstY: number, dstW: number, dstH: number): Canvasimo;
}
export interface CreateImageData {
(width: number, height: number): ImageData;
(ImageData: ImageData): ImageData;
}
export interface PutImageData {
(imagedata: ImageData, dx: number, dy: number): Canvasimo;
(imagedata: ImageData, dx: number, dy: number, dirtyX: number, dirtyY: number, dirtyWidth: number, dirtyHeight: number): Canvasimo;
}
export interface Fill {
(color?: string): Canvasimo;
(fillRule?: FillRule): Canvasimo;
(color: string, fillRule: FillRule): Canvasimo;
}
export interface Stroke {
(color?: string): Canvasimo;
(path?: Path2D): Canvasimo;
(color: string, path: Path2D): Canvasimo;
}
export interface GetAngle {
(x1: number, y1: number, x2: number, y2: number): number;
(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number): number;
}
export interface Repeat {
(end: number, callback: (i: number) => any): Canvasimo;
(start: number, end: number, callback: (i: number) => any): Canvasimo;
(start: number, end: number, step: number, callback: (i: number) => any): Canvasimo;
}
export interface ForEach {
(str: string, callback: (value: string, index: number) => any): Canvasimo;
(obj: any[], callback: (value: any, index: number) => any): Canvasimo;
(obj: {
[i: string]: any;
}, callback: (value: any, key: string) => any): Canvasimo;
}
export interface StoredContextValues {
globalAlpha: number;
globalCompositeOperation: GlobalCompositeOperation;
strokeStyle: FillOrStrokeStyle;
fillStyle: FillOrStrokeStyle;
shadowOffsetX: number;
shadowOffsetY: number;
shadowBlur: number;
shadowColor: string;
lineWidth: number;
lineCap: LineCap;
lineJoin: LineJoin;
miterLimit: number;
lineDashOffset: number;
font: string;
textAlign: TextAlign;
textBaseline: TextBaseline;
imageSmoothingEnabled: boolean;
imageSmoothingQuality: ImageSmoothingQuality;
lineDash: number[];
}