You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.1 KiB
40 lines
1.1 KiB
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;
|
|
|