UNPKG

pixi-reactive

Version:

A library to help integrate PIXI into a React project

154 lines (153 loc) 3.98 kB
import * as PIXI from 'pixi.js'; export declare type ShapeTextureType = { texture?: PIXI.Texture; matrix?: PIXI.Matrix; setTexture: (texture?: PIXI.Texture) => void; setMatrix: (matrix?: PIXI.Matrix) => void; }; export declare type FillDefinition = FillStyleType & TextureStyleType; export declare type LineDefinition = LineStyleType & TextureStyleType; export declare type ShapeStyleType = { fill?: FillDefinition; line?: LineDefinition; holes?: ShapeType[]; setFillStyle: (fill?: FillDefinition) => void; setLineStyle: (line?: LineDefinition) => void; setHoles: (holes?: ShapeType[]) => void; }; export declare enum LineJoin { Miter = "miter", Round = "round", Bevel = "bevel" } export declare enum LineCap { Butt = "butt", Round = "round", Square = "square" } export declare enum ShapeAction { UpdateShape = 0, RemoveShape = 1 } export declare type GraphicsState = { shapes: string[]; shapeMap: Map<string, DrawShapeDefinition>; }; export declare type ShapeActionType = { type: ShapeAction; id: string; definition?: DrawShapeDefinition; }; export declare enum Shapes { Path = 0, Circle = 1, Ellipse = 2, Polygon = 3, Rect = 4, RoundedRect = 5, Star = 6, Arc = 7, ArcCurve = 8, BezierCurve = 9, QuadraticCurve = 10 } export declare type ShapeGenericType = { name?: string; }; export declare type ShapeType = ShapeGenericType & { type: Shapes; params: number[]; points?: PIXI.Point[]; }; declare type TextureStyleType = { texture?: PIXI.Texture; matrix?: PIXI.Matrix; }; export declare type FillStyleType = { alpha?: number; color?: number; }; export declare type LineStyleType = FillStyleType & { alignment?: number; cap?: LineCap; join?: LineJoin; miterLimit?: number; native?: boolean; width?: number; }; export declare type DrawShapeDefinition = ShapeType & { id: string; fill?: FillDefinition; line?: LineDefinition; holes?: ShapeType[]; }; export declare type GraphicsContextType = { drawShape: (definition: DrawShapeDefinition) => void; removeShape: (id: string) => void; }; export declare type Coords = { x: number; y: number; }; export declare type Area = Coords & { width: number; height: number; }; export declare type RectangleType = ShapeGenericType & Area & { borderRadius?: number; }; export declare type CircleType = ShapeGenericType & Coords & { radius: number; }; export declare type QuadraticCurveType = ShapeGenericType & { xFrom?: number; yFrom?: number; xTo: number; yTo: number; controlX: number; controlY: number; }; export declare type ArcCurveType = QuadraticCurveType & { radius: number; }; export declare type BezierCurveType = QuadraticCurveType & { controlX2: number; controlY2: number; }; export declare type ArcType = ShapeGenericType & CircleType & Coords & { startAngle: number; endAngle: number; anticlockwise?: boolean; }; export declare type EllipseType = ShapeGenericType & Area; export declare type RegularPolygonType = CircleType & { sides?: number; rotation?: number; }; export declare type StarType = CircleType & { points?: number; innerRadius?: number; rotation?: number; }; export declare type PointProps = Coords & { id?: string; }; export declare type PointsContextType = { points: PIXI.Point[]; addPoint: (id: string, point: Coords) => void; removePoint: (id: string) => void; }; export declare type PointsState = { points: string[]; pointMap: Map<string, Coords>; }; export declare enum PointAction { Add = 0, Remove = 1 } export declare type PointActionType = { type: PointAction; id: string; point?: Coords; }; export {};