@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.
Files changed (57) hide show
  1. package/lib/cjs/index.js +2 -2
  2. package/lib/es/index.js +11293 -6686
  3. package/lib/types/base-object.d.ts +2 -1
  4. package/lib/types/basics/draw.d.ts +5 -4
  5. package/lib/types/basics/tools.d.ts +1 -2
  6. package/lib/types/canvas.d.ts +2 -1
  7. package/lib/types/components/component.d.ts +2 -1
  8. package/lib/types/components/docs/common/text-range.d.ts +4 -4
  9. package/lib/types/components/docs/doc-component.d.ts +3 -2
  10. package/lib/types/components/docs/document.d.ts +4 -3
  11. package/lib/types/components/docs/extensions/background.d.ts +2 -1
  12. package/lib/types/components/docs/extensions/border.d.ts +2 -1
  13. package/lib/types/components/docs/extensions/font-and-base-line.d.ts +2 -1
  14. package/lib/types/components/docs/extensions/line.d.ts +2 -2
  15. package/lib/types/components/docs/linebreak/__tests__/linebreak.spec.d.ts +16 -0
  16. package/lib/types/components/docs/linebreak/classes.d.ts +58 -0
  17. package/lib/types/components/docs/linebreak/index.d.ts +16 -0
  18. package/lib/types/components/docs/linebreak/linebreaker.d.ts +37 -0
  19. package/lib/types/components/docs/linebreak/pairs.d.ts +21 -0
  20. package/lib/types/components/docs/linebreak/swap.d.ts +16 -0
  21. package/lib/types/components/docs/linebreak/tiny-inflate.d.ts +31 -0
  22. package/lib/types/components/docs/linebreak/trie-data.d.ts +17 -0
  23. package/lib/types/components/docs/linebreak/unicode-trie.d.ts +22 -0
  24. package/lib/types/components/extension.d.ts +2 -1
  25. package/lib/types/components/sheets/column-header.d.ts +2 -1
  26. package/lib/types/components/sheets/extensions/background.d.ts +2 -1
  27. package/lib/types/components/sheets/extensions/border.d.ts +2 -1
  28. package/lib/types/components/sheets/extensions/column-header-layout.d.ts +2 -1
  29. package/lib/types/components/sheets/extensions/font.d.ts +3 -2
  30. package/lib/types/components/sheets/extensions/row-header-layout.d.ts +2 -1
  31. package/lib/types/components/sheets/extensions/sheet-extension.d.ts +4 -4
  32. package/lib/types/components/sheets/row-header.d.ts +2 -1
  33. package/lib/types/components/sheets/sheet-component.d.ts +4 -3
  34. package/lib/types/components/sheets/sheet-skeleton.d.ts +11 -4
  35. package/lib/types/components/sheets/spreadsheet.d.ts +5 -10
  36. package/lib/types/components/slides/slide.d.ts +2 -1
  37. package/lib/types/context.d.ts +399 -0
  38. package/lib/types/custom/custom-object.d.ts +3 -2
  39. package/lib/types/group.d.ts +2 -1
  40. package/lib/types/index.d.ts +1 -0
  41. package/lib/types/layer.d.ts +2 -1
  42. package/lib/types/scene-viewer.d.ts +2 -1
  43. package/lib/types/scene.d.ts +7 -2
  44. package/lib/types/scroll-timer.d.ts +11 -5
  45. package/lib/types/shape/base-scroll-bar.d.ts +2 -1
  46. package/lib/types/shape/circle.d.ts +3 -2
  47. package/lib/types/shape/path.d.ts +4 -3
  48. package/lib/types/shape/picture.d.ts +3 -2
  49. package/lib/types/shape/rect.d.ts +3 -2
  50. package/lib/types/shape/regular-polygon.d.ts +3 -2
  51. package/lib/types/shape/rich-text.d.ts +3 -2
  52. package/lib/types/shape/scroll-bar.d.ts +2 -1
  53. package/lib/types/shape/shape.d.ts +12 -11
  54. package/lib/types/thin-scene.d.ts +8 -2
  55. package/lib/types/viewport.d.ts +2 -2
  56. package/lib/umd/index.js +3 -3
  57. 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: CanvasRenderingContext2D, bounds?: IViewportBound): this | undefined;
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: CanvasRenderingContext2D, bounds?: IViewportBound): void;
49
+ protected _draw(ctx: UniverRenderingContext, bounds?: IViewportBound): void;
49
50
  }
50
51
  export declare class SpreadsheetHeader extends SheetComponent {
51
- protected _draw(ctx: CanvasRenderingContext2D, bounds?: IViewportBound): void;
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, scaleX: number, scaleY: 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, scaleX: number, scaleY: 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, scaleX: number, scaleY: number): ISelectionCellWithCoord;
228
- getCellByIndexWithNoHeader(row: number, column: number, scaleX: number, scaleY: 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: CanvasRenderingContext2D, bounds?: IViewportBound): void;
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: CanvasRenderingContext2D, bounds?: IViewportBound): this | undefined;
60
+ render(mainCtx: UniverRenderingContext, bounds?: IViewportBound): this | undefined;
60
61
  private _resizeCacheCanvas;
61
- protected _applyCache(ctx?: CanvasRenderingContext2D, sx?: number, sy?: number, sw?: number, sh?: number, dx?: number, dy?: number, dw?: number, dh?: number): void;
62
- protected _draw(ctx: CanvasRenderingContext2D, bounds?: IViewportBound): void;
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: CanvasRenderingContext2D, pageId: string, scaleX?: number, scaleY?: number): void;
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: CanvasRenderingContext2D) => void, _isHitCustom?: ((coord: Vector2) => boolean) | undefined);
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: CanvasRenderingContext2D, bounds?: IViewportBound): this;
26
+ render(mainCtx: UniverRenderingContext, bounds?: IViewportBound): this;
26
27
  isHit(coord: Vector2): boolean;
27
28
  }
@@ -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: CanvasRenderingContext2D, bounds?: IViewportBound): void;
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;
@@ -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';
@@ -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?: CanvasRenderingContext2D, isMaxLayer?: boolean): this;
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: CanvasRenderingContext2D, bounds?: IViewportBound): this;
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;
@@ -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?: CanvasRenderingContext2D): void;
93
- requestRender(parentCtx?: CanvasRenderingContext2D): Promise<unknown>;
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
- ALL = 0,
20
+ NONE = 0,
19
21
  X = 1,
20
22
  Y = 2,
21
- NONE = 3
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: any, _scrollTimerType?: ScrollTimerType, _padding?: IPaddingData | undefined, _smoothRatioX?: number, _smoothRatioY?: number);
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?: any): any;
46
- getScene(): any;
51
+ getViewportByCoord(scene?: Scene): Viewport | undefined;
52
+ getScene(): Scene;
47
53
  private _runRenderLoop;
48
54
  private _findAncestorScene;
49
55
  }