41 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import { ImageLike } from '../core/types';
 | 
						|
import { SVGVNode } from '../svg/core';
 | 
						|
declare type ImagePatternRepeat = 'repeat' | 'repeat-x' | 'repeat-y' | 'no-repeat';
 | 
						|
export interface PatternObjectBase {
 | 
						|
    id?: number;
 | 
						|
    type?: 'pattern';
 | 
						|
    x?: number;
 | 
						|
    y?: number;
 | 
						|
    rotation?: number;
 | 
						|
    scaleX?: number;
 | 
						|
    scaleY?: number;
 | 
						|
}
 | 
						|
export interface ImagePatternObject extends PatternObjectBase {
 | 
						|
    image: ImageLike | string;
 | 
						|
    repeat?: ImagePatternRepeat;
 | 
						|
    imageWidth?: number;
 | 
						|
    imageHeight?: number;
 | 
						|
}
 | 
						|
export interface InnerImagePatternObject extends ImagePatternObject {
 | 
						|
    __image?: ImageLike;
 | 
						|
}
 | 
						|
export interface SVGPatternObject extends PatternObjectBase {
 | 
						|
    svgElement?: SVGVNode;
 | 
						|
    svgWidth?: number;
 | 
						|
    svgHeight?: number;
 | 
						|
}
 | 
						|
export declare type PatternObject = ImagePatternObject | SVGPatternObject;
 | 
						|
declare class Pattern {
 | 
						|
    type: 'pattern';
 | 
						|
    image: ImageLike | string;
 | 
						|
    svgElement: SVGElement | string;
 | 
						|
    repeat: ImagePatternRepeat;
 | 
						|
    x: number;
 | 
						|
    y: number;
 | 
						|
    rotation: number;
 | 
						|
    scaleX: number;
 | 
						|
    scaleY: number;
 | 
						|
    constructor(image: ImageLike | string, repeat: ImagePatternRepeat);
 | 
						|
}
 | 
						|
export default Pattern;
 |