@univerjs/engine-render 0.1.0-beta.0 → 0.1.0-beta.2
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/lib/cjs/index.js +2 -2
- package/lib/es/index.js +11293 -6686
- package/lib/types/base-object.d.ts +2 -1
- package/lib/types/basics/draw.d.ts +5 -4
- package/lib/types/basics/tools.d.ts +1 -2
- package/lib/types/canvas.d.ts +2 -1
- package/lib/types/components/component.d.ts +2 -1
- package/lib/types/components/docs/common/text-range.d.ts +4 -4
- package/lib/types/components/docs/doc-component.d.ts +3 -2
- package/lib/types/components/docs/document.d.ts +4 -3
- package/lib/types/components/docs/extensions/background.d.ts +2 -1
- package/lib/types/components/docs/extensions/border.d.ts +2 -1
- package/lib/types/components/docs/extensions/font-and-base-line.d.ts +2 -1
- package/lib/types/components/docs/extensions/line.d.ts +2 -2
- package/lib/types/components/docs/linebreak/__tests__/linebreak.spec.d.ts +16 -0
- package/lib/types/components/docs/linebreak/classes.d.ts +58 -0
- package/lib/types/components/docs/linebreak/index.d.ts +16 -0
- package/lib/types/components/docs/linebreak/linebreaker.d.ts +37 -0
- package/lib/types/components/docs/linebreak/pairs.d.ts +21 -0
- package/lib/types/components/docs/linebreak/swap.d.ts +16 -0
- package/lib/types/components/docs/linebreak/tiny-inflate.d.ts +31 -0
- package/lib/types/components/docs/linebreak/trie-data.d.ts +17 -0
- package/lib/types/components/docs/linebreak/unicode-trie.d.ts +22 -0
- package/lib/types/components/extension.d.ts +2 -1
- package/lib/types/components/sheets/column-header.d.ts +2 -1
- package/lib/types/components/sheets/extensions/background.d.ts +2 -1
- package/lib/types/components/sheets/extensions/border.d.ts +2 -1
- package/lib/types/components/sheets/extensions/column-header-layout.d.ts +2 -1
- package/lib/types/components/sheets/extensions/font.d.ts +3 -2
- package/lib/types/components/sheets/extensions/row-header-layout.d.ts +2 -1
- package/lib/types/components/sheets/extensions/sheet-extension.d.ts +4 -4
- package/lib/types/components/sheets/row-header.d.ts +2 -1
- package/lib/types/components/sheets/sheet-component.d.ts +4 -3
- package/lib/types/components/sheets/sheet-skeleton.d.ts +11 -4
- package/lib/types/components/sheets/spreadsheet.d.ts +5 -10
- package/lib/types/components/slides/slide.d.ts +2 -1
- package/lib/types/context.d.ts +399 -0
- package/lib/types/custom/custom-object.d.ts +3 -2
- package/lib/types/group.d.ts +2 -1
- package/lib/types/index.d.ts +1 -0
- package/lib/types/layer.d.ts +2 -1
- package/lib/types/scene-viewer.d.ts +2 -1
- package/lib/types/scene.d.ts +7 -2
- package/lib/types/scroll-timer.d.ts +11 -5
- package/lib/types/shape/base-scroll-bar.d.ts +2 -1
- package/lib/types/shape/circle.d.ts +3 -2
- package/lib/types/shape/path.d.ts +4 -3
- package/lib/types/shape/picture.d.ts +3 -2
- package/lib/types/shape/rect.d.ts +3 -2
- package/lib/types/shape/regular-polygon.d.ts +3 -2
- package/lib/types/shape/rich-text.d.ts +3 -2
- package/lib/types/shape/scroll-bar.d.ts +2 -1
- package/lib/types/shape/shape.d.ts +12 -11
- package/lib/types/thin-scene.d.ts +8 -2
- package/lib/types/viewport.d.ts +2 -2
- package/lib/umd/index.js +3 -3
- package/package.json +10 -10
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import type { IRange, Nullable } from '@univerjs/core';
|
|
17
17
|
import type { IViewportBound, Vector2 } from '../../basics/vector2';
|
|
18
|
+
import type { UniverRenderingContext } from '../../context';
|
|
18
19
|
import { RenderComponent } from '../component';
|
|
19
20
|
import type { SHEET_EXTENSION_TYPE } from './extensions/sheet-extension';
|
|
20
21
|
import type { SpreadsheetSkeleton } from './sheet-skeleton';
|
|
@@ -23,7 +24,7 @@ export declare class SheetComponent extends RenderComponent<SpreadsheetSkeleton,
|
|
|
23
24
|
constructor(oKey: string, _skeleton?: SpreadsheetSkeleton | undefined);
|
|
24
25
|
getSkeleton(): SpreadsheetSkeleton | undefined;
|
|
25
26
|
updateSkeleton(spreadsheetSkeleton: SpreadsheetSkeleton): void;
|
|
26
|
-
render(mainCtx:
|
|
27
|
+
render(mainCtx: UniverRenderingContext, bounds?: IViewportBound): this | undefined;
|
|
27
28
|
getParentScale(): {
|
|
28
29
|
scaleX: number;
|
|
29
30
|
scaleY: number;
|
|
@@ -45,8 +46,8 @@ export declare class SheetComponent extends RenderComponent<SpreadsheetSkeleton,
|
|
|
45
46
|
endRow: number;
|
|
46
47
|
endColumn: number;
|
|
47
48
|
}>;
|
|
48
|
-
protected _draw(ctx:
|
|
49
|
+
protected _draw(ctx: UniverRenderingContext, bounds?: IViewportBound): void;
|
|
49
50
|
}
|
|
50
51
|
export declare class SpreadsheetHeader extends SheetComponent {
|
|
51
|
-
protected _draw(ctx:
|
|
52
|
+
protected _draw(ctx: UniverRenderingContext, bounds?: IViewportBound): void;
|
|
52
53
|
}
|
|
@@ -144,13 +144,13 @@ export declare class SpreadsheetSkeleton extends Skeleton {
|
|
|
144
144
|
startColumn: number;
|
|
145
145
|
endColumn: number;
|
|
146
146
|
};
|
|
147
|
-
getNoMergeCellPositionByIndex(rowIndex: number, columnIndex: number
|
|
147
|
+
getNoMergeCellPositionByIndex(rowIndex: number, columnIndex: number): {
|
|
148
148
|
startY: number;
|
|
149
149
|
endY: number;
|
|
150
150
|
startX: number;
|
|
151
151
|
endX: number;
|
|
152
152
|
};
|
|
153
|
-
getNoMergeCellPositionByIndexWithNoHeader(rowIndex: number, columnIndex: number
|
|
153
|
+
getNoMergeCellPositionByIndexWithNoHeader(rowIndex: number, columnIndex: number): {
|
|
154
154
|
startY: number;
|
|
155
155
|
endY: number;
|
|
156
156
|
startX: number;
|
|
@@ -224,8 +224,8 @@ export declare class SpreadsheetSkeleton extends Skeleton {
|
|
|
224
224
|
* @param scaleX render scene scale x-axis, current Horizontal Scale, scene.getAncestorScale
|
|
225
225
|
* @param scaleY render scene scale y-axis, current Vertical Scale, scene.getAncestorScale
|
|
226
226
|
*/
|
|
227
|
-
getCellByIndex(row: number, column: number
|
|
228
|
-
getCellByIndexWithNoHeader(row: number, column: number
|
|
227
|
+
getCellByIndex(row: number, column: number): ISelectionCellWithCoord;
|
|
228
|
+
getCellByIndexWithNoHeader(row: number, column: number): {
|
|
229
229
|
actualRow: number;
|
|
230
230
|
actualColumn: number;
|
|
231
231
|
startY: number;
|
|
@@ -271,6 +271,12 @@ export declare class SpreadsheetSkeleton extends Skeleton {
|
|
|
271
271
|
columnOffset: number;
|
|
272
272
|
rowOffset: number;
|
|
273
273
|
};
|
|
274
|
+
/**
|
|
275
|
+
* Calculate the overflow of cell text. If there is no value on either side of the cell,
|
|
276
|
+
* the text content of this cell can be drawn to both sides, not limited by the cell's width.
|
|
277
|
+
* Overflow on the left or right is aligned according to the text's horizontal alignment.
|
|
278
|
+
*/
|
|
279
|
+
private _calculateOverflowCell;
|
|
274
280
|
/**
|
|
275
281
|
*
|
|
276
282
|
* @param rowHeightAccumulation Row layout information
|
|
@@ -290,6 +296,7 @@ export declare class SpreadsheetSkeleton extends Skeleton {
|
|
|
290
296
|
intersectMergeRange(row: number, column: number): boolean;
|
|
291
297
|
private _calculateStylesCache;
|
|
292
298
|
private _resetCache;
|
|
299
|
+
private _makeDocumentSkeletonDirty;
|
|
293
300
|
private _setCellCache;
|
|
294
301
|
private _updateConfigAndGetDocumentModel;
|
|
295
302
|
private _getDocumentDataByStyle;
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import type { IViewportBound, Vector2 } from '../../basics/vector2';
|
|
17
|
+
import type { UniverRenderingContext } from '../../context';
|
|
17
18
|
import { Documents } from '../docs/document';
|
|
18
19
|
import type { Background } from './extensions/background';
|
|
19
20
|
import type { Border } from './extensions/border';
|
|
@@ -37,7 +38,7 @@ export declare class Spreadsheet extends SheetComponent {
|
|
|
37
38
|
get borderExtension(): Border;
|
|
38
39
|
get fontExtension(): Font;
|
|
39
40
|
getDocuments(): Documents;
|
|
40
|
-
draw(ctx:
|
|
41
|
+
draw(ctx: UniverRenderingContext, bounds?: IViewportBound): void;
|
|
41
42
|
isHit(coord: Vector2): boolean;
|
|
42
43
|
getNoMergeCellPositionByIndex(rowIndex: number, columnIndex: number): {
|
|
43
44
|
startY: number;
|
|
@@ -56,22 +57,16 @@ export declare class Spreadsheet extends SheetComponent {
|
|
|
56
57
|
endRow: number;
|
|
57
58
|
endColumn: number;
|
|
58
59
|
} | undefined;
|
|
59
|
-
render(mainCtx:
|
|
60
|
+
render(mainCtx: UniverRenderingContext, bounds?: IViewportBound): this | undefined;
|
|
60
61
|
private _resizeCacheCanvas;
|
|
61
|
-
protected _applyCache(ctx?:
|
|
62
|
-
protected _draw(ctx:
|
|
62
|
+
protected _applyCache(ctx?: UniverRenderingContext, sx?: number, sy?: number, sw?: number, sh?: number, dx?: number, dy?: number, dw?: number, dh?: number): void;
|
|
63
|
+
protected _draw(ctx: UniverRenderingContext, bounds?: IViewportBound): void;
|
|
63
64
|
private _getAncestorSize;
|
|
64
65
|
private _getAncestorParent;
|
|
65
66
|
private _initialDefaultExtension;
|
|
66
67
|
private _addMakeDirtyToScroll;
|
|
67
68
|
private _hasScrollViewportOperator;
|
|
68
69
|
private _getHasScrollViewports;
|
|
69
|
-
/**
|
|
70
|
-
* Calculate the overflow of cell text. If there is no value on either side of the cell,
|
|
71
|
-
* the text content of this cell can be drawn to both sides, not limited by the cell's width.
|
|
72
|
-
* Overflow on the left or right is aligned according to the text's horizontal alignment.
|
|
73
|
-
*/
|
|
74
|
-
private _calculateOverflow;
|
|
75
70
|
private _drawAuxiliary;
|
|
76
71
|
/**
|
|
77
72
|
* Clear the guide lines within a range in the table, to make room for merged cells and overflow.
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import type { Nullable } from '@univerjs/core';
|
|
17
17
|
import { Observable } from '@univerjs/core';
|
|
18
|
+
import type { UniverRenderingContext } from '../../context';
|
|
18
19
|
import type { Scene } from '../../scene';
|
|
19
20
|
import { SceneViewer } from '../../scene-viewer';
|
|
20
21
|
export declare enum SLIDE_NAVIGATION_KEY {
|
|
@@ -34,7 +35,7 @@ export declare class Slide extends SceneViewer {
|
|
|
34
35
|
disableNav(): void;
|
|
35
36
|
hiddenNav(): void;
|
|
36
37
|
showNav(): void;
|
|
37
|
-
renderToThumb(mainCtx:
|
|
38
|
+
renderToThumb(mainCtx: UniverRenderingContext, pageId: string, scaleX?: number, scaleY?: number): void;
|
|
38
39
|
private _getSubScenesIndex;
|
|
39
40
|
private _addNavTrigger;
|
|
40
41
|
private _getArrowColor;
|
|
@@ -0,0 +1,399 @@
|
|
|
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
|
+
export declare class UniverRenderingContext2D implements CanvasRenderingContext2D {
|
|
17
|
+
readonly canvas: HTMLCanvasElement;
|
|
18
|
+
_context: CanvasRenderingContext2D;
|
|
19
|
+
constructor(context: CanvasRenderingContext2D);
|
|
20
|
+
get globalAlpha(): number;
|
|
21
|
+
set globalAlpha(val: number);
|
|
22
|
+
get globalCompositeOperation(): GlobalCompositeOperation;
|
|
23
|
+
set globalCompositeOperation(val: GlobalCompositeOperation);
|
|
24
|
+
get fillStyle(): string | CanvasGradient | CanvasPattern;
|
|
25
|
+
set fillStyle(val: string | CanvasGradient | CanvasPattern);
|
|
26
|
+
get strokeStyle(): string | CanvasGradient | CanvasPattern;
|
|
27
|
+
set strokeStyle(val: string | CanvasGradient | CanvasPattern);
|
|
28
|
+
get filter(): string;
|
|
29
|
+
set filter(val: string);
|
|
30
|
+
get imageSmoothingEnabled(): boolean;
|
|
31
|
+
set imageSmoothingEnabled(val: boolean);
|
|
32
|
+
get imageSmoothingQuality(): ImageSmoothingQuality;
|
|
33
|
+
set imageSmoothingQuality(val: ImageSmoothingQuality);
|
|
34
|
+
get lineCap(): CanvasLineCap;
|
|
35
|
+
set lineCap(val: CanvasLineCap);
|
|
36
|
+
get lineDashOffset(): number;
|
|
37
|
+
set lineDashOffset(val: number);
|
|
38
|
+
get lineJoin(): CanvasLineJoin;
|
|
39
|
+
set lineJoin(val: CanvasLineJoin);
|
|
40
|
+
get lineWidth(): number;
|
|
41
|
+
set lineWidth(val: number);
|
|
42
|
+
get miterLimit(): number;
|
|
43
|
+
set miterLimit(val: number);
|
|
44
|
+
get shadowBlur(): number;
|
|
45
|
+
set shadowBlur(val: number);
|
|
46
|
+
get shadowColor(): string;
|
|
47
|
+
set shadowColor(val: string);
|
|
48
|
+
get shadowOffsetX(): number;
|
|
49
|
+
set shadowOffsetX(val: number);
|
|
50
|
+
get shadowOffsetY(): number;
|
|
51
|
+
set shadowOffsetY(val: number);
|
|
52
|
+
get direction(): CanvasDirection;
|
|
53
|
+
set direction(val: CanvasDirection);
|
|
54
|
+
get font(): string;
|
|
55
|
+
set font(val: string);
|
|
56
|
+
get fontKerning(): CanvasFontKerning;
|
|
57
|
+
set fontKerning(val: CanvasFontKerning);
|
|
58
|
+
get textAlign(): CanvasTextAlign;
|
|
59
|
+
set textAlign(val: CanvasTextAlign);
|
|
60
|
+
get textBaseline(): CanvasTextBaseline;
|
|
61
|
+
set textBaseline(val: CanvasTextBaseline);
|
|
62
|
+
private _getScale;
|
|
63
|
+
getContextAttributes(): CanvasRenderingContext2DSettings;
|
|
64
|
+
isPointInStroke(x: number, y: number): boolean;
|
|
65
|
+
isPointInStroke(path: Path2D, x: number, y: number): boolean;
|
|
66
|
+
createConicGradient(startAngle: number, x: number, y: number): CanvasGradient;
|
|
67
|
+
roundRect(x: number, y: number, w: number, h: number, radii?: number | DOMPointInit | Array<number | DOMPointInit>): void;
|
|
68
|
+
getTransform(): DOMMatrix;
|
|
69
|
+
resetTransform(): void;
|
|
70
|
+
drawFocusIfNeeded(element: Element): void;
|
|
71
|
+
drawFocusIfNeeded(path: Path2D, element: Element): void;
|
|
72
|
+
/**
|
|
73
|
+
|
|
74
|
+
* reset canvas context transform
|
|
75
|
+
|
|
76
|
+
* @method
|
|
77
|
+
|
|
78
|
+
*/
|
|
79
|
+
reset(): void;
|
|
80
|
+
/**
|
|
81
|
+
|
|
82
|
+
* arc function.
|
|
83
|
+
|
|
84
|
+
* @method
|
|
85
|
+
|
|
86
|
+
*/
|
|
87
|
+
arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, counterClockwise?: boolean): void;
|
|
88
|
+
/**
|
|
89
|
+
|
|
90
|
+
* arcTo function.
|
|
91
|
+
|
|
92
|
+
* @method
|
|
93
|
+
|
|
94
|
+
*
|
|
95
|
+
|
|
96
|
+
*/
|
|
97
|
+
arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void;
|
|
98
|
+
/**
|
|
99
|
+
|
|
100
|
+
* beginPath function.
|
|
101
|
+
|
|
102
|
+
* @method
|
|
103
|
+
|
|
104
|
+
*/
|
|
105
|
+
beginPath(): void;
|
|
106
|
+
/**
|
|
107
|
+
|
|
108
|
+
* bezierCurveTo function.
|
|
109
|
+
|
|
110
|
+
* @method
|
|
111
|
+
|
|
112
|
+
*/
|
|
113
|
+
bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void;
|
|
114
|
+
/**
|
|
115
|
+
|
|
116
|
+
* clearRect function.
|
|
117
|
+
|
|
118
|
+
* @method
|
|
119
|
+
|
|
120
|
+
*/
|
|
121
|
+
clearRect(x: number, y: number, width: number, height: number): void;
|
|
122
|
+
/**
|
|
123
|
+
|
|
124
|
+
* clip function.
|
|
125
|
+
|
|
126
|
+
* @method
|
|
127
|
+
|
|
128
|
+
*/
|
|
129
|
+
clip(): void;
|
|
130
|
+
clip(path: Path2D): void;
|
|
131
|
+
clip(fillRule?: CanvasFillRule): void;
|
|
132
|
+
clip(path: Path2D, fillRule?: CanvasFillRule): void;
|
|
133
|
+
/**
|
|
134
|
+
|
|
135
|
+
* closePath function.
|
|
136
|
+
|
|
137
|
+
* @method
|
|
138
|
+
|
|
139
|
+
*/
|
|
140
|
+
closePath(): void;
|
|
141
|
+
/**
|
|
142
|
+
|
|
143
|
+
* createImageData function.
|
|
144
|
+
|
|
145
|
+
* @method
|
|
146
|
+
|
|
147
|
+
*/
|
|
148
|
+
createImageData(width: number, height: number, settings?: ImageDataSettings): ImageData;
|
|
149
|
+
createImageData(imagedata: ImageData): ImageData;
|
|
150
|
+
/**
|
|
151
|
+
|
|
152
|
+
* createLinearGradient function.
|
|
153
|
+
|
|
154
|
+
* @method
|
|
155
|
+
|
|
156
|
+
*/
|
|
157
|
+
createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient;
|
|
158
|
+
/**
|
|
159
|
+
|
|
160
|
+
* createPattern function.
|
|
161
|
+
|
|
162
|
+
* @method
|
|
163
|
+
|
|
164
|
+
*/
|
|
165
|
+
createPattern(image: CanvasImageSource, repetition: string | null): CanvasPattern | null;
|
|
166
|
+
/**
|
|
167
|
+
|
|
168
|
+
* createRadialGradient function.
|
|
169
|
+
|
|
170
|
+
* @method
|
|
171
|
+
|
|
172
|
+
*/
|
|
173
|
+
createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): CanvasGradient;
|
|
174
|
+
/**
|
|
175
|
+
|
|
176
|
+
* drawImage function.
|
|
177
|
+
|
|
178
|
+
* @method
|
|
179
|
+
|
|
180
|
+
*/
|
|
181
|
+
drawImage(image: CanvasImageSource, sx: number, sy: number, sWidth?: number, sHeight?: number, dx?: number, dy?: number, dWidth?: number, dHeight?: number): void;
|
|
182
|
+
/**
|
|
183
|
+
|
|
184
|
+
* ellipse function.
|
|
185
|
+
|
|
186
|
+
* @method
|
|
187
|
+
|
|
188
|
+
*/
|
|
189
|
+
ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, counterclockwise?: boolean): void;
|
|
190
|
+
/**
|
|
191
|
+
|
|
192
|
+
* isPointInPath function.
|
|
193
|
+
|
|
194
|
+
* @method
|
|
195
|
+
|
|
196
|
+
*/
|
|
197
|
+
isPointInPath(x: number, y: number, fillRule?: CanvasFillRule): boolean;
|
|
198
|
+
isPointInPath(path: Path2D, x: number, y: number, fillRule?: CanvasFillRule): boolean;
|
|
199
|
+
/**
|
|
200
|
+
|
|
201
|
+
* fill function.
|
|
202
|
+
|
|
203
|
+
* @method
|
|
204
|
+
|
|
205
|
+
*/
|
|
206
|
+
fill(fillRule?: CanvasFillRule): void;
|
|
207
|
+
fill(path: Path2D, fillRule?: CanvasFillRule): void;
|
|
208
|
+
/**
|
|
209
|
+
|
|
210
|
+
* fillRect function.
|
|
211
|
+
|
|
212
|
+
* @method
|
|
213
|
+
|
|
214
|
+
*/
|
|
215
|
+
fillRect(x: number, y: number, width: number, height: number): void;
|
|
216
|
+
/**
|
|
217
|
+
|
|
218
|
+
* strokeRect function.
|
|
219
|
+
|
|
220
|
+
* @method
|
|
221
|
+
|
|
222
|
+
*/
|
|
223
|
+
strokeRect(x: number, y: number, width: number, height: number): void;
|
|
224
|
+
/**
|
|
225
|
+
|
|
226
|
+
* fillText function.
|
|
227
|
+
|
|
228
|
+
* @method
|
|
229
|
+
|
|
230
|
+
*/
|
|
231
|
+
fillText(text: string, x: number, y: number, maxWidth?: number): void;
|
|
232
|
+
/**
|
|
233
|
+
|
|
234
|
+
* fillText function.
|
|
235
|
+
|
|
236
|
+
* @method
|
|
237
|
+
|
|
238
|
+
*/
|
|
239
|
+
fillTextPrecision(text: string, x: number, y: number, maxWidth?: number): void;
|
|
240
|
+
/**
|
|
241
|
+
|
|
242
|
+
* measureText function.
|
|
243
|
+
|
|
244
|
+
* @method
|
|
245
|
+
|
|
246
|
+
*/
|
|
247
|
+
measureText(text: string): TextMetrics;
|
|
248
|
+
/**
|
|
249
|
+
|
|
250
|
+
* getImageData function.
|
|
251
|
+
|
|
252
|
+
* @method
|
|
253
|
+
|
|
254
|
+
*/
|
|
255
|
+
getImageData(sx: number, sy: number, sw: number, sh: number): ImageData;
|
|
256
|
+
/**
|
|
257
|
+
|
|
258
|
+
* lineTo function.
|
|
259
|
+
|
|
260
|
+
* @method
|
|
261
|
+
|
|
262
|
+
*/
|
|
263
|
+
lineTo(x: number, y: number): void;
|
|
264
|
+
/**
|
|
265
|
+
|
|
266
|
+
* moveTo function.
|
|
267
|
+
|
|
268
|
+
* @method
|
|
269
|
+
|
|
270
|
+
*/
|
|
271
|
+
moveTo(x: number, y: number): void;
|
|
272
|
+
/**
|
|
273
|
+
|
|
274
|
+
* rect function.
|
|
275
|
+
|
|
276
|
+
* @method
|
|
277
|
+
|
|
278
|
+
*/
|
|
279
|
+
rect(x: number, y: number, width: number, height: number): void;
|
|
280
|
+
/**
|
|
281
|
+
|
|
282
|
+
* putImageData function.
|
|
283
|
+
|
|
284
|
+
* @method
|
|
285
|
+
|
|
286
|
+
*/
|
|
287
|
+
putImageData(imageData: ImageData, dx: number, dy: number): void;
|
|
288
|
+
/**
|
|
289
|
+
|
|
290
|
+
* quadraticCurveTo function.
|
|
291
|
+
|
|
292
|
+
* @method
|
|
293
|
+
|
|
294
|
+
*/
|
|
295
|
+
quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void;
|
|
296
|
+
/**
|
|
297
|
+
|
|
298
|
+
* restore function.
|
|
299
|
+
|
|
300
|
+
* @method
|
|
301
|
+
|
|
302
|
+
*/
|
|
303
|
+
restore(): void;
|
|
304
|
+
/**
|
|
305
|
+
|
|
306
|
+
* rotate function.
|
|
307
|
+
|
|
308
|
+
* @method
|
|
309
|
+
|
|
310
|
+
*/
|
|
311
|
+
rotate(angle: number): void;
|
|
312
|
+
/**
|
|
313
|
+
|
|
314
|
+
* save function.
|
|
315
|
+
|
|
316
|
+
* @method
|
|
317
|
+
|
|
318
|
+
*/
|
|
319
|
+
save(): void;
|
|
320
|
+
/**
|
|
321
|
+
|
|
322
|
+
* scale function.
|
|
323
|
+
|
|
324
|
+
* @method
|
|
325
|
+
|
|
326
|
+
*/
|
|
327
|
+
scale(x: number, y: number): void;
|
|
328
|
+
/**
|
|
329
|
+
|
|
330
|
+
* setLineDash function.
|
|
331
|
+
|
|
332
|
+
* @method
|
|
333
|
+
|
|
334
|
+
*/
|
|
335
|
+
setLineDash(segments: number[]): void;
|
|
336
|
+
/**
|
|
337
|
+
|
|
338
|
+
* getLineDash function.
|
|
339
|
+
|
|
340
|
+
* @method
|
|
341
|
+
|
|
342
|
+
*/
|
|
343
|
+
getLineDash(): number[];
|
|
344
|
+
/**
|
|
345
|
+
|
|
346
|
+
* setTransform function.
|
|
347
|
+
|
|
348
|
+
* @method
|
|
349
|
+
|
|
350
|
+
*/
|
|
351
|
+
setTransform(transform?: DOMMatrix2DInit): void;
|
|
352
|
+
setTransform(a: number, b: number, c: number, d: number, e: number, f: number): void;
|
|
353
|
+
/**
|
|
354
|
+
|
|
355
|
+
* stroke function.
|
|
356
|
+
|
|
357
|
+
* @method
|
|
358
|
+
|
|
359
|
+
*/
|
|
360
|
+
stroke(path2d?: Path2D): void;
|
|
361
|
+
/**
|
|
362
|
+
|
|
363
|
+
* strokeText function.
|
|
364
|
+
|
|
365
|
+
* @method
|
|
366
|
+
|
|
367
|
+
*/
|
|
368
|
+
strokeText(text: string, x: number, y: number, maxWidth?: number): void;
|
|
369
|
+
/**
|
|
370
|
+
|
|
371
|
+
* transform function.
|
|
372
|
+
|
|
373
|
+
* @method
|
|
374
|
+
|
|
375
|
+
*/
|
|
376
|
+
transform(a: number, b: number, c: number, d: number, e: number, f: number): void;
|
|
377
|
+
/**
|
|
378
|
+
|
|
379
|
+
* translate function.
|
|
380
|
+
|
|
381
|
+
* @method
|
|
382
|
+
|
|
383
|
+
*/
|
|
384
|
+
translate(x: number, y: number): void;
|
|
385
|
+
translateWithPrecision(x: number, y: number): void;
|
|
386
|
+
translateWithPrecisionRatio(x: number, y: number): void;
|
|
387
|
+
}
|
|
388
|
+
/**
|
|
389
|
+
* TODO
|
|
390
|
+
*/
|
|
391
|
+
export declare class UniverRenderingContextWebGL {
|
|
392
|
+
}
|
|
393
|
+
/**
|
|
394
|
+
* TODO
|
|
395
|
+
*/
|
|
396
|
+
export declare class UniverRenderingContextWebGPU {
|
|
397
|
+
}
|
|
398
|
+
export declare class UniverRenderingContext extends UniverRenderingContext2D {
|
|
399
|
+
}
|
|
@@ -15,13 +15,14 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { BaseObject } from '../base-object';
|
|
17
17
|
import type { IViewportBound, Vector2 } from '../basics/vector2';
|
|
18
|
+
import type { UniverRenderingContext } from '../context';
|
|
18
19
|
export declare class CustomObject extends BaseObject {
|
|
19
20
|
private _render;
|
|
20
21
|
private _isHitCustom?;
|
|
21
|
-
constructor(key?: string, _render?: (mainCtx:
|
|
22
|
+
constructor(key?: string, _render?: (mainCtx: UniverRenderingContext) => void, _isHitCustom?: ((coord: Vector2) => boolean) | undefined);
|
|
22
23
|
toJson(): {
|
|
23
24
|
[x: string]: any;
|
|
24
25
|
};
|
|
25
|
-
render(mainCtx:
|
|
26
|
+
render(mainCtx: UniverRenderingContext, bounds?: IViewportBound): this;
|
|
26
27
|
isHit(coord: Vector2): boolean;
|
|
27
28
|
}
|
package/lib/types/group.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ import { BaseObject } from './base-object';
|
|
|
17
17
|
import type { CURSOR_TYPE } from './basics/const';
|
|
18
18
|
import { RENDER_CLASS_TYPE } from './basics/const';
|
|
19
19
|
import type { IViewportBound, Vector2 } from './basics/vector2';
|
|
20
|
+
import type { UniverRenderingContext } from './context';
|
|
20
21
|
export declare class Group extends BaseObject {
|
|
21
22
|
private _objects;
|
|
22
23
|
constructor(key?: string, ...objects: BaseObject[]);
|
|
@@ -27,7 +28,7 @@ export declare class Group extends BaseObject {
|
|
|
27
28
|
removeObject(object: BaseObject | string): void;
|
|
28
29
|
getObjectsByOrder(): BaseObject[];
|
|
29
30
|
getObjects(): BaseObject[];
|
|
30
|
-
render(ctx:
|
|
31
|
+
render(ctx: UniverRenderingContext, bounds?: IViewportBound): void;
|
|
31
32
|
resize(width?: number | string, height?: number | string): this;
|
|
32
33
|
scale(scaleX?: number, scaleY?: number): this;
|
|
33
34
|
skew(skewX?: number, skewY?: number): this;
|
package/lib/types/index.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ export * from './basics';
|
|
|
18
18
|
export * from './canvas';
|
|
19
19
|
export * from './components';
|
|
20
20
|
export { DocumentViewModel } from './components/docs/view-model/document-view-model';
|
|
21
|
+
export * from './context';
|
|
21
22
|
export * from './custom';
|
|
22
23
|
export * from './engine';
|
|
23
24
|
export * from './group';
|
package/lib/types/layer.d.ts
CHANGED
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import { BaseObject } from './base-object';
|
|
17
|
+
import type { UniverRenderingContext } from './context';
|
|
17
18
|
import type { ThinScene } from './thin-scene';
|
|
18
19
|
export declare class Layer {
|
|
19
20
|
private _scene;
|
|
@@ -37,7 +38,7 @@ export declare class Layer {
|
|
|
37
38
|
removeObjects(objects: BaseObject[] | string[]): void;
|
|
38
39
|
makeDirty(state?: boolean): this;
|
|
39
40
|
isDirty(): boolean;
|
|
40
|
-
render(parentCtx?:
|
|
41
|
+
render(parentCtx?: UniverRenderingContext, isMaxLayer?: boolean): this;
|
|
41
42
|
private _initialCacheCanvas;
|
|
42
43
|
private _draw;
|
|
43
44
|
private _applyCache;
|
|
@@ -18,6 +18,7 @@ import { BaseObject } from './base-object';
|
|
|
18
18
|
import { RENDER_CLASS_TYPE } from './basics/const';
|
|
19
19
|
import type { IObjectFullState } from './basics/interfaces';
|
|
20
20
|
import type { IViewportBound, Vector2 } from './basics/vector2';
|
|
21
|
+
import type { UniverRenderingContext } from './context';
|
|
21
22
|
import type { ThinScene } from './thin-scene';
|
|
22
23
|
export declare class SceneViewer extends BaseObject {
|
|
23
24
|
private _subScenes;
|
|
@@ -25,7 +26,7 @@ export declare class SceneViewer extends BaseObject {
|
|
|
25
26
|
private _allowSelectedClipElement;
|
|
26
27
|
constructor(key?: string, props?: IObjectFullState);
|
|
27
28
|
get classType(): RENDER_CLASS_TYPE;
|
|
28
|
-
render(mainCtx:
|
|
29
|
+
render(mainCtx: UniverRenderingContext, bounds?: IViewportBound): this;
|
|
29
30
|
getSubScenes(): Map<string, ThinScene>;
|
|
30
31
|
getActiveSubScene(): Nullable<ThinScene>;
|
|
31
32
|
getSubScene(sceneKey: string): ThinScene | undefined;
|
package/lib/types/scene.d.ts
CHANGED
|
@@ -19,6 +19,7 @@ import { CURSOR_TYPE } from './basics/const';
|
|
|
19
19
|
import type { IKeyboardEvent, IMouseEvent, IPointerEvent, IWheelEvent } from './basics/i-events';
|
|
20
20
|
import type { ISceneTransformState } from './basics/interfaces';
|
|
21
21
|
import { Vector2 } from './basics/vector2';
|
|
22
|
+
import type { UniverRenderingContext } from './context';
|
|
22
23
|
import { Layer } from './layer';
|
|
23
24
|
import type { ITransformerConfig } from './scene.-transformer';
|
|
24
25
|
import { Transformer } from './scene.-transformer';
|
|
@@ -89,8 +90,8 @@ export declare class Scene extends ThinScene {
|
|
|
89
90
|
getViewports(): Viewport[];
|
|
90
91
|
getViewport(key: string): Viewport | undefined;
|
|
91
92
|
changeObjectOrder(): void;
|
|
92
|
-
render(parentCtx?:
|
|
93
|
-
requestRender(parentCtx?:
|
|
93
|
+
render(parentCtx?: UniverRenderingContext): void;
|
|
94
|
+
requestRender(parentCtx?: UniverRenderingContext): Promise<unknown>;
|
|
94
95
|
openTransformer(config?: ITransformerConfig): void;
|
|
95
96
|
closeTransformer(isDestroyed?: boolean): void;
|
|
96
97
|
applyTransformer(o: BaseObject): void;
|
|
@@ -117,6 +118,10 @@ export declare class Scene extends ThinScene {
|
|
|
117
118
|
scaleX: number;
|
|
118
119
|
scaleY: number;
|
|
119
120
|
};
|
|
121
|
+
getPrecisionScale(): {
|
|
122
|
+
scaleX: number;
|
|
123
|
+
scaleY: number;
|
|
124
|
+
};
|
|
120
125
|
dispose(): void;
|
|
121
126
|
pick(coord: Vector2): Nullable<BaseObject | Scene | ThinScene>;
|
|
122
127
|
triggerKeyDown(evt: IKeyboardEvent): void;
|
|
@@ -14,11 +14,13 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import type { IPaddingData } from '@univerjs/core';
|
|
17
|
+
import type { Scene } from './scene';
|
|
18
|
+
import type { Viewport } from './viewport';
|
|
17
19
|
export declare enum ScrollTimerType {
|
|
18
|
-
|
|
20
|
+
NONE = 0,
|
|
19
21
|
X = 1,
|
|
20
22
|
Y = 2,
|
|
21
|
-
|
|
23
|
+
ALL = 3
|
|
22
24
|
}
|
|
23
25
|
export declare class ScrollTimer {
|
|
24
26
|
private _scene;
|
|
@@ -35,15 +37,19 @@ export declare class ScrollTimer {
|
|
|
35
37
|
private _scrollX;
|
|
36
38
|
private _scrollY;
|
|
37
39
|
private _scrollFunction;
|
|
38
|
-
constructor(_scene:
|
|
40
|
+
constructor(_scene: Scene, _scrollTimerType?: ScrollTimerType, _padding?: IPaddingData | undefined, _smoothRatioX?: number, _smoothRatioY?: number);
|
|
39
41
|
static create(scene: any, scrollTimerType?: ScrollTimerType, padding?: IPaddingData): ScrollTimer;
|
|
42
|
+
set scrollTimerType(type: ScrollTimerType);
|
|
43
|
+
get scrollTimerType(): ScrollTimerType;
|
|
44
|
+
setActiveViewport(viewport: Viewport): void;
|
|
45
|
+
getActiveViewport(): any;
|
|
40
46
|
startScroll(offsetX: number, offsetY: number, targetViewport?: any): void;
|
|
41
47
|
private _scroll;
|
|
42
48
|
scrolling(offsetX: number, offsetY: number, scrollFunction: (x?: number, y?: number) => void): void;
|
|
43
49
|
stopScroll(): void;
|
|
44
50
|
dispose(): void;
|
|
45
|
-
getViewportByCoord(scene?:
|
|
46
|
-
getScene():
|
|
51
|
+
getViewportByCoord(scene?: Scene): Viewport | undefined;
|
|
52
|
+
getScene(): Scene;
|
|
47
53
|
private _runRenderLoop;
|
|
48
54
|
private _findAncestorScene;
|
|
49
55
|
}
|