@leafer/interface 1.9.6 → 1.9.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leafer/interface",
3
- "version": "1.9.6",
3
+ "version": "1.9.7",
4
4
  "description": "@leafer/interface",
5
5
  "author": "Chao (Leafer) Wan",
6
6
  "license": "MIT",
@@ -235,6 +235,7 @@ export interface ILeafAttrData {
235
235
 
236
236
  dim?: IBoolean | INumber // 是否弱化内容,可设置具体透明度
237
237
  dimskip?: IBoolean // 跳过弱化,突出显示内容,不受dim影响
238
+ bright?: IBoolean // 突出显示内容,并置顶渲染,不受dim影响
238
239
 
239
240
  mask?: IBoolean | IMaskType
240
241
  eraser?: IBoolean | IEraserType
@@ -341,6 +342,7 @@ export interface ILeafComputedData {
341
342
 
342
343
  dim?: boolean | number // 是否弱化内容,可设置具体透明度
343
344
  dimskip?: boolean // 跳过弱化,突出显示内容,不受dim影响
345
+ bright?: boolean // 突出显示内容,并置顶渲染,不受dim影响
344
346
 
345
347
  mask?: boolean | IMaskType
346
348
  eraser?: boolean | IEraserType
@@ -440,6 +442,7 @@ export interface ILeafComputedData {
440
442
  __useArrow?: boolean
441
443
  __useEffect?: boolean
442
444
  __usePathBox?: boolean // 是否使用路径的bounds作为元素box包围盒
445
+ __useDim?: boolean // 是否使用了弱化/突出元素功能
443
446
 
444
447
  __pathInputed?: number // 是否为输入path, 0:否,1:是,2:永远是(不自动检测)
445
448
  __pathForRender?: IPathCommandData
package/src/math/IMath.ts CHANGED
@@ -209,6 +209,7 @@ export interface IMatrix extends IMatrixWithScaleData {
209
209
 
210
210
  scale(x: number, y?: number): IMatrix
211
211
  scaleWith(x: number, y?: number): IMatrix // change scaleX scaleY
212
+ pixelScale(pixelRatio: number): IMatrix
212
213
  scaleOfOuter(origin: IPointData, x: number, y?: number): IMatrix
213
214
  scaleOfInner(origin: IPointData, x: number, y?: number): IMatrix
214
215
 
@@ -7,6 +7,7 @@ import { IObject } from '../data/IData'
7
7
  import { ICanvasType } from '../canvas/ISkiaCanvas'
8
8
  import { ISelector } from '../selector/ISelector'
9
9
  import { IProgressFunction } from '../event/IProgress'
10
+ import { IRenderOptions } from '../renderer/IRenderer'
10
11
 
11
12
 
12
13
  export interface IPlatform {
@@ -33,6 +34,7 @@ export interface IPlatform {
33
34
  selector?: ISelector // 公共查找选择器
34
35
  getSelector?(leaf: ILeaf): ISelector
35
36
  layout?(target: ILeaf): void
37
+ render?(target: ILeaf, canvas: ILeaferCanvas, options: IRenderOptions): void // 渲染元素,可处理内部产生的置顶渲染
36
38
 
37
39
  origin?: {
38
40
  createCanvas(width: number, height: number, format?: 'svg' | 'pdf'): any
@@ -3,6 +3,7 @@ import { ILeaf } from '../display/ILeaf'
3
3
  import { IBounds, IMatrixWithScaleData } from '../math/IMath'
4
4
  import { IFunction } from '../function/IFunction'
5
5
  import { IControl } from '../control/IControl'
6
+ import { ILeafList } from '../data/IList'
6
7
 
7
8
  export interface IRenderOptions {
8
9
  includes?: boolean,
@@ -10,9 +11,12 @@ export interface IRenderOptions {
10
11
  hideBounds?: IBounds,
11
12
  matrix?: IMatrixWithScaleData,
12
13
  inCamera?: boolean
13
- dimOpacity?: number
14
14
  exporting?: boolean // 是否通过 export() 导出渲染
15
15
 
16
+ dimOpacity?: number // 淡化
17
+ topList?: ILeafList // 收集需要置顶渲染的内容
18
+ topRendering?: boolean // 是否正在渲染置顶内容
19
+
16
20
  // 只渲染外形
17
21
  shape?: boolean
18
22
  ignoreFill?: boolean, // 绘制外形时忽略fill
package/types/index.d.ts CHANGED
@@ -156,6 +156,7 @@ interface IMatrix extends IMatrixWithScaleData {
156
156
  translateInner(x: number, y: number): IMatrix;
157
157
  scale(x: number, y?: number): IMatrix;
158
158
  scaleWith(x: number, y?: number): IMatrix;
159
+ pixelScale(pixelRatio: number): IMatrix;
159
160
  scaleOfOuter(origin: IPointData, x: number, y?: number): IMatrix;
160
161
  scaleOfInner(origin: IPointData, x: number, y?: number): IMatrix;
161
162
  rotate(angle: number): IMatrix;
@@ -1145,8 +1146,10 @@ interface IRenderOptions {
1145
1146
  hideBounds?: IBounds;
1146
1147
  matrix?: IMatrixWithScaleData;
1147
1148
  inCamera?: boolean;
1148
- dimOpacity?: number;
1149
1149
  exporting?: boolean;
1150
+ dimOpacity?: number;
1151
+ topList?: ILeafList;
1152
+ topRendering?: boolean;
1150
1153
  shape?: boolean;
1151
1154
  ignoreFill?: boolean;
1152
1155
  ignoreStroke?: boolean;
@@ -1462,6 +1465,7 @@ interface ILeafAttrData {
1462
1465
  zIndex?: INumber;
1463
1466
  dim?: IBoolean | INumber;
1464
1467
  dimskip?: IBoolean;
1468
+ bright?: IBoolean;
1465
1469
  mask?: IBoolean | IMaskType;
1466
1470
  eraser?: IBoolean | IEraserType;
1467
1471
  filter?: IFilter | IFilter[];
@@ -1538,6 +1542,7 @@ interface ILeafComputedData {
1538
1542
  zIndex?: number;
1539
1543
  dim?: boolean | number;
1540
1544
  dimskip?: boolean;
1545
+ bright?: boolean;
1541
1546
  mask?: boolean | IMaskType;
1542
1547
  eraser?: boolean | IEraserType;
1543
1548
  filter?: IFilter[];
@@ -1609,6 +1614,7 @@ interface ILeafComputedData {
1609
1614
  __useArrow?: boolean;
1610
1615
  __useEffect?: boolean;
1611
1616
  __usePathBox?: boolean;
1617
+ __useDim?: boolean;
1612
1618
  __pathInputed?: number;
1613
1619
  __pathForRender?: IPathCommandData;
1614
1620
  __path2DForRender?: IPath2D;
@@ -2296,6 +2302,7 @@ interface IPlatform {
2296
2302
  selector?: ISelector;
2297
2303
  getSelector?(leaf: ILeaf): ISelector;
2298
2304
  layout?(target: ILeaf): void;
2305
+ render?(target: ILeaf, canvas: ILeaferCanvas, options: IRenderOptions): void;
2299
2306
  origin?: {
2300
2307
  createCanvas(width: number, height: number, format?: 'svg' | 'pdf'): any;
2301
2308
  canvasToDataURL(canvas: any, type?: IExportImageType, quality?: number): string | Promise<string>;