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.
41 lines
1.1 KiB
41 lines
1.1 KiB
1 month ago
|
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;
|