@univerjs/engine-render 0.1.0-beta.4 → 0.1.0-beta.5
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/README.md +1 -0
- package/lib/cjs/index.js +3 -3
- package/lib/es/index.js +2562 -2501
- package/lib/types/basics/i-document-skeleton-cached.d.ts +1 -1
- package/lib/types/basics/index.d.ts +1 -0
- package/lib/types/basics/text-rotation.d.ts +21 -0
- package/lib/types/basics/transform.d.ts +18 -18
- package/lib/types/canvas.d.ts +23 -7
- package/lib/types/components/docs/extensions/background.d.ts +1 -1
- package/lib/types/components/docs/extensions/border.d.ts +1 -1
- package/lib/types/components/docs/extensions/font-and-base-line.d.ts +1 -1
- package/lib/types/components/docs/extensions/line.d.ts +1 -1
- package/lib/types/components/extension.d.ts +6 -5
- package/lib/types/components/sheets/extensions/background.d.ts +3 -1
- package/lib/types/components/sheets/extensions/border.d.ts +1 -1
- package/lib/types/components/sheets/extensions/column-header-layout.d.ts +1 -1
- package/lib/types/components/sheets/extensions/font.d.ts +3 -1
- package/lib/types/components/sheets/extensions/row-header-layout.d.ts +1 -1
- package/lib/types/components/sheets/spreadsheet.d.ts +5 -0
- package/lib/types/context.d.ts +9 -0
- package/lib/types/engine.d.ts +3 -3
- package/lib/types/shape/path.d.ts +3 -3
- package/lib/umd/index.js +3 -3
- package/package.json +22 -9
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2023-present DreamNum Inc.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { type ITextRotation } from '@univerjs/core';
|
|
17
|
+
export declare const VERTICAL_ROTATE_ANGLE = 90;
|
|
18
|
+
export declare function convertTextRotation(textRotation: ITextRotation): {
|
|
19
|
+
centerAngle: number;
|
|
20
|
+
vertexAngle: number;
|
|
21
|
+
};
|
|
@@ -37,16 +37,16 @@ export declare class Transform {
|
|
|
37
37
|
* Transform point
|
|
38
38
|
* @method
|
|
39
39
|
* @name UniverSheet.Transform#point
|
|
40
|
-
* @param {
|
|
41
|
-
* @returns {
|
|
40
|
+
* @param {object} point 2D point(x, y)
|
|
41
|
+
* @returns {object} 2D point(x, y)
|
|
42
42
|
*/
|
|
43
43
|
applyPoint(point: Vector2, ignoreOffset?: boolean): Vector2;
|
|
44
44
|
/**
|
|
45
45
|
* Apply translation
|
|
46
46
|
* @method
|
|
47
47
|
* @name universheet.Transform#translate
|
|
48
|
-
* @param {
|
|
49
|
-
* @param {
|
|
48
|
+
* @param {number} x
|
|
49
|
+
* @param {number} y
|
|
50
50
|
* @returns {UniverSheet.Transform}
|
|
51
51
|
*/
|
|
52
52
|
translate(x: number, y: number): this;
|
|
@@ -54,8 +54,8 @@ export declare class Transform {
|
|
|
54
54
|
* Apply scale
|
|
55
55
|
* @method
|
|
56
56
|
* @name UniverSheet.Transform#scale
|
|
57
|
-
* @param {
|
|
58
|
-
* @param {
|
|
57
|
+
* @param {number} sx
|
|
58
|
+
* @param {number} sy
|
|
59
59
|
* @returns {UniverSheet.Transform}
|
|
60
60
|
*/
|
|
61
61
|
scale(sx: number, sy: number): this;
|
|
@@ -63,7 +63,7 @@ export declare class Transform {
|
|
|
63
63
|
* Apply rotation
|
|
64
64
|
* @method
|
|
65
65
|
* @name UniverSheet.Transform#rotate
|
|
66
|
-
* @param {
|
|
66
|
+
* @param {number} Degree Angle in Degree
|
|
67
67
|
* @returns {UniverSheet.Transform}
|
|
68
68
|
*/
|
|
69
69
|
rotate(deg: number): this;
|
|
@@ -71,7 +71,7 @@ export declare class Transform {
|
|
|
71
71
|
* Returns the translation
|
|
72
72
|
* @method
|
|
73
73
|
* @name UniverSheet.Transform#getTranslation
|
|
74
|
-
* @returns {
|
|
74
|
+
* @returns {object} 2D point(x, y)
|
|
75
75
|
*/
|
|
76
76
|
getTranslation(): {
|
|
77
77
|
x: number;
|
|
@@ -81,8 +81,8 @@ export declare class Transform {
|
|
|
81
81
|
* Apply skew
|
|
82
82
|
* @method
|
|
83
83
|
* @name UniverSheet.Transform#skew
|
|
84
|
-
* @param {
|
|
85
|
-
* @param {
|
|
84
|
+
* @param {number} sx
|
|
85
|
+
* @param {number} sy
|
|
86
86
|
* @returns {UniverSheet.Transform}
|
|
87
87
|
*/
|
|
88
88
|
skew(sx: number, sy: number): this;
|
|
@@ -144,14 +144,14 @@ export declare class Transform {
|
|
|
144
144
|
* transformations from an object that is not enLived yet.
|
|
145
145
|
* is called DimensionsTransformMatrix because those properties are the one that influence
|
|
146
146
|
* the size of the resulting box of the object.
|
|
147
|
-
* @param {
|
|
148
|
-
* @param {
|
|
149
|
-
* @param {
|
|
150
|
-
* @param {
|
|
151
|
-
* @param {
|
|
152
|
-
* @param {
|
|
153
|
-
* @param {
|
|
154
|
-
* @return {
|
|
147
|
+
* @param {object} options
|
|
148
|
+
* @param {number} [options.scaleX]
|
|
149
|
+
* @param {number} [options.scaleY]
|
|
150
|
+
* @param {boolean} [options.flipX]
|
|
151
|
+
* @param {boolean} [options.flipY]
|
|
152
|
+
* @param {number} [options.skewX]
|
|
153
|
+
* @param {number} [options.skewX]
|
|
154
|
+
* @return {number[]} transform matrix
|
|
155
155
|
*/
|
|
156
156
|
private _calcDimensionsMatrix;
|
|
157
157
|
}
|
package/lib/types/canvas.d.ts
CHANGED
|
@@ -14,20 +14,36 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import { UniverRenderingContext } from './context';
|
|
17
|
+
/**
|
|
18
|
+
* canvas render mode
|
|
19
|
+
*/
|
|
20
|
+
export declare enum CanvasRenderMode {
|
|
21
|
+
/**
|
|
22
|
+
* Normal canvas render mode
|
|
23
|
+
*/
|
|
24
|
+
Rendering = 0,
|
|
25
|
+
/**
|
|
26
|
+
* Printing render mode,
|
|
27
|
+
* in case of to generate high dpi pdf,
|
|
28
|
+
* some canvas api was disabled by some unknown reason.
|
|
29
|
+
*/
|
|
30
|
+
Printing = 1
|
|
31
|
+
}
|
|
17
32
|
interface ICanvasProps {
|
|
18
33
|
width?: number;
|
|
19
34
|
height?: number;
|
|
20
35
|
pixelRatio?: number;
|
|
36
|
+
mode?: CanvasRenderMode;
|
|
21
37
|
}
|
|
22
38
|
/**
|
|
23
39
|
* View Renderer constructor. It is a wrapper around native canvas element.
|
|
24
40
|
* Usually you don't need to use it manually.
|
|
25
41
|
* @constructor
|
|
26
42
|
* @abstract
|
|
27
|
-
* @param {
|
|
28
|
-
* @param {
|
|
29
|
-
* @param {
|
|
30
|
-
* @param {
|
|
43
|
+
* @param {object} props
|
|
44
|
+
* @param {number} props.width
|
|
45
|
+
* @param {number} props.height
|
|
46
|
+
* @param {number} props.pixelRatio
|
|
31
47
|
*/
|
|
32
48
|
export declare class Canvas {
|
|
33
49
|
isCache: boolean;
|
|
@@ -54,9 +70,9 @@ export declare class Canvas {
|
|
|
54
70
|
/**
|
|
55
71
|
* to data url
|
|
56
72
|
* @method
|
|
57
|
-
* @param {
|
|
58
|
-
* @param {
|
|
59
|
-
* @returns {
|
|
73
|
+
* @param {string} mimeType
|
|
74
|
+
* @param {number} quality between 0 and 1 for jpg mime types
|
|
75
|
+
* @returns {string} data url string
|
|
60
76
|
*/
|
|
61
77
|
toDataURL(mimeType: string, quality: number): string;
|
|
62
78
|
}
|
|
@@ -19,7 +19,7 @@ import type { UniverRenderingContext } from '../../../context';
|
|
|
19
19
|
import { docExtension } from '../doc-extension';
|
|
20
20
|
export declare class Background extends docExtension {
|
|
21
21
|
uKey: string;
|
|
22
|
-
|
|
22
|
+
Z_INDEX: number;
|
|
23
23
|
private _preBackgroundColor;
|
|
24
24
|
draw(ctx: UniverRenderingContext, parentScale: IScale, span: IDocumentSkeletonSpan): void;
|
|
25
25
|
clearCache(): void;
|
|
@@ -19,7 +19,7 @@ import type { UniverRenderingContext } from '../../../context';
|
|
|
19
19
|
import { docExtension } from '../doc-extension';
|
|
20
20
|
export declare class Border extends docExtension {
|
|
21
21
|
uKey: string;
|
|
22
|
-
|
|
22
|
+
Z_INDEX: number;
|
|
23
23
|
private _preBorderStyle;
|
|
24
24
|
private _preBorderColor;
|
|
25
25
|
draw(ctx: UniverRenderingContext, parentScale: IScale, span: IDocumentSkeletonSpan): void;
|
|
@@ -19,7 +19,7 @@ import type { UniverRenderingContext } from '../../../context';
|
|
|
19
19
|
import { docExtension } from '../doc-extension';
|
|
20
20
|
export declare class FontAndBaseLine extends docExtension {
|
|
21
21
|
uKey: string;
|
|
22
|
-
|
|
22
|
+
Z_INDEX: number;
|
|
23
23
|
private _preFontString;
|
|
24
24
|
private _preFontColor;
|
|
25
25
|
draw(ctx: UniverRenderingContext, parentScale: IScale, span: IDocumentSkeletonSpan): void;
|
|
@@ -19,7 +19,7 @@ import type { UniverRenderingContext } from '../../../context';
|
|
|
19
19
|
import { docExtension } from '../doc-extension';
|
|
20
20
|
export declare class Line extends docExtension {
|
|
21
21
|
uKey: string;
|
|
22
|
-
|
|
22
|
+
Z_INDEX: number;
|
|
23
23
|
private _preBackgroundColor;
|
|
24
24
|
draw(ctx: UniverRenderingContext, parentScale: IScale, span: IDocumentSkeletonSpan): void;
|
|
25
25
|
clearCache(): void;
|
|
@@ -29,16 +29,17 @@ export interface IExtensionConfig {
|
|
|
29
29
|
export declare class ComponentExtension<T, U, V> {
|
|
30
30
|
uKey: string;
|
|
31
31
|
type: U;
|
|
32
|
-
|
|
32
|
+
protected Z_INDEX: number;
|
|
33
33
|
parent: Nullable<BaseObject>;
|
|
34
34
|
translateX: number;
|
|
35
35
|
translateY: number;
|
|
36
36
|
extensionOffset: IExtensionConfig;
|
|
37
|
+
get zIndex(): number;
|
|
37
38
|
draw(ctx: UniverRenderingContext, parentScale: IScale, skeleton: T, diffBounds?: V): void;
|
|
38
39
|
clearCache(): void;
|
|
39
40
|
protected _getScale(parentScale: IScale): number;
|
|
40
41
|
}
|
|
41
|
-
export declare const SpreadsheetExtensionRegistry: Registry
|
|
42
|
-
export declare const SheetRowHeaderExtensionRegistry: Registry
|
|
43
|
-
export declare const SheetColumnHeaderExtensionRegistry: Registry
|
|
44
|
-
export declare const DocumentsSpanAndLineExtensionRegistry: Registry
|
|
42
|
+
export declare const SpreadsheetExtensionRegistry: Registry<any>;
|
|
43
|
+
export declare const SheetRowHeaderExtensionRegistry: Registry<any>;
|
|
44
|
+
export declare const SheetColumnHeaderExtensionRegistry: Registry<any>;
|
|
45
|
+
export declare const DocumentsSpanAndLineExtensionRegistry: Registry<any>;
|
|
@@ -19,6 +19,8 @@ import type { SpreadsheetSkeleton } from '../sheet-skeleton';
|
|
|
19
19
|
import { SheetExtension } from './sheet-extension';
|
|
20
20
|
export declare class Background extends SheetExtension {
|
|
21
21
|
uKey: string;
|
|
22
|
-
|
|
22
|
+
Z_INDEX: number;
|
|
23
|
+
PRINTING_Z_INDEX: number;
|
|
24
|
+
get zIndex(): number;
|
|
23
25
|
draw(ctx: UniverRenderingContext, parentScale: IScale, spreadsheetSkeleton: SpreadsheetSkeleton, diffRanges?: IRange[]): void;
|
|
24
26
|
}
|
|
@@ -19,7 +19,7 @@ import type { SpreadsheetSkeleton } from '../sheet-skeleton';
|
|
|
19
19
|
import { SheetExtension } from './sheet-extension';
|
|
20
20
|
export declare class Border extends SheetExtension {
|
|
21
21
|
uKey: string;
|
|
22
|
-
|
|
22
|
+
Z_INDEX: number;
|
|
23
23
|
draw(ctx: UniverRenderingContext, parentScale: IScale, spreadsheetSkeleton: SpreadsheetSkeleton, diffRanges?: IRange[]): void;
|
|
24
24
|
private _getOverflowExclusion;
|
|
25
25
|
}
|
|
@@ -19,6 +19,6 @@ import type { SpreadsheetSkeleton } from '../sheet-skeleton';
|
|
|
19
19
|
import { SheetExtension } from './sheet-extension';
|
|
20
20
|
export declare class ColumnHeaderLayout extends SheetExtension {
|
|
21
21
|
uKey: string;
|
|
22
|
-
|
|
22
|
+
Z_INDEX: number;
|
|
23
23
|
draw(ctx: UniverRenderingContext, parentScale: IScale, spreadsheetSkeleton: SpreadsheetSkeleton): void;
|
|
24
24
|
}
|
|
@@ -17,11 +17,13 @@ import type { IColorStyle, IRange, IScale } from '@univerjs/core';
|
|
|
17
17
|
import { ObjectMatrix } from '@univerjs/core';
|
|
18
18
|
import type { UniverRenderingContext } from '../../../context';
|
|
19
19
|
import { type SpreadsheetSkeleton } from '../sheet-skeleton';
|
|
20
|
+
import type { Spreadsheet } from '../spreadsheet';
|
|
20
21
|
import { SheetExtension } from './sheet-extension';
|
|
21
22
|
export declare class Font extends SheetExtension {
|
|
22
23
|
uKey: string;
|
|
23
|
-
|
|
24
|
+
Z_INDEX: number;
|
|
24
25
|
changeFontColor: ObjectMatrix<IColorStyle>;
|
|
26
|
+
get spreadsheet(): Spreadsheet;
|
|
25
27
|
getDocuments(): any;
|
|
26
28
|
setChangeFontColor(r: number, c: number, color: IColorStyle): void;
|
|
27
29
|
draw(ctx: UniverRenderingContext, parentScale: IScale, spreadsheetSkeleton: SpreadsheetSkeleton, diffRanges?: IRange[]): void;
|
|
@@ -19,6 +19,6 @@ import type { SpreadsheetSkeleton } from '../sheet-skeleton';
|
|
|
19
19
|
import { SheetExtension } from './sheet-extension';
|
|
20
20
|
export declare class RowHeaderLayout extends SheetExtension {
|
|
21
21
|
uKey: string;
|
|
22
|
-
|
|
22
|
+
Z_INDEX: number;
|
|
23
23
|
draw(ctx: UniverRenderingContext, parentScale: IScale, spreadsheetSkeleton: SpreadsheetSkeleton): void;
|
|
24
24
|
}
|
|
@@ -32,12 +32,16 @@ export declare class Spreadsheet extends SheetComponent {
|
|
|
32
32
|
private _overflowCacheRuntime;
|
|
33
33
|
private _overflowCacheRuntimeRange;
|
|
34
34
|
private _overflowCacheRuntimeTimeout;
|
|
35
|
+
private _forceDisableGridlines;
|
|
35
36
|
private _documents;
|
|
37
|
+
isPrinting: boolean;
|
|
36
38
|
constructor(oKey: string, spreadsheetSkeleton?: SpreadsheetSkeleton, _allowCache?: boolean);
|
|
37
39
|
get backgroundExtension(): Background;
|
|
38
40
|
get borderExtension(): Border;
|
|
39
41
|
get fontExtension(): Font;
|
|
40
42
|
getDocuments(): Documents;
|
|
43
|
+
get allowCache(): boolean;
|
|
44
|
+
get forceDisableGridlines(): boolean;
|
|
41
45
|
draw(ctx: UniverRenderingContext, bounds?: IViewportBound): void;
|
|
42
46
|
isHit(coord: Vector2): boolean;
|
|
43
47
|
getNoMergeCellPositionByIndex(rowIndex: number, columnIndex: number): {
|
|
@@ -51,6 +55,7 @@ export declare class Spreadsheet extends SheetComponent {
|
|
|
51
55
|
y: number;
|
|
52
56
|
};
|
|
53
57
|
makeForceDirty(state?: boolean): void;
|
|
58
|
+
setForceDisableGridlines(disabled: boolean): void;
|
|
54
59
|
getSelectionBounding(startRow: number, startColumn: number, endRow: number, endColumn: number): {
|
|
55
60
|
startRow: number;
|
|
56
61
|
startColumn: number;
|
package/lib/types/context.d.ts
CHANGED
|
@@ -39,6 +39,7 @@ export declare class UniverRenderingContext2D implements CanvasRenderingContext2
|
|
|
39
39
|
set lineJoin(val: CanvasLineJoin);
|
|
40
40
|
get lineWidth(): number;
|
|
41
41
|
set lineWidth(val: number);
|
|
42
|
+
setLineWidthNative(val: number): void;
|
|
42
43
|
get miterLimit(): number;
|
|
43
44
|
set miterLimit(val: number);
|
|
44
45
|
get shadowBlur(): number;
|
|
@@ -269,6 +270,8 @@ export declare class UniverRenderingContext2D implements CanvasRenderingContext2
|
|
|
269
270
|
translate(x: number, y: number): void;
|
|
270
271
|
translateWithPrecision(x: number, y: number): void;
|
|
271
272
|
translateWithPrecisionRatio(x: number, y: number): void;
|
|
273
|
+
clearRectForTexture(x: number, y: number, width: number, height: number): void;
|
|
274
|
+
setGlobalCompositeOperation(val: GlobalCompositeOperation): void;
|
|
272
275
|
}
|
|
273
276
|
/**
|
|
274
277
|
* TODO
|
|
@@ -282,3 +285,9 @@ export declare class UniverRenderingContextWebGPU {
|
|
|
282
285
|
}
|
|
283
286
|
export declare class UniverRenderingContext extends UniverRenderingContext2D {
|
|
284
287
|
}
|
|
288
|
+
export declare class UniverPrintingContext extends UniverRenderingContext2D {
|
|
289
|
+
private __getScale;
|
|
290
|
+
clearRect(x: number, y: number, width: number, height: number): void;
|
|
291
|
+
clearRectForTexture(x: number, y: number, width: number, height: number): void;
|
|
292
|
+
setGlobalCompositeOperation(val: GlobalCompositeOperation): void;
|
|
293
|
+
}
|
package/lib/types/engine.d.ts
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { Observable } from '@univerjs/core';
|
|
17
17
|
import type { CURSOR_TYPE } from './basics/const';
|
|
18
|
-
import { Canvas } from './canvas';
|
|
18
|
+
import { Canvas, type CanvasRenderMode } from './canvas';
|
|
19
19
|
import type { Scene } from './scene';
|
|
20
20
|
import { ThinEngine } from './thin-engine';
|
|
21
21
|
export declare class Engine extends ThinEngine<Scene> {
|
|
@@ -52,7 +52,7 @@ export declare class Engine extends ThinEngine<Scene> {
|
|
|
52
52
|
private pointer;
|
|
53
53
|
private _mouseId;
|
|
54
54
|
private _isUsingFirefox;
|
|
55
|
-
constructor(elemWidth?: number, elemHeight?: number);
|
|
55
|
+
constructor(elemWidth?: number, elemHeight?: number, pixelRatio?: number, mode?: CanvasRenderMode);
|
|
56
56
|
get width(): number;
|
|
57
57
|
get height(): number;
|
|
58
58
|
get requestNewFrameHandler(): number;
|
|
@@ -70,7 +70,7 @@ export declare class Engine extends ThinEngine<Scene> {
|
|
|
70
70
|
*/
|
|
71
71
|
setRemainCapture(): void;
|
|
72
72
|
getPixelRatio(): number;
|
|
73
|
-
setContainer(elem: HTMLElement): void;
|
|
73
|
+
setContainer(elem: HTMLElement, resize?: boolean): void;
|
|
74
74
|
resize(): void;
|
|
75
75
|
resizeBySize(width: number, height: number): void;
|
|
76
76
|
dispose(): void;
|
|
@@ -83,7 +83,7 @@ export declare class Path extends Shape<IPathProps> {
|
|
|
83
83
|
/**
|
|
84
84
|
* Return length of the path.
|
|
85
85
|
* @method
|
|
86
|
-
* @returns {
|
|
86
|
+
* @returns {number} length
|
|
87
87
|
* @example
|
|
88
88
|
* var length = path.getLength();
|
|
89
89
|
*/
|
|
@@ -91,8 +91,8 @@ export declare class Path extends Shape<IPathProps> {
|
|
|
91
91
|
/**
|
|
92
92
|
* Get point on path at specific length of the path
|
|
93
93
|
* @method
|
|
94
|
-
* @param {
|
|
95
|
-
* @returns {
|
|
94
|
+
* @param {number} length length
|
|
95
|
+
* @returns {object} point {x,y} point
|
|
96
96
|
* @example
|
|
97
97
|
* var point = path.getPointAtLength(10);
|
|
98
98
|
*/
|