/*! * Copyright (c) Microsoft Corporation. * Licensed under the MIT License. */ import { vec2, vec3, vec4 } from "gl-matrix"; export declare const TextureType: { readonly none: 0; readonly solidColor: 1; readonly image: 2; readonly sdfText: 3; readonly checker: 4; readonly grid: 5; }; export type TextureType = (typeof TextureType)[keyof typeof TextureType]; export declare class TextureBufferData extends Float32Array { static readonly SIZE: number; readonly COLOR0_OFFSET: number; readonly TYPE_OFFSET: number; readonly COLOR1_OFFSET: number; readonly SIZE0_OFFSET: number; readonly SIZE1_OFFSET: number; readonly CLIP_OFFSET: number; readonly OFFSET_OFFSET: number; constructor(count: number); getType(index: number): number; setType(index: number, value: TextureType): void; getColor0(index: number, value: vec3): void; setColor0(index: number, value: vec3): void; getColor1(index: number, value: vec3): void; setColor1(index: number, value: vec3): void; getSize0(index: number, value: vec4): void; setSize0(index: number, value: vec4): void; getSize1(index: number, value: vec4): void; setSize1(index: number, value: vec4): void; getClip(index: number, value: vec4): void; setClip(index: number, value: vec4): void; getOffset(index: number, value: vec2): void; setOffset(index: number, value: vec2): void; } export declare abstract class Texture { abstract toBuffer(buffer: TextureBufferData, index: number): void; } export interface ISolidColorTextureOptions { color: vec3; borderColor?: vec3; } export declare class SolidColorTexture extends Texture { color: vec3; private _color; borderColor: vec3; private _borderColor; constructor(options: ISolidColorTextureOptions); toBuffer(buffer: TextureBufferData, index: number): void; } export interface IImageTextureOptions { image: ImageData; } export declare class ImageTexture extends Texture { image: ImageData; constructor(options: IImageTextureOptions); toBuffer(buffer: TextureBufferData, index: number): void; } export interface ICheckerTextureOptions { color0: vec3; color1: vec3; size: vec2; offset?: vec2; } export declare class CheckerTexture extends Texture { color0: vec3; color1: vec3; private _color0; private _color1; size: vec2; offset: vec2; constructor(options: ICheckerTextureOptions); toBuffer(buffer: TextureBufferData, index: number): void; } export interface IGridTextureOptions { color0: vec3; color1: vec3; size: vec2; minorSize: vec2; thickness: vec2; minorThickness: vec2; offset?: vec2; clip?: vec4; } export declare class GridTexture extends Texture { color0: vec3; color1: vec3; private _color0; private _color1; size: vec2; minorSize: vec2; thickness: vec2; minorThickness: vec2; offset: vec2; clip: vec4; constructor(options: IGridTextureOptions); toBuffer(buffer: TextureBufferData, index: number): void; }