@univerjs/engine-render 0.1.0-beta.1 → 0.1.0-beta.3
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/{LICENSE.txt → LICENSE} +0 -2
- package/lib/cjs/index.js +4 -4
- package/lib/es/index.js +12704 -8240
- 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/break.d.ts +20 -0
- package/lib/types/components/docs/linebreak/classes.d.ts +58 -0
- package/lib/types/components/docs/linebreak/extensions/tab-linebreak-extension.d.ts +17 -0
- package/lib/types/components/docs/linebreak/index.d.ts +16 -0
- package/lib/types/components/docs/linebreak/linebreaker.d.ts +41 -0
- package/lib/types/components/docs/linebreak/pairs.d.ts +21 -0
- package/lib/types/components/docs/linebreak/rule.d.ts +23 -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/docs/text-selection-render-manager.d.ts +5 -3
- 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/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 +10 -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 +284 -0
- package/lib/types/custom/custom-object.d.ts +3 -2
- package/lib/types/engine.d.ts +6 -0
- 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-engine.d.ts +1 -0
- package/lib/types/thin-scene.d.ts +8 -2
- package/lib/types/viewport.d.ts +2 -2
- package/lib/umd/index.js +4 -4
- package/package.json +26 -23
|
@@ -14,11 +14,12 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import type { IRange, IScale } from '@univerjs/core';
|
|
17
|
+
import type { UniverRenderingContext } from '../../../context';
|
|
17
18
|
import type { SpreadsheetSkeleton } from '../sheet-skeleton';
|
|
18
19
|
import { SheetExtension } from './sheet-extension';
|
|
19
20
|
export declare class Border extends SheetExtension {
|
|
20
21
|
uKey: string;
|
|
21
22
|
zIndex: number;
|
|
22
|
-
draw(ctx:
|
|
23
|
+
draw(ctx: UniverRenderingContext, parentScale: IScale, spreadsheetSkeleton: SpreadsheetSkeleton, diffRanges?: IRange[]): void;
|
|
23
24
|
private _getOverflowExclusion;
|
|
24
25
|
}
|
|
@@ -14,10 +14,11 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import type { IScale } from '@univerjs/core';
|
|
17
|
+
import type { UniverRenderingContext } from '../../../context';
|
|
17
18
|
import type { SpreadsheetSkeleton } from '../sheet-skeleton';
|
|
18
19
|
import { SheetExtension } from './sheet-extension';
|
|
19
20
|
export declare class ColumnHeaderLayout extends SheetExtension {
|
|
20
21
|
uKey: string;
|
|
21
22
|
zIndex: number;
|
|
22
|
-
draw(ctx:
|
|
23
|
+
draw(ctx: UniverRenderingContext, parentScale: IScale, spreadsheetSkeleton: SpreadsheetSkeleton): void;
|
|
23
24
|
}
|
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import type { IColorStyle, IRange, IScale } from '@univerjs/core';
|
|
17
17
|
import { ObjectMatrix } from '@univerjs/core';
|
|
18
|
-
import type {
|
|
18
|
+
import type { UniverRenderingContext } from '../../../context';
|
|
19
|
+
import { type SpreadsheetSkeleton } from '../sheet-skeleton';
|
|
19
20
|
import { SheetExtension } from './sheet-extension';
|
|
20
21
|
export declare class Font extends SheetExtension {
|
|
21
22
|
uKey: string;
|
|
@@ -23,7 +24,7 @@ export declare class Font extends SheetExtension {
|
|
|
23
24
|
changeFontColor: ObjectMatrix<IColorStyle>;
|
|
24
25
|
getDocuments(): any;
|
|
25
26
|
setChangeFontColor(r: number, c: number, color: IColorStyle): void;
|
|
26
|
-
draw(ctx:
|
|
27
|
+
draw(ctx: UniverRenderingContext, parentScale: IScale, spreadsheetSkeleton: SpreadsheetSkeleton, diffRanges?: IRange[]): void;
|
|
27
28
|
private _renderDocuments;
|
|
28
29
|
private _clipRectangle;
|
|
29
30
|
}
|
|
@@ -14,10 +14,11 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import type { IScale } from '@univerjs/core';
|
|
17
|
+
import type { UniverRenderingContext } from '../../../context';
|
|
17
18
|
import type { SpreadsheetSkeleton } from '../sheet-skeleton';
|
|
18
19
|
import { SheetExtension } from './sheet-extension';
|
|
19
20
|
export declare class RowHeaderLayout extends SheetExtension {
|
|
20
21
|
uKey: string;
|
|
21
22
|
zIndex: number;
|
|
22
|
-
draw(ctx:
|
|
23
|
+
draw(ctx: UniverRenderingContext, parentScale: IScale, spreadsheetSkeleton: SpreadsheetSkeleton): void;
|
|
23
24
|
}
|
|
@@ -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 type { RowHeaderLayout } from './extensions/row-header-layout';
|
|
18
19
|
import { SpreadsheetHeader } from './sheet-component';
|
|
19
20
|
import type { SpreadsheetSkeleton } from './sheet-skeleton';
|
|
@@ -21,7 +22,7 @@ export declare class SpreadsheetRowHeader extends SpreadsheetHeader {
|
|
|
21
22
|
private _rowHeaderLayoutExtension;
|
|
22
23
|
constructor(oKey: string, spreadsheetSkeleton?: SpreadsheetSkeleton);
|
|
23
24
|
get rowHeaderLayoutExtension(): RowHeaderLayout;
|
|
24
|
-
draw(ctx:
|
|
25
|
+
draw(ctx: UniverRenderingContext, bounds?: IViewportBound): void;
|
|
25
26
|
isHit(coord: Vector2): boolean;
|
|
26
27
|
private _initialDefaultExtension;
|
|
27
28
|
}
|
|
@@ -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
|
|
@@ -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,284 @@
|
|
|
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
|
+
* reset canvas context transform
|
|
74
|
+
* @method
|
|
75
|
+
*/
|
|
76
|
+
reset(): void;
|
|
77
|
+
/**
|
|
78
|
+
* arc function.
|
|
79
|
+
* @method
|
|
80
|
+
*/
|
|
81
|
+
arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, counterClockwise?: boolean): void;
|
|
82
|
+
/**
|
|
83
|
+
* arcTo function.
|
|
84
|
+
* @method
|
|
85
|
+
*
|
|
86
|
+
*/
|
|
87
|
+
arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void;
|
|
88
|
+
/**
|
|
89
|
+
* beginPath function.
|
|
90
|
+
* @method
|
|
91
|
+
*/
|
|
92
|
+
beginPath(): void;
|
|
93
|
+
/**
|
|
94
|
+
* bezierCurveTo function.
|
|
95
|
+
* @method
|
|
96
|
+
*/
|
|
97
|
+
bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void;
|
|
98
|
+
/**
|
|
99
|
+
* clearRect function.
|
|
100
|
+
* @method
|
|
101
|
+
*/
|
|
102
|
+
clearRect(x: number, y: number, width: number, height: number): void;
|
|
103
|
+
/**
|
|
104
|
+
* clip function.
|
|
105
|
+
* @method
|
|
106
|
+
*/
|
|
107
|
+
clip(): void;
|
|
108
|
+
clip(path: Path2D): void;
|
|
109
|
+
clip(fillRule?: CanvasFillRule): void;
|
|
110
|
+
clip(path: Path2D, fillRule?: CanvasFillRule): void;
|
|
111
|
+
/**
|
|
112
|
+
* closePath function.
|
|
113
|
+
* @method
|
|
114
|
+
*/
|
|
115
|
+
closePath(): void;
|
|
116
|
+
/**
|
|
117
|
+
* createImageData function.
|
|
118
|
+
* @method
|
|
119
|
+
*/
|
|
120
|
+
createImageData(width: number, height: number, settings?: ImageDataSettings): ImageData;
|
|
121
|
+
createImageData(imagedata: ImageData): ImageData;
|
|
122
|
+
/**
|
|
123
|
+
* createLinearGradient function.
|
|
124
|
+
* @method
|
|
125
|
+
*/
|
|
126
|
+
createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient;
|
|
127
|
+
/**
|
|
128
|
+
* createPattern function.
|
|
129
|
+
* @method
|
|
130
|
+
*/
|
|
131
|
+
createPattern(image: CanvasImageSource, repetition: string | null): CanvasPattern | null;
|
|
132
|
+
/**
|
|
133
|
+
* createRadialGradient function.
|
|
134
|
+
* @method
|
|
135
|
+
*/
|
|
136
|
+
createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): CanvasGradient;
|
|
137
|
+
/**
|
|
138
|
+
* drawImage function.
|
|
139
|
+
* @method
|
|
140
|
+
*/
|
|
141
|
+
drawImage(image: CanvasImageSource, sx: number, sy: number, sWidth?: number, sHeight?: number, dx?: number, dy?: number, dWidth?: number, dHeight?: number): void;
|
|
142
|
+
/**
|
|
143
|
+
* ellipse function.
|
|
144
|
+
* @method
|
|
145
|
+
*/
|
|
146
|
+
ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, counterclockwise?: boolean): void;
|
|
147
|
+
/**
|
|
148
|
+
* isPointInPath function.
|
|
149
|
+
* @method
|
|
150
|
+
*/
|
|
151
|
+
isPointInPath(x: number, y: number, fillRule?: CanvasFillRule): boolean;
|
|
152
|
+
isPointInPath(path: Path2D, x: number, y: number, fillRule?: CanvasFillRule): boolean;
|
|
153
|
+
/**
|
|
154
|
+
* fill function.
|
|
155
|
+
* @method
|
|
156
|
+
*/
|
|
157
|
+
fill(fillRule?: CanvasFillRule): void;
|
|
158
|
+
fill(path: Path2D, fillRule?: CanvasFillRule): void;
|
|
159
|
+
/**
|
|
160
|
+
* fillRect function.
|
|
161
|
+
* @method
|
|
162
|
+
*/
|
|
163
|
+
fillRect(x: number, y: number, width: number, height: number): void;
|
|
164
|
+
/**
|
|
165
|
+
* strokeRect function.
|
|
166
|
+
* @method
|
|
167
|
+
*/
|
|
168
|
+
strokeRect(x: number, y: number, width: number, height: number): void;
|
|
169
|
+
/**
|
|
170
|
+
* fillText function.
|
|
171
|
+
* @method
|
|
172
|
+
*/
|
|
173
|
+
fillText(text: string, x: number, y: number, maxWidth?: number): void;
|
|
174
|
+
/**
|
|
175
|
+
* fillText function.
|
|
176
|
+
* @method
|
|
177
|
+
*/
|
|
178
|
+
fillTextPrecision(text: string, x: number, y: number, maxWidth?: number): void;
|
|
179
|
+
/**
|
|
180
|
+
* measureText function.
|
|
181
|
+
* @method
|
|
182
|
+
*/
|
|
183
|
+
measureText(text: string): TextMetrics;
|
|
184
|
+
/**
|
|
185
|
+
* getImageData function.
|
|
186
|
+
* @method
|
|
187
|
+
*/
|
|
188
|
+
getImageData(sx: number, sy: number, sw: number, sh: number): ImageData;
|
|
189
|
+
/**
|
|
190
|
+
* lineTo function.
|
|
191
|
+
* @method
|
|
192
|
+
*/
|
|
193
|
+
lineTo(x: number, y: number): void;
|
|
194
|
+
/**
|
|
195
|
+
* moveTo function.
|
|
196
|
+
* @method
|
|
197
|
+
*/
|
|
198
|
+
moveTo(x: number, y: number): void;
|
|
199
|
+
/**
|
|
200
|
+
* rect function.
|
|
201
|
+
* @method
|
|
202
|
+
*/
|
|
203
|
+
rect(x: number, y: number, width: number, height: number): void;
|
|
204
|
+
/**
|
|
205
|
+
* putImageData function.
|
|
206
|
+
* @method
|
|
207
|
+
*/
|
|
208
|
+
putImageData(imageData: ImageData, dx: number, dy: number): void;
|
|
209
|
+
/**
|
|
210
|
+
* quadraticCurveTo function.
|
|
211
|
+
* @method
|
|
212
|
+
*/
|
|
213
|
+
quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void;
|
|
214
|
+
/**
|
|
215
|
+
* restore function.
|
|
216
|
+
* @method
|
|
217
|
+
*/
|
|
218
|
+
restore(): void;
|
|
219
|
+
/**
|
|
220
|
+
* rotate function.
|
|
221
|
+
* @method
|
|
222
|
+
*/
|
|
223
|
+
rotate(angle: number): void;
|
|
224
|
+
/**
|
|
225
|
+
* save function.
|
|
226
|
+
* @method
|
|
227
|
+
*/
|
|
228
|
+
save(): void;
|
|
229
|
+
/**
|
|
230
|
+
* scale function.
|
|
231
|
+
* @method
|
|
232
|
+
*/
|
|
233
|
+
scale(x: number, y: number): void;
|
|
234
|
+
/**
|
|
235
|
+
* setLineDash function.
|
|
236
|
+
* @method
|
|
237
|
+
*/
|
|
238
|
+
setLineDash(segments: number[]): void;
|
|
239
|
+
/**
|
|
240
|
+
* getLineDash function.
|
|
241
|
+
* @method
|
|
242
|
+
*/
|
|
243
|
+
getLineDash(): number[];
|
|
244
|
+
/**
|
|
245
|
+
* setTransform function.
|
|
246
|
+
* @method
|
|
247
|
+
*/
|
|
248
|
+
setTransform(transform?: DOMMatrix2DInit): void;
|
|
249
|
+
setTransform(a: number, b: number, c: number, d: number, e: number, f: number): void;
|
|
250
|
+
/**
|
|
251
|
+
* stroke function.
|
|
252
|
+
* @method
|
|
253
|
+
*/
|
|
254
|
+
stroke(path2d?: Path2D): void;
|
|
255
|
+
/**
|
|
256
|
+
* strokeText function.
|
|
257
|
+
* @method
|
|
258
|
+
*/
|
|
259
|
+
strokeText(text: string, x: number, y: number, maxWidth?: number): void;
|
|
260
|
+
/**
|
|
261
|
+
* transform function.
|
|
262
|
+
* @method
|
|
263
|
+
*/
|
|
264
|
+
transform(a: number, b: number, c: number, d: number, e: number, f: number): void;
|
|
265
|
+
/**
|
|
266
|
+
* translate function.
|
|
267
|
+
* @method
|
|
268
|
+
*/
|
|
269
|
+
translate(x: number, y: number): void;
|
|
270
|
+
translateWithPrecision(x: number, y: number): void;
|
|
271
|
+
translateWithPrecisionRatio(x: number, y: number): void;
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* TODO
|
|
275
|
+
*/
|
|
276
|
+
export declare class UniverRenderingContextWebGL {
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* TODO
|
|
280
|
+
*/
|
|
281
|
+
export declare class UniverRenderingContextWebGPU {
|
|
282
|
+
}
|
|
283
|
+
export declare class UniverRenderingContext extends UniverRenderingContext2D {
|
|
284
|
+
}
|
|
@@ -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/engine.d.ts
CHANGED
|
@@ -47,6 +47,7 @@ export declare class Engine extends ThinEngine<Scene> {
|
|
|
47
47
|
private _pointerWheelEvent;
|
|
48
48
|
private _pointerEnterEvent;
|
|
49
49
|
private _pointerLeaveEvent;
|
|
50
|
+
private _remainCapture;
|
|
50
51
|
/** previous pointer position */
|
|
51
52
|
private pointer;
|
|
52
53
|
private _mouseId;
|
|
@@ -63,6 +64,11 @@ export declare class Engine extends ThinEngine<Scene> {
|
|
|
63
64
|
clearCanvas(): void;
|
|
64
65
|
getCanvas(): Canvas;
|
|
65
66
|
getCanvasElement(): HTMLCanvasElement;
|
|
67
|
+
/**
|
|
68
|
+
* To ensure mouse events remain bound to the host element,
|
|
69
|
+
* preventing the events from becoming ineffective once the mouse leaves the host.
|
|
70
|
+
*/
|
|
71
|
+
setRemainCapture(): void;
|
|
66
72
|
getPixelRatio(): number;
|
|
67
73
|
setContainer(elem: HTMLElement): void;
|
|
68
74
|
resize(): void;
|
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
|
}
|