Release package version 0.0.7
All checks were successful
Checks / build (push) Successful in 19s

Update interface of scene
This commit is contained in:
Andrey Kernichniy 2026-03-07 22:11:24 +07:00
parent e055142988
commit f8805f404f
6 changed files with 33 additions and 27 deletions

View file

@ -3,3 +3,5 @@ export * from "./scene";
export * from "./objects"; export * from "./objects";
export * from "./fill"; export * from "./fill";
export * from "./color"; export * from "./color";
export * from "./stroke";
export * from "./transform";

View file

@ -1,6 +1,8 @@
import { IPoint } from "@gxc-solutions/math"; import { IPoint } from "@gxc-solutions/math";
import { IRgbColor } from "./color"; import { IRgbColor } from "./color";
import { Fill } from "./fill"; import { Fill } from "./fill";
import { ITransform } from "./transform";
import { IStroke } from "./stroke";
export interface IRectangle { export interface IRectangle {
x: number; x: number;
@ -15,25 +17,6 @@ export interface IEllipse {
radiusY: number; radiusY: number;
} }
export interface ITransform {
scaleX: number;
scaleY: number;
translateY: number;
translateX: number;
skewY: number;
skewX: number;
rotate: number;
}
export interface IStroke {
width: number;
color: IRgbColor;
dash: number[];
}
export type DrawObjectType = "rectangle" | "ellipse" | "image" | "text" | "path" | "line" | "node"; export type DrawObjectType = "rectangle" | "ellipse" | "image" | "text" | "path" | "line" | "node";
export interface IBaseDrawObject { export interface IBaseDrawObject {
@ -46,7 +29,7 @@ export interface IRectangleDrawObject extends IBaseDrawObject {
readonly type: "rectangle"; readonly type: "rectangle";
fill: Fill; fill: Fill;
stroke: IStroke; stroke: IStroke;
blendMode: string; blendMode: GlobalCompositeOperation;
opacity: number; opacity: number;
rectangle: IRectangle; rectangle: IRectangle;
transform: ITransform; transform: ITransform;
@ -57,7 +40,7 @@ export interface IEllipseDrawObject extends IBaseDrawObject {
fill: Fill; fill: Fill;
stroke: IStroke; stroke: IStroke;
ellipse: IEllipse; ellipse: IEllipse;
blendMode: string; blendMode: GlobalCompositeOperation;
opacity: number; opacity: number;
transform: ITransform; transform: ITransform;
} }
@ -66,8 +49,9 @@ export interface IImageDrawObject extends IBaseDrawObject {
readonly type: "image"; readonly type: "image";
source: HTMLImageElement; source: HTMLImageElement;
stroke: IStroke; stroke: IStroke;
rectangle: IRectangle;
fill: Fill; fill: Fill;
blendMode: string; blendMode: GlobalCompositeOperation;
opacity: number; opacity: number;
transform: ITransform; transform: ITransform;
} }
@ -82,8 +66,8 @@ export interface ITextDrawObject extends IBaseDrawObject {
readonly type: "text"; readonly type: "text";
stroke: IStroke; stroke: IStroke;
fill: Fill; fill: Fill;
blendMode: string; blendMode: GlobalCompositeOperation;
rectangle?: IRectangle; rectangle: IRectangle;
text: string; text: string;
font: IFont; font: IFont;
textStroke: IStroke; textStroke: IStroke;

View file

@ -1,9 +1,10 @@
import { Fill } from "./fill";
import { IBaseDrawObject, IDrawNode, IRectangle } from "./objects"; import { IBaseDrawObject, IDrawNode, IRectangle } from "./objects";
export interface IScene { export interface IScene {
nodes: IDrawNode[]; node: IDrawNode;
selection?: IRectangle; selection?: IRectangle;
spotlight: IRectangle[]; spotlight: IRectangle[];
background: string; background: Fill;
static: IBaseDrawObject[]; static: IBaseDrawObject[];
} }

View file

@ -0,0 +1,7 @@
import { IRgbColor } from "./color";
export interface IStroke {
width: number;
color: IRgbColor;
dash: number[];
}

View file

@ -0,0 +1,12 @@
export interface ITransform {
scaleX: number;
scaleY: number;
translateY: number;
translateX: number;
skewY: number;
skewX: number;
rotate: number;
}

View file

@ -1,6 +1,6 @@
{ {
"name": "@gxc-solutions/renderer-base", "name": "@gxc-solutions/renderer-base",
"version": "0.0.6", "version": "0.0.7",
"main": "index.js", "main": "index.js",
"author": "GXC Solutions", "author": "GXC Solutions",
"publishConfig": { "publishConfig": {