@univerjs/engine-render 0.2.2 → 0.2.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/README.md +11 -2
- package/lib/cjs/index.js +2 -2
- package/lib/es/index.js +8208 -7933
- package/lib/types/basics/i-document-skeleton-cached.d.ts +5 -0
- package/lib/types/basics/tools.d.ts +2 -2
- package/lib/types/components/docs/layout/block/paragraph/layout-ruler.d.ts +2 -1
- package/lib/types/components/docs/layout/line-breaker/extensions/custom-block-linebreak-extension.d.ts +3 -0
- package/lib/types/components/docs/layout/model/line.d.ts +2 -1
- package/lib/types/components/docs/layout/tools.d.ts +5 -4
- package/lib/types/components/docs/text-selection/text-selection-render-manager.d.ts +13 -2
- package/lib/types/components/docs/view-model/document-view-model.d.ts +1 -0
- package/lib/types/components/sheets/sheet-skeleton.d.ts +4 -9
- package/lib/types/components/sheets/spreadsheet.d.ts +2 -6
- package/lib/types/engine.d.ts +5 -2
- package/lib/types/floating/util.d.ts +3 -0
- package/lib/types/index.d.ts +3 -1
- package/lib/types/render-manager/render-manager.service.d.ts +8 -5
- package/lib/types/render-manager/render-unit.d.ts +3 -6
- package/lib/types/scene.d.ts +15 -4
- package/lib/types/scene.transformer.d.ts +3 -1
- package/lib/types/shape/image.d.ts +3 -0
- package/lib/umd/index.js +2 -2
- package/package.json +6 -4
|
@@ -147,6 +147,11 @@ export interface IDocumentSkeletonDrawing {
|
|
|
147
147
|
angle: number;
|
|
148
148
|
initialState: boolean;
|
|
149
149
|
drawingOrigin: IDocDrawingBase;
|
|
150
|
+
columnLeft: number;
|
|
151
|
+
isPageBreak: boolean;
|
|
152
|
+
lineTop: number;
|
|
153
|
+
lineHeight: number;
|
|
154
|
+
blockAnchorTop: number;
|
|
150
155
|
}
|
|
151
156
|
export interface IDocumentSkeletonFontStyle {
|
|
152
157
|
fontString: string;
|
|
@@ -82,13 +82,13 @@ export declare function mergeInfoOffset(mergeInfo: IRangeWithCoord, offsetX: num
|
|
|
82
82
|
startY: number;
|
|
83
83
|
endX: number;
|
|
84
84
|
endY: number;
|
|
85
|
-
startColumn: number;
|
|
86
|
-
endColumn: number;
|
|
87
85
|
rangeType?: import('@univerjs/core').RANGE_TYPE;
|
|
88
86
|
startAbsoluteRefType?: import('@univerjs/core').AbsoluteRefType;
|
|
89
87
|
endAbsoluteRefType?: import('@univerjs/core').AbsoluteRefType;
|
|
90
88
|
startRow: number;
|
|
91
89
|
endRow: number;
|
|
90
|
+
startColumn: number;
|
|
91
|
+
endColumn: number;
|
|
92
92
|
};
|
|
93
93
|
export declare function isRectIntersect(rect1: IBoundRectNoAngle, rect2: IBoundRectNoAngle): boolean;
|
|
94
94
|
export declare function injectStyle(styles: string[]): void;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { IDocumentSkeletonGlyph, IDocumentSkeletonPage } from '../../../../../basics/i-document-skeleton-cached';
|
|
1
|
+
import { IDocumentSkeletonDrawing, IDocumentSkeletonGlyph, IDocumentSkeletonLine, IDocumentSkeletonPage } from '../../../../../basics/i-document-skeleton-cached';
|
|
2
2
|
import { IParagraphConfig, ISectionBreakConfig } from '../../../../../basics/interfaces';
|
|
3
3
|
import { ILayoutContext } from '../../tools';
|
|
4
4
|
import { BreakPointType } from '../../line-breaker/break';
|
|
5
5
|
|
|
6
6
|
export declare function layoutParagraph(ctx: ILayoutContext, glyphGroup: IDocumentSkeletonGlyph[], pages: IDocumentSkeletonPage[], sectionBreakConfig: ISectionBreakConfig, paragraphConfig: IParagraphConfig, paragraphStart?: boolean, breakPointType?: BreakPointType): IDocumentSkeletonPage[];
|
|
7
|
+
export declare function updateInlineDrawingPosition(line: IDocumentSkeletonLine, paragraphInlineSkeDrawings?: Map<string, IDocumentSkeletonDrawing>, blockAnchorTop?: number): void;
|
|
@@ -15,6 +15,7 @@ export declare function createSkeletonLine(paragraphIndex: number, lineType: Lin
|
|
|
15
15
|
export declare function calculateLineTopByDrawings(lineHeight?: number, lineTop?: number, pageSkeDrawings?: Map<string, IDocumentSkeletonDrawing>, headersDrawings?: Map<string, IDocumentSkeletonDrawing>, footersDrawings?: Map<string, IDocumentSkeletonDrawing>): number;
|
|
16
16
|
export declare function updateDivideInfo(divide: IDocumentSkeletonDivide, states: Partial<IDocumentSkeletonDivide>): void;
|
|
17
17
|
export declare function setLineMarginBottom(line: IDocumentSkeletonLine, marginBottom: number): void;
|
|
18
|
-
export declare function collisionDetection(drawing: IDocumentSkeletonDrawing, lineHeight: number, lineTop: number, columnWidth: number): boolean;
|
|
18
|
+
export declare function collisionDetection(drawing: IDocumentSkeletonDrawing, lineHeight: number, lineTop: number, columnLeft: number, columnWidth: number): boolean;
|
|
19
|
+
export declare function getBoundingBox(angle: number, left: number, width: number, top: number, height: number): import('../../../..').IRect;
|
|
19
20
|
export declare function createAndUpdateBlockAnchor(paragraphIndex: number, line: IDocumentSkeletonLine, top: number, drawingAnchor?: Map<number, IDocumentSkeletonDrawingAnchor>): void;
|
|
20
21
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DocumentDataModel, INumberUnit, IObjectPositionH, IObjectPositionV, IParagraphStyle, ITextStyle, Nullable, BooleanNumber, GridType, SpacingRule } from '@univerjs/core';
|
|
2
|
-
import { IDocumentSkeletonCached, IDocumentSkeletonColumn, IDocumentSkeletonDivide, IDocumentSkeletonDrawing, IDocumentSkeletonFontStyle, IDocumentSkeletonGlyph, IDocumentSkeletonLine, IDocumentSkeletonPage, ISkeletonResourceReference } from '../../../basics/i-document-skeleton-cached';
|
|
2
|
+
import { IDocumentSkeletonCached, IDocumentSkeletonColumn, IDocumentSkeletonDivide, IDocumentSkeletonDrawing, IDocumentSkeletonFontStyle, IDocumentSkeletonGlyph, IDocumentSkeletonLine, IDocumentSkeletonPage, IDocumentSkeletonSection, ISkeletonResourceReference } from '../../../basics/i-document-skeleton-cached';
|
|
3
3
|
import { IDocsConfig, IParagraphConfig, ISectionBreakConfig } from '../../../basics/interfaces';
|
|
4
4
|
import { DataStreamTreeNode } from '../view-model/data-stream-tree-node';
|
|
5
5
|
import { DocumentViewModel } from '../view-model/document-view-model';
|
|
@@ -7,7 +7,7 @@ import { Hyphen } from './hyphenation/hyphen';
|
|
|
7
7
|
import { LanguageDetector } from './hyphenation/language-detector';
|
|
8
8
|
|
|
9
9
|
export declare function getLastPage(pages: IDocumentSkeletonPage[]): IDocumentSkeletonPage;
|
|
10
|
-
export declare function getLastSection(page: IDocumentSkeletonPage):
|
|
10
|
+
export declare function getLastSection(page: IDocumentSkeletonPage): IDocumentSkeletonSection;
|
|
11
11
|
export declare function getLastColumn(page: IDocumentSkeletonPage): IDocumentSkeletonColumn;
|
|
12
12
|
export declare function getLastLine(page: IDocumentSkeletonPage): IDocumentSkeletonLine | undefined;
|
|
13
13
|
export declare function getLastLineByColumn(column: IDocumentSkeletonColumn): IDocumentSkeletonLine;
|
|
@@ -49,8 +49,9 @@ export declare function getCharSpaceConfig(sectionBreakConfig: ISectionBreakConf
|
|
|
49
49
|
snapToGrid: BooleanNumber;
|
|
50
50
|
};
|
|
51
51
|
export declare function updateBlockIndex(pages: IDocumentSkeletonPage[], start?: number): void;
|
|
52
|
-
export declare function
|
|
53
|
-
export declare function
|
|
52
|
+
export declare function updateInlineDrawingCoords(ctx: ILayoutContext, pages: IDocumentSkeletonPage[]): void;
|
|
53
|
+
export declare function glyphIterator(pages: IDocumentSkeletonPage[], cb: (glyph: IDocumentSkeletonGlyph, divide: IDocumentSkeletonDivide, line: IDocumentSkeletonLine, column: IDocumentSkeletonColumn, section: IDocumentSkeletonSection, page: IDocumentSkeletonPage) => void): void;
|
|
54
|
+
export declare function lineIterator(pages: IDocumentSkeletonPage[], cb: (line: IDocumentSkeletonLine, column: IDocumentSkeletonColumn, section: IDocumentSkeletonSection, page: IDocumentSkeletonPage) => void): void;
|
|
54
55
|
export declare function columnIterator(pages: IDocumentSkeletonPage[], iteratorFunction: (column: IDocumentSkeletonColumn) => void): void;
|
|
55
56
|
export declare function getPositionHorizon(positionH: IObjectPositionH, column: IDocumentSkeletonColumn, page: IDocumentSkeletonPage, objectWidth: number, isPageBreak?: boolean): number | undefined;
|
|
56
57
|
export declare function getPositionVertical(positionV: IObjectPositionV, page: IDocumentSkeletonPage, lineTop: number, lineHeight: number, objectHeight: number, blockAnchorTop?: number, isPageBreak?: boolean): number | undefined;
|
|
@@ -20,6 +20,9 @@ export interface ITextSelectionInnerParam {
|
|
|
20
20
|
isEditing: boolean;
|
|
21
21
|
style: ITextSelectionStyle;
|
|
22
22
|
segmentPage: number;
|
|
23
|
+
options?: {
|
|
24
|
+
[key: string]: boolean;
|
|
25
|
+
};
|
|
23
26
|
}
|
|
24
27
|
export interface IActiveTextRange {
|
|
25
28
|
startOffset: number;
|
|
@@ -36,6 +39,7 @@ export interface ITextSelectionRenderManager {
|
|
|
36
39
|
readonly onInputBefore$: Observable<Nullable<IEditorInputConfig>>;
|
|
37
40
|
readonly onKeydown$: Observable<Nullable<IEditorInputConfig>>;
|
|
38
41
|
readonly onInput$: Observable<Nullable<IEditorInputConfig>>;
|
|
42
|
+
readonly onPointerDown$: Observable<void>;
|
|
39
43
|
readonly onCompositionstart$: Observable<Nullable<IEditorInputConfig>>;
|
|
40
44
|
readonly onCompositionupdate$: Observable<Nullable<IEditorInputConfig>>;
|
|
41
45
|
readonly onCompositionend$: Observable<Nullable<IEditorInputConfig>>;
|
|
@@ -54,7 +58,9 @@ export interface ITextSelectionRenderManager {
|
|
|
54
58
|
setStyle(style: ITextSelectionStyle): void;
|
|
55
59
|
resetStyle(): void;
|
|
56
60
|
removeAllTextRanges(): void;
|
|
57
|
-
addTextRanges(ranges: ISuccinctTextRangeParam[], isEditing?: boolean
|
|
61
|
+
addTextRanges(ranges: ISuccinctTextRangeParam[], isEditing?: boolean, options?: {
|
|
62
|
+
[key: string]: boolean;
|
|
63
|
+
}): void;
|
|
58
64
|
sync(): void;
|
|
59
65
|
activate(x: number, y: number): void;
|
|
60
66
|
deactivate(): void;
|
|
@@ -98,6 +104,8 @@ export declare class TextSelectionRenderManager extends RxDisposable implements
|
|
|
98
104
|
readonly onFocus$: Observable<Nullable<IEditorInputConfig>>;
|
|
99
105
|
private readonly _onBlur$;
|
|
100
106
|
readonly onBlur$: Observable<Nullable<IEditorInputConfig>>;
|
|
107
|
+
private readonly _onPointerDown$;
|
|
108
|
+
readonly onPointerDown$: Observable<void>;
|
|
101
109
|
private _container;
|
|
102
110
|
private _inputParent;
|
|
103
111
|
private _input;
|
|
@@ -121,13 +129,16 @@ export declare class TextSelectionRenderManager extends RxDisposable implements
|
|
|
121
129
|
__getEditorContainer(): HTMLElement;
|
|
122
130
|
getViewPort(): Viewport;
|
|
123
131
|
setSegment(id: string): void;
|
|
132
|
+
getSegment(): string;
|
|
124
133
|
setSegmentPage(pageIndex: number): void;
|
|
125
134
|
getSegmentPage(): number;
|
|
126
135
|
setStyle(style?: ITextSelectionStyle): void;
|
|
127
136
|
resetStyle(): void;
|
|
128
137
|
enableSelection(): void;
|
|
129
138
|
disableSelection(): void;
|
|
130
|
-
addTextRanges(ranges: ISuccinctTextRangeParam[], isEditing?: boolean
|
|
139
|
+
addTextRanges(ranges: ISuccinctTextRangeParam[], isEditing?: boolean, options?: {
|
|
140
|
+
[key: string]: boolean;
|
|
141
|
+
}): void;
|
|
131
142
|
setCursorManually(evtOffsetX: number, evtOffsetY: number): void;
|
|
132
143
|
sync(): void;
|
|
133
144
|
activate(x: number, y: number): void;
|
|
@@ -51,6 +51,7 @@ export declare class DocumentViewModel implements IDisposable {
|
|
|
51
51
|
*/
|
|
52
52
|
getTextRun(index: number): ITextRun | undefined;
|
|
53
53
|
getCustomBlock(index: number): import('@univerjs/core').ICustomBlock | undefined;
|
|
54
|
+
getCustomBlockWithoutSetCurrentIndex(index: number): import('@univerjs/core').ICustomBlock | undefined;
|
|
54
55
|
getTable(index: number): import('@univerjs/core').ITable | undefined;
|
|
55
56
|
getCustomRangeRaw(index: number): import('@univerjs/core').ICustomRange | undefined;
|
|
56
57
|
getCustomRange(index: number): Nullable<ICustomRangeForInterceptor>;
|
|
@@ -123,12 +123,7 @@ export declare class SpreadsheetSkeleton extends Skeleton {
|
|
|
123
123
|
*/
|
|
124
124
|
getWorksheetConfig(): IWorksheetData;
|
|
125
125
|
getRowColumnSegmentByViewBound(bound?: IBoundRectNoAngle): IRange;
|
|
126
|
-
getMergeBounding(startRow: number, startColumn: number, endRow: number, endColumn: number):
|
|
127
|
-
startRow: number;
|
|
128
|
-
startColumn: number;
|
|
129
|
-
endRow: number;
|
|
130
|
-
endColumn: number;
|
|
131
|
-
};
|
|
126
|
+
getMergeBounding(startRow: number, startColumn: number, endRow: number, endColumn: number): IRange;
|
|
132
127
|
appendToOverflowCache(row: number, column: number, startColumn: number, endColumn: number): void;
|
|
133
128
|
getColumnCount(): number;
|
|
134
129
|
getRowCount(): number;
|
|
@@ -237,13 +232,13 @@ export declare class SpreadsheetSkeleton extends Skeleton {
|
|
|
237
232
|
startY: number;
|
|
238
233
|
endX: number;
|
|
239
234
|
endY: number;
|
|
240
|
-
startColumn: number;
|
|
241
|
-
endColumn: number;
|
|
242
235
|
rangeType?: import('@univerjs/core').RANGE_TYPE;
|
|
243
236
|
startAbsoluteRefType?: import('@univerjs/core').AbsoluteRefType;
|
|
244
237
|
endAbsoluteRefType?: import('@univerjs/core').AbsoluteRefType;
|
|
245
238
|
startRow: number;
|
|
246
239
|
endRow: number;
|
|
240
|
+
startColumn: number;
|
|
241
|
+
endColumn: number;
|
|
247
242
|
};
|
|
248
243
|
};
|
|
249
244
|
convertTransformToOffsetX(offsetX: number, scaleX: number, scrollXY: {
|
|
@@ -254,7 +249,7 @@ export declare class SpreadsheetSkeleton extends Skeleton {
|
|
|
254
249
|
x: number;
|
|
255
250
|
y: number;
|
|
256
251
|
}): number;
|
|
257
|
-
|
|
252
|
+
getSelectionMergeBounding(startRow: number, startColumn: number, endRow: number, endColumn: number): IRange;
|
|
258
253
|
getBlankCellDocumentModel(cell: Nullable<ICellData>): IDocumentLayoutObject;
|
|
259
254
|
getCellDocumentModelWithFormula(cell: ICellData): Nullable<IDocumentLayoutObject>;
|
|
260
255
|
private _getCellDocumentModel;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { IRange } from '@univerjs/core';
|
|
1
2
|
import { IBoundRectNoAngle, IViewportInfo, Vector2 } from '../../basics/vector2';
|
|
2
3
|
import { Canvas } from '../../canvas';
|
|
3
4
|
import { UniverRenderingContext } from '../../context';
|
|
@@ -56,12 +57,7 @@ export declare class Spreadsheet extends SheetComponent {
|
|
|
56
57
|
*/
|
|
57
58
|
makeForceDirty(state?: boolean): void;
|
|
58
59
|
setForceDisableGridlines(disabled: boolean): void;
|
|
59
|
-
getSelectionBounding(startRow: number, startColumn: number, endRow: number, endColumn: number):
|
|
60
|
-
startRow: number;
|
|
61
|
-
startColumn: number;
|
|
62
|
-
endRow: number;
|
|
63
|
-
endColumn: number;
|
|
64
|
-
} | undefined;
|
|
60
|
+
getSelectionBounding(startRow: number, startColumn: number, endRow: number, endColumn: number): IRange | undefined;
|
|
65
61
|
/**
|
|
66
62
|
* Since multiple controllers, not just the sheet-render.controller, invoke spreadsheet.makeDirty() — for instance, the cf.render-controller — it's essential to also call viewport.markDirty() whenever spreadsheet.makeDirty() is triggered.
|
|
67
63
|
* @param state
|
package/lib/types/engine.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
1
2
|
import { CURSOR_TYPE } from './basics/const';
|
|
2
3
|
import { Canvas, CanvasRenderMode } from './canvas';
|
|
3
4
|
import { Scene } from './scene';
|
|
@@ -6,9 +7,11 @@ import { ThinEngine } from './thin-engine';
|
|
|
6
7
|
export declare class Engine extends ThinEngine<Scene> {
|
|
7
8
|
renderEvenInBackground: boolean;
|
|
8
9
|
private readonly _beginFrame$;
|
|
9
|
-
readonly beginFrame$:
|
|
10
|
+
readonly beginFrame$: Observable<void>;
|
|
10
11
|
private readonly _endFrame$;
|
|
11
|
-
readonly endFrame$:
|
|
12
|
+
readonly endFrame$: Observable<void>;
|
|
13
|
+
private _rect$;
|
|
14
|
+
get clientRect$(): Observable<void>;
|
|
12
15
|
private _container;
|
|
13
16
|
private _canvas;
|
|
14
17
|
private _renderingQueueLaunched;
|
package/lib/types/index.d.ts
CHANGED
|
@@ -24,7 +24,7 @@ export * from './group';
|
|
|
24
24
|
export * from './layer';
|
|
25
25
|
export { IRenderingEngine, UniverRenderEnginePlugin } from './render-engine';
|
|
26
26
|
export { type RenderComponentType, IRenderManagerService, RenderManagerService } from './render-manager/render-manager.service';
|
|
27
|
-
export { RenderUnit, type IRender, type
|
|
27
|
+
export { RenderUnit, type IRender, type IRenderModule, type IRenderContext } from './render-manager/render-unit';
|
|
28
28
|
export * from './scene';
|
|
29
29
|
export * from './scene-viewer';
|
|
30
30
|
export * from './scroll-timer';
|
|
@@ -45,3 +45,5 @@ export { getCharSpaceApply, getNumberUnitValue } from './components/docs/layout/
|
|
|
45
45
|
export { type IChangeObserverConfig } from './scene.transformer';
|
|
46
46
|
export { DEFAULT_PADDING_DATA } from './components/sheets/sheet-skeleton';
|
|
47
47
|
export { DocumentEditArea } from './components/docs/view-model/document-view-model';
|
|
48
|
+
export { lineIterator, glyphIterator } from './components/docs/layout/tools';
|
|
49
|
+
export { getOneTextSelectionRange } from './components/docs/text-selection/convert-cursor';
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Nullable, UnitModel, UnitType, UniverInstanceType, Disposable, IUniverInstanceService } from '@univerjs/core';
|
|
2
|
-
import { DependencyIdentifier, IDisposable, Injector } from '@wendellhu/redi';
|
|
2
|
+
import { Dependency, DependencyIdentifier, IDisposable, Injector } from '@wendellhu/redi';
|
|
3
3
|
import { Observable } from 'rxjs';
|
|
4
4
|
import { BaseObject } from '../base-object';
|
|
5
5
|
import { DocComponent } from '../components/docs/doc-component';
|
|
6
6
|
import { SheetComponent } from '../components/sheets/sheet-component';
|
|
7
7
|
import { Slide } from '../components/slides/slide';
|
|
8
8
|
import { Engine } from '../engine';
|
|
9
|
-
import { IRender,
|
|
9
|
+
import { IRender, RenderUnit } from './render-unit';
|
|
10
10
|
|
|
11
11
|
export type RenderComponentType = SheetComponent | DocComponent | Slide | BaseObject;
|
|
12
12
|
export interface IRenderManagerService extends IDisposable {
|
|
@@ -17,6 +17,7 @@ export interface IRenderManagerService extends IDisposable {
|
|
|
17
17
|
removeRender(unitId: string): void;
|
|
18
18
|
setCurrent(unitId: string): void;
|
|
19
19
|
getRenderById(unitId: string): Nullable<IRender>;
|
|
20
|
+
getCurrentTypeOfRenderer(type: UniverInstanceType): Nullable<RenderUnit>;
|
|
20
21
|
getRenderAll(): Map<string, IRender>;
|
|
21
22
|
defaultEngine: Engine;
|
|
22
23
|
/** @deprecated */
|
|
@@ -29,7 +30,7 @@ export interface IRenderManagerService extends IDisposable {
|
|
|
29
30
|
getFirst(): Nullable<IRender>;
|
|
30
31
|
has(unitId: string): boolean;
|
|
31
32
|
withCurrentTypeOfUnit<T>(type: UniverInstanceType, id: DependencyIdentifier<T>): Nullable<T>;
|
|
32
|
-
registerRenderModule<T extends UnitModel>(type: UnitType,
|
|
33
|
+
registerRenderModule<T extends UnitModel>(type: UnitType, dep: Dependency<T>): IDisposable;
|
|
33
34
|
}
|
|
34
35
|
export declare class RenderManagerService extends Disposable implements IRenderManagerService {
|
|
35
36
|
private readonly _injector;
|
|
@@ -43,13 +44,15 @@ export declare class RenderManagerService extends Disposable implements IRenderM
|
|
|
43
44
|
/** @deprecated */
|
|
44
45
|
readonly createRender$: Observable<string>;
|
|
45
46
|
get defaultEngine(): Engine;
|
|
46
|
-
private readonly
|
|
47
|
+
private readonly _renderDependencies;
|
|
47
48
|
constructor(_injector: Injector, _univerInstanceService: IUniverInstanceService);
|
|
48
49
|
dispose(): void;
|
|
49
|
-
|
|
50
|
+
registerRenderModules(type: UnitType, deps: Dependency[]): IDisposable;
|
|
51
|
+
registerRenderModule(type: UnitType, ctor: Dependency): IDisposable;
|
|
50
52
|
private _getRenderControllersForType;
|
|
51
53
|
create(unitId: string): void;
|
|
52
54
|
createRender(unitId: string): IRender;
|
|
55
|
+
getCurrentTypeOfRenderer(type: UniverInstanceType): Nullable<RenderUnit>;
|
|
53
56
|
withCurrentTypeOfUnit<T>(type: UniverInstanceType, id: DependencyIdentifier<T>): Nullable<T>;
|
|
54
57
|
private _createRender;
|
|
55
58
|
addRender(unitId: string, item: IRender): void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Nullable, UnitModel, UnitType, Disposable } from '@univerjs/core';
|
|
2
|
-
import { DependencyIdentifier, IDisposable, Injector } from '@wendellhu/redi';
|
|
2
|
+
import { Dependency, DependencyIdentifier, IDisposable, Injector } from '@wendellhu/redi';
|
|
3
3
|
import { Engine } from '../engine';
|
|
4
4
|
import { Scene } from '../scene';
|
|
5
5
|
import { RenderComponentType } from './render-manager.service';
|
|
@@ -13,9 +13,6 @@ export interface IRender {
|
|
|
13
13
|
isMainScene: boolean;
|
|
14
14
|
with<T>(dependency: DependencyIdentifier<T>): T;
|
|
15
15
|
}
|
|
16
|
-
export interface IRenderModuleCtor<T extends UnitModel = UnitModel> {
|
|
17
|
-
new (unit: IRenderContext<T>, ...args: any[]): IRenderModule;
|
|
18
|
-
}
|
|
19
16
|
export interface IRenderModule extends IDisposable {
|
|
20
17
|
}
|
|
21
18
|
/**
|
|
@@ -49,6 +46,6 @@ export declare class RenderUnit extends Disposable implements IRender {
|
|
|
49
46
|
* Get render controller hold by this render unit.
|
|
50
47
|
*/
|
|
51
48
|
with<T>(dependency: DependencyIdentifier<T>): T;
|
|
52
|
-
|
|
53
|
-
private
|
|
49
|
+
addRenderDependencies(dependencies: Dependency[]): void;
|
|
50
|
+
private _initDependencies;
|
|
54
51
|
}
|
package/lib/types/scene.d.ts
CHANGED
|
@@ -97,13 +97,24 @@ export declare class Scene extends ThinScene {
|
|
|
97
97
|
initTransformer(config?: ITransformerConfig): void;
|
|
98
98
|
getTransformerByCreate(): Transformer;
|
|
99
99
|
getTransformer(): Nullable<Transformer>;
|
|
100
|
-
|
|
100
|
+
/**
|
|
101
|
+
* prev getActiveViewportByRelativeCoord
|
|
102
|
+
* @param coord
|
|
103
|
+
* @returns
|
|
104
|
+
*/
|
|
105
|
+
findViewportByPosToViewport(coord: Vector2): Viewport | undefined;
|
|
101
106
|
getActiveViewportByCoord(coord: Vector2): Viewport | undefined;
|
|
102
|
-
|
|
107
|
+
/**
|
|
108
|
+
* getViewportScrollXYInfo by viewport under cursor position
|
|
109
|
+
* prev getScrollXYByRelativeCoords
|
|
110
|
+
* @param pos
|
|
111
|
+
* @param viewPort
|
|
112
|
+
*/
|
|
113
|
+
getVpScrollXYInfoByPosToVp(pos: Vector2, viewPort?: Viewport): {
|
|
103
114
|
x: number;
|
|
104
115
|
y: number;
|
|
105
116
|
};
|
|
106
|
-
|
|
117
|
+
getViewportScrollXY(viewPort: Viewport): {
|
|
107
118
|
x: number;
|
|
108
119
|
y: number;
|
|
109
120
|
};
|
|
@@ -112,7 +123,7 @@ export declare class Scene extends ThinScene {
|
|
|
112
123
|
* @param coord Coordinates to be converted.
|
|
113
124
|
* @returns
|
|
114
125
|
*/
|
|
115
|
-
|
|
126
|
+
getRelativeToViewportCoord(coord: Vector2): Vector2;
|
|
116
127
|
clearLayer(): void;
|
|
117
128
|
clearViewports(): void;
|
|
118
129
|
getAncestorScale(): {
|
|
@@ -12,10 +12,12 @@ declare enum MoveObserverType {
|
|
|
12
12
|
}
|
|
13
13
|
export interface IChangeObserverConfig {
|
|
14
14
|
objects: Map<string, BaseObject>;
|
|
15
|
+
type: MoveObserverType;
|
|
15
16
|
moveX?: number;
|
|
16
17
|
moveY?: number;
|
|
17
18
|
angle?: number;
|
|
18
|
-
|
|
19
|
+
offsetX?: number;
|
|
20
|
+
offsetY?: number;
|
|
19
21
|
}
|
|
20
22
|
/**
|
|
21
23
|
* Transformer constructor. Transformer is a special type of group that allow you transform
|
|
@@ -16,6 +16,7 @@ export interface IImageProps extends IShapeProps {
|
|
|
16
16
|
* 20.1.9.18 prstGeom (Preset geometry)
|
|
17
17
|
*/
|
|
18
18
|
prstGeom?: Nullable<PresetGeometryType>;
|
|
19
|
+
opacity?: number;
|
|
19
20
|
}
|
|
20
21
|
export declare class Image extends Shape<IImageProps> {
|
|
21
22
|
protected _props: IImageProps;
|
|
@@ -25,6 +26,8 @@ export declare class Image extends Shape<IImageProps> {
|
|
|
25
26
|
constructor(id: string, config: IImageProps);
|
|
26
27
|
get srcRect(): Nullable<ISrcRect>;
|
|
27
28
|
get prstGeom(): Nullable<PresetGeometryType>;
|
|
29
|
+
get opacity(): number;
|
|
30
|
+
setOpacity(opacity: number): void;
|
|
28
31
|
get classType(): RENDER_CLASS_TYPE;
|
|
29
32
|
transformByStateCloseCropper(option: IObjectFullState): void;
|
|
30
33
|
changeSource(url: string): void;
|