@univerjs/engine-render 0.1.2 → 0.1.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/lib/cjs/index.js +2 -2
- package/lib/es/index.js +6322 -6109
- package/lib/types/basics/draw.d.ts +8 -1
- package/lib/types/basics/text-rotation.d.ts +1 -1
- package/lib/types/components/component.d.ts +2 -2
- package/lib/types/components/docs/text-selection-render-manager.d.ts +3 -2
- package/lib/types/components/index.d.ts +1 -0
- package/lib/types/components/sheets/extensions/font.d.ts +10 -6
- package/lib/types/components/sheets/interfaces.d.ts +2 -1
- package/lib/types/components/sheets/sheet-skeleton.d.ts +22 -10
- package/lib/types/context.d.ts +67 -1
- package/lib/types/scene.d.ts +2 -2
- package/lib/umd/index.js +2 -2
- package/package.json +7 -7
- /package/lib/types/{scene.-transformer.d.ts → scene.transformer.d.ts} +0 -0
|
@@ -27,7 +27,14 @@ export interface IContext2D extends CanvasRenderingContext2D {
|
|
|
27
27
|
backingStorePixelRatio: number;
|
|
28
28
|
}
|
|
29
29
|
export declare function getDevicePixelRatio(): number;
|
|
30
|
-
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* @param ctx canvas context
|
|
33
|
+
* @param type top bottom left right
|
|
34
|
+
* @param lineWidthBuffer Solving the problem of mitered corners in the drawing of borders thicker than 2 pixels, caused by the line segments being centered.
|
|
35
|
+
* @param position border draw position
|
|
36
|
+
*/
|
|
37
|
+
export declare function drawLineByBorderType(ctx: UniverRenderingContext, type: BORDER_TYPE, lineWidthBuffer: number, position: IPosition): void;
|
|
31
38
|
export declare function drawDiagonalLineByBorderType(ctx: UniverRenderingContext, type: BORDER_TYPE, position: IPosition): void;
|
|
32
39
|
export declare function clearLineByBorderType(ctx: UniverRenderingContext, type: BORDER_TYPE, position: IPosition): void;
|
|
33
40
|
export declare function setLineType(ctx: UniverRenderingContext, style: BorderStyleTypes): void;
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { type ITextRotation } from '@univerjs/core';
|
|
17
17
|
export declare const VERTICAL_ROTATE_ANGLE = 90;
|
|
18
|
-
export declare function convertTextRotation(textRotation
|
|
18
|
+
export declare function convertTextRotation(textRotation?: ITextRotation): {
|
|
19
19
|
centerAngle: number;
|
|
20
20
|
vertexAngle: number;
|
|
21
21
|
};
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
+
import type { IDisposable } from '@wendellhu/redi';
|
|
16
17
|
import { BaseObject } from '../base-object';
|
|
17
18
|
import type { IViewportBound } from '../basics/vector2';
|
|
18
19
|
import type { UniverRenderingContext } from '../context';
|
|
@@ -20,8 +21,7 @@ import type { ComponentExtension } from './extension';
|
|
|
20
21
|
export declare class RenderComponent<T, U, V> extends BaseObject {
|
|
21
22
|
private _extensions;
|
|
22
23
|
get extensions(): Map<string, ComponentExtension<T, U, V>>;
|
|
23
|
-
register(...extensions: Array<ComponentExtension<T, U, V>>):
|
|
24
|
-
unRegister(...uKeys: string[]): void;
|
|
24
|
+
register(...extensions: Array<ComponentExtension<T, U, V>>): IDisposable;
|
|
25
25
|
getExtensionsByOrder(): ComponentExtension<T, U, V>[];
|
|
26
26
|
getExtensionByKey(uKey: string): ComponentExtension<T, U, V> | undefined;
|
|
27
27
|
draw(ctx: UniverRenderingContext, bounds?: IViewportBound): void;
|
|
@@ -111,8 +111,9 @@ export declare class TextSelectionRenderManager extends RxDisposable implements
|
|
|
111
111
|
private _container;
|
|
112
112
|
private _inputParent;
|
|
113
113
|
private _input;
|
|
114
|
-
private
|
|
115
|
-
private
|
|
114
|
+
private _moveObservers;
|
|
115
|
+
private _upObservers;
|
|
116
|
+
private _scrollTimers;
|
|
116
117
|
private _viewportScrollX;
|
|
117
118
|
private _viewportScrollY;
|
|
118
119
|
private _rangeList;
|
|
@@ -13,19 +13,23 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import type {
|
|
17
|
-
import { ObjectMatrix } from '@univerjs/core';
|
|
16
|
+
import type { IRange, IScale } from '@univerjs/core';
|
|
18
17
|
import type { UniverRenderingContext } from '../../../context';
|
|
19
18
|
import { type SpreadsheetSkeleton } from '../sheet-skeleton';
|
|
20
|
-
import type { Spreadsheet } from '../spreadsheet';
|
|
21
19
|
import { SheetExtension } from './sheet-extension';
|
|
20
|
+
export interface ISheetFontRenderExtension {
|
|
21
|
+
fontRenderExtension?: {
|
|
22
|
+
leftOffset?: number;
|
|
23
|
+
rightOffset?: number;
|
|
24
|
+
topOffset?: number;
|
|
25
|
+
downOffset?: number;
|
|
26
|
+
isSkip?: boolean;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
22
29
|
export declare class Font extends SheetExtension {
|
|
23
30
|
uKey: string;
|
|
24
31
|
Z_INDEX: number;
|
|
25
|
-
changeFontColor: ObjectMatrix<IColorStyle>;
|
|
26
|
-
get spreadsheet(): Spreadsheet;
|
|
27
32
|
getDocuments(): any;
|
|
28
|
-
setChangeFontColor(r: number, c: number, color: IColorStyle): void;
|
|
29
33
|
draw(ctx: UniverRenderingContext, parentScale: IScale, spreadsheetSkeleton: SpreadsheetSkeleton, diffRanges?: IRange[]): void;
|
|
30
34
|
private _renderDocuments;
|
|
31
35
|
private _clipRectangle;
|
|
@@ -26,7 +26,8 @@ export interface BorderCacheItem {
|
|
|
26
26
|
}
|
|
27
27
|
export interface IFontCacheItem {
|
|
28
28
|
documentSkeleton: DocumentSkeleton;
|
|
29
|
-
|
|
29
|
+
vertexAngle?: number;
|
|
30
|
+
centerAngle?: number;
|
|
30
31
|
verticalAlign: VerticalAlign;
|
|
31
32
|
horizontalAlign: HorizontalAlign;
|
|
32
33
|
wrapStrategy: WrapStrategy;
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import type { ICellData, IPaddingData, IRange, ISelectionCellWithCoord, ITextRotation, IWorksheetData,
|
|
17
|
-
import { BooleanNumber, DocumentDataModel, HorizontalAlign, ObjectMatrix, VerticalAlign, WrapStrategy } from '@univerjs/core';
|
|
16
|
+
import type { ICellData, IPaddingData, IRange, ISelectionCellWithCoord, ITextRotation, IWorksheetData, Nullable, Styles, Worksheet } from '@univerjs/core';
|
|
17
|
+
import { BooleanNumber, DocumentDataModel, HorizontalAlign, IContextService, LocaleService, ObjectMatrix, VerticalAlign, WrapStrategy } from '@univerjs/core';
|
|
18
18
|
import type { IBoundRectNoAngle, IViewportBound } from '../../basics/vector2';
|
|
19
19
|
import { DocumentSkeleton } from '../docs/doc-skeleton';
|
|
20
20
|
import { Skeleton } from '../skeleton';
|
|
@@ -48,14 +48,16 @@ export interface IDocumentLayoutObject {
|
|
|
48
48
|
paddingData: IPaddingData;
|
|
49
49
|
fill?: Nullable<string>;
|
|
50
50
|
}
|
|
51
|
+
export declare const RENDER_RAW_FORMULA_KEY = "RENDER_RAW_FORMULA";
|
|
51
52
|
export declare class SpreadsheetSkeleton extends Skeleton {
|
|
52
53
|
private _worksheet;
|
|
53
54
|
private _config;
|
|
54
55
|
private _cellData;
|
|
55
56
|
private _styles;
|
|
57
|
+
private readonly _contextService;
|
|
56
58
|
private _rowHeightAccumulation;
|
|
57
|
-
private _rowTotalHeight;
|
|
58
59
|
private _columnWidthAccumulation;
|
|
60
|
+
private _rowTotalHeight;
|
|
59
61
|
private _columnTotalWidth;
|
|
60
62
|
private _rowHeaderWidth;
|
|
61
63
|
private _columnHeaderHeight;
|
|
@@ -63,11 +65,13 @@ export declare class SpreadsheetSkeleton extends Skeleton {
|
|
|
63
65
|
private _dataMergeCache;
|
|
64
66
|
private _overflowCache;
|
|
65
67
|
private _stylesCache;
|
|
68
|
+
/** A matrix to store if a (row, column) position has render cache. */
|
|
66
69
|
private _renderedCellCache;
|
|
67
70
|
private _showGridlines;
|
|
68
71
|
private _marginTop;
|
|
69
72
|
private _marginLeft;
|
|
70
|
-
|
|
73
|
+
private _renderRawFormula;
|
|
74
|
+
constructor(_worksheet: Worksheet | undefined, _config: IWorksheetData, _cellData: ObjectMatrix<Nullable<ICellData>>, _styles: Styles, _localeService: LocaleService, _contextService: IContextService);
|
|
71
75
|
get rowHeightAccumulation(): number[];
|
|
72
76
|
get rowTotalHeight(): number;
|
|
73
77
|
get columnWidthAccumulation(): number[];
|
|
@@ -82,14 +86,11 @@ export declare class SpreadsheetSkeleton extends Skeleton {
|
|
|
82
86
|
get mergeData(): IRange[];
|
|
83
87
|
get rowHeaderWidthAndMarginLeft(): number;
|
|
84
88
|
get columnHeaderHeightAndMarginTop(): number;
|
|
89
|
+
get worksheet(): Worksheet | undefined;
|
|
85
90
|
/**
|
|
86
91
|
* @deprecated
|
|
87
92
|
*/
|
|
88
|
-
static create(worksheet: Worksheet | undefined, config: IWorksheetData, cellData: ObjectMatrix<Nullable<ICellData>>, styles: Styles, LocaleService:
|
|
89
|
-
/**
|
|
90
|
-
* @deprecated should never expose a property that is provided by another module!
|
|
91
|
-
*/
|
|
92
|
-
getWorksheetConfig(): IWorksheetData;
|
|
93
|
+
static create(worksheet: Worksheet | undefined, config: IWorksheetData, cellData: ObjectMatrix<Nullable<ICellData>>, styles: Styles, localeService: LocaleService, contextService: IContextService): SpreadsheetSkeleton;
|
|
93
94
|
/**
|
|
94
95
|
* @deprecated should never expose a property that is provided by another module!
|
|
95
96
|
*/
|
|
@@ -98,6 +99,7 @@ export declare class SpreadsheetSkeleton extends Skeleton {
|
|
|
98
99
|
* @deprecated should never expose a property that is provided by another module!
|
|
99
100
|
*/
|
|
100
101
|
getsStyles(): Styles;
|
|
102
|
+
private _initContextListener;
|
|
101
103
|
setOverflowCache(value: ObjectMatrix<IRange>): void;
|
|
102
104
|
setMarginLeft(left: number): void;
|
|
103
105
|
setMarginTop(top: number): void;
|
|
@@ -106,7 +108,7 @@ export declare class SpreadsheetSkeleton extends Skeleton {
|
|
|
106
108
|
calculate(bounds?: IViewportBound): this;
|
|
107
109
|
calculateAutoHeightInRange(ranges: Nullable<IRange[]>): IRowAutoHeightInfo[];
|
|
108
110
|
private _calculateRowAutoHeight;
|
|
109
|
-
|
|
111
|
+
private _updateLayout;
|
|
110
112
|
private _dynamicallyUpdateRowHeaderWidth;
|
|
111
113
|
getRowColumnSegment(bounds?: IViewportBound): {
|
|
112
114
|
startRow: number;
|
|
@@ -114,6 +116,11 @@ export declare class SpreadsheetSkeleton extends Skeleton {
|
|
|
114
116
|
startColumn: number;
|
|
115
117
|
endColumn: number;
|
|
116
118
|
};
|
|
119
|
+
/**
|
|
120
|
+
* @deprecated should never expose a property that is provided by another module!
|
|
121
|
+
* @returns
|
|
122
|
+
*/
|
|
123
|
+
getWorksheetConfig(): IWorksheetData;
|
|
117
124
|
getRowColumnSegmentByViewBound(bound?: IBoundRectNoAngle): {
|
|
118
125
|
startRow: number;
|
|
119
126
|
endRow: number;
|
|
@@ -295,6 +302,11 @@ export declare class SpreadsheetSkeleton extends Skeleton {
|
|
|
295
302
|
private _setCellCache;
|
|
296
303
|
private _updateConfigAndGetDocumentModel;
|
|
297
304
|
private _getDocumentDataByStyle;
|
|
305
|
+
/**
|
|
306
|
+
* pro/issues/344
|
|
307
|
+
* In Excel, for the border rendering of merged cells to take effect, the outermost cells need to have the same border style.
|
|
308
|
+
*/
|
|
309
|
+
private _setMergeBorderProps;
|
|
298
310
|
private _setBorderProps;
|
|
299
311
|
private _getFontFormat;
|
|
300
312
|
private _getOtherStyle;
|
package/lib/types/context.d.ts
CHANGED
|
@@ -39,7 +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
|
-
|
|
42
|
+
setLineWidthByPrecision(val: number): void;
|
|
43
43
|
get miterLimit(): number;
|
|
44
44
|
set miterLimit(val: number);
|
|
45
45
|
get shadowBlur(): number;
|
|
@@ -56,16 +56,31 @@ export declare class UniverRenderingContext2D implements CanvasRenderingContext2
|
|
|
56
56
|
set font(val: string);
|
|
57
57
|
get fontKerning(): CanvasFontKerning;
|
|
58
58
|
set fontKerning(val: CanvasFontKerning);
|
|
59
|
+
get fontStretch(): CanvasFontStretch;
|
|
60
|
+
set fontStretch(val: CanvasFontStretch);
|
|
61
|
+
get fontVariantCaps(): CanvasFontVariantCaps;
|
|
62
|
+
set fontVariantCaps(val: CanvasFontVariantCaps);
|
|
63
|
+
get letterSpacing(): string;
|
|
64
|
+
set letterSpacing(val: string);
|
|
65
|
+
get textRendering(): CanvasTextRendering;
|
|
66
|
+
set textRendering(val: CanvasTextRendering);
|
|
67
|
+
get wordSpacing(): string;
|
|
68
|
+
set wordSpacing(val: string);
|
|
59
69
|
get textAlign(): CanvasTextAlign;
|
|
60
70
|
set textAlign(val: CanvasTextAlign);
|
|
61
71
|
get textBaseline(): CanvasTextBaseline;
|
|
62
72
|
set textBaseline(val: CanvasTextBaseline);
|
|
63
73
|
private _getScale;
|
|
74
|
+
getScale(): {
|
|
75
|
+
scaleX: number;
|
|
76
|
+
scaleY: number;
|
|
77
|
+
};
|
|
64
78
|
getContextAttributes(): CanvasRenderingContext2DSettings;
|
|
65
79
|
isPointInStroke(x: number, y: number): boolean;
|
|
66
80
|
isPointInStroke(path: Path2D, x: number, y: number): boolean;
|
|
67
81
|
createConicGradient(startAngle: number, x: number, y: number): CanvasGradient;
|
|
68
82
|
roundRect(x: number, y: number, w: number, h: number, radii?: number | DOMPointInit | Array<number | DOMPointInit>): void;
|
|
83
|
+
roundRectByPrecision(x: number, y: number, w: number, h: number, radii?: number | DOMPointInit | Array<number | DOMPointInit>): void;
|
|
69
84
|
getTransform(): DOMMatrix;
|
|
70
85
|
resetTransform(): void;
|
|
71
86
|
drawFocusIfNeeded(element: Element): void;
|
|
@@ -80,12 +95,23 @@ export declare class UniverRenderingContext2D implements CanvasRenderingContext2
|
|
|
80
95
|
* @method
|
|
81
96
|
*/
|
|
82
97
|
arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, counterClockwise?: boolean): void;
|
|
98
|
+
/**
|
|
99
|
+
* arc function.
|
|
100
|
+
* @method
|
|
101
|
+
*/
|
|
102
|
+
arcByPrecision(x: number, y: number, radius: number, startAngle: number, endAngle: number, counterClockwise?: boolean): void;
|
|
83
103
|
/**
|
|
84
104
|
* arcTo function.
|
|
85
105
|
* @method
|
|
86
106
|
*
|
|
87
107
|
*/
|
|
88
108
|
arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void;
|
|
109
|
+
/**
|
|
110
|
+
* arcTo function.
|
|
111
|
+
* @method
|
|
112
|
+
*
|
|
113
|
+
*/
|
|
114
|
+
arcToByPrecision(x1: number, y1: number, x2: number, y2: number, radius: number): void;
|
|
89
115
|
/**
|
|
90
116
|
* beginPath function.
|
|
91
117
|
* @method
|
|
@@ -96,11 +122,21 @@ export declare class UniverRenderingContext2D implements CanvasRenderingContext2
|
|
|
96
122
|
* @method
|
|
97
123
|
*/
|
|
98
124
|
bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void;
|
|
125
|
+
/**
|
|
126
|
+
* bezierCurveTo function precision.
|
|
127
|
+
* @method
|
|
128
|
+
*/
|
|
129
|
+
bezierCurveToByPrecision(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void;
|
|
99
130
|
/**
|
|
100
131
|
* clearRect function.
|
|
101
132
|
* @method
|
|
102
133
|
*/
|
|
103
134
|
clearRect(x: number, y: number, width: number, height: number): void;
|
|
135
|
+
/**
|
|
136
|
+
* clearRect function.
|
|
137
|
+
* @method
|
|
138
|
+
*/
|
|
139
|
+
clearRectByPrecision(x: number, y: number, width: number, height: number): void;
|
|
104
140
|
/**
|
|
105
141
|
* clip function.
|
|
106
142
|
* @method
|
|
@@ -162,11 +198,21 @@ export declare class UniverRenderingContext2D implements CanvasRenderingContext2
|
|
|
162
198
|
* @method
|
|
163
199
|
*/
|
|
164
200
|
fillRect(x: number, y: number, width: number, height: number): void;
|
|
201
|
+
/**
|
|
202
|
+
* fillRect function precision.
|
|
203
|
+
* @method
|
|
204
|
+
*/
|
|
205
|
+
fillRectByPrecision(x: number, y: number, width: number, height: number): void;
|
|
165
206
|
/**
|
|
166
207
|
* strokeRect function.
|
|
167
208
|
* @method
|
|
168
209
|
*/
|
|
169
210
|
strokeRect(x: number, y: number, width: number, height: number): void;
|
|
211
|
+
/**
|
|
212
|
+
* strokeRect function precision.
|
|
213
|
+
* @method
|
|
214
|
+
*/
|
|
215
|
+
strokeRectPrecision(x: number, y: number, width: number, height: number): void;
|
|
170
216
|
/**
|
|
171
217
|
* fillText function.
|
|
172
218
|
* @method
|
|
@@ -192,16 +238,31 @@ export declare class UniverRenderingContext2D implements CanvasRenderingContext2
|
|
|
192
238
|
* @method
|
|
193
239
|
*/
|
|
194
240
|
lineTo(x: number, y: number): void;
|
|
241
|
+
/**
|
|
242
|
+
* lineTo function precision.
|
|
243
|
+
* @method
|
|
244
|
+
*/
|
|
245
|
+
lineToByPrecision(x: number, y: number): void;
|
|
195
246
|
/**
|
|
196
247
|
* moveTo function.
|
|
197
248
|
* @method
|
|
198
249
|
*/
|
|
199
250
|
moveTo(x: number, y: number): void;
|
|
251
|
+
/**
|
|
252
|
+
* moveTo function precision.
|
|
253
|
+
* @method
|
|
254
|
+
*/
|
|
255
|
+
moveToByPrecision(x: number, y: number): void;
|
|
200
256
|
/**
|
|
201
257
|
* rect function.
|
|
202
258
|
* @method
|
|
203
259
|
*/
|
|
204
260
|
rect(x: number, y: number, width: number, height: number): void;
|
|
261
|
+
/**
|
|
262
|
+
* rect function.
|
|
263
|
+
* @method
|
|
264
|
+
*/
|
|
265
|
+
rectByPrecision(x: number, y: number, width: number, height: number): void;
|
|
205
266
|
/**
|
|
206
267
|
* putImageData function.
|
|
207
268
|
* @method
|
|
@@ -258,6 +319,11 @@ export declare class UniverRenderingContext2D implements CanvasRenderingContext2
|
|
|
258
319
|
* @method
|
|
259
320
|
*/
|
|
260
321
|
strokeText(text: string, x: number, y: number, maxWidth?: number): void;
|
|
322
|
+
/**
|
|
323
|
+
* strokeText function precision.
|
|
324
|
+
* @method
|
|
325
|
+
*/
|
|
326
|
+
strokeTextByPrecision(text: string, x: number, y: number, maxWidth?: number): void;
|
|
261
327
|
/**
|
|
262
328
|
* transform function.
|
|
263
329
|
* @method
|
package/lib/types/scene.d.ts
CHANGED
|
@@ -21,8 +21,8 @@ import type { ISceneTransformState } from './basics/interfaces';
|
|
|
21
21
|
import { Vector2 } from './basics/vector2';
|
|
22
22
|
import type { UniverRenderingContext } from './context';
|
|
23
23
|
import { Layer } from './layer';
|
|
24
|
-
import type { ITransformerConfig } from './scene
|
|
25
|
-
import { Transformer } from './scene
|
|
24
|
+
import type { ITransformerConfig } from './scene.transformer';
|
|
25
|
+
import { Transformer } from './scene.transformer';
|
|
26
26
|
import type { SceneViewer } from './scene-viewer';
|
|
27
27
|
import type { ThinEngine } from './thin-engine';
|
|
28
28
|
import { ThinScene } from './thin-scene';
|