@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.
@@ -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;
@@ -0,0 +1,3 @@
1
+ import { LineBreaker } from '../line-breaker';
2
+
3
+ export declare function customBlockLineBreakExtension(breaker: LineBreaker): 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): import('../../../basics/i-document-skeleton-cached').IDocumentSkeletonSection;
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 spanIterator(pages: IDocumentSkeletonPage[], iteratorFunction: (glyph: IDocumentSkeletonGlyph) => void): void;
53
- export declare function lineIterator(pages: IDocumentSkeletonPage[], iteratorFunction: (line: IDocumentSkeletonLine) => void): void;
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): void;
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): void;
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
- getSelectionBounding(startRow: number, startColumn: number, endRow: number, endColumn: number): IRange;
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
@@ -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$: import('rxjs').Observable<void>;
10
+ readonly beginFrame$: Observable<void>;
10
11
  private readonly _endFrame$;
11
- readonly endFrame$: import('rxjs').Observable<void>;
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;
@@ -0,0 +1,3 @@
1
+ import { Observable } from 'rxjs';
2
+
3
+ export declare function observeClientRect(containerElement: HTMLElement): Observable<void>;
@@ -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 IRenderModuleCtor, type IRenderModule, type IRenderContext } from './render-manager/render-unit';
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, IRenderModuleCtor } from './render-unit';
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, ctor: IRenderModuleCtor<T>): IDisposable;
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 _renderControllers;
47
+ private readonly _renderDependencies;
47
48
  constructor(_injector: Injector, _univerInstanceService: IUniverInstanceService);
48
49
  dispose(): void;
49
- registerRenderModule(type: UnitType, ctor: IRenderModuleCtor): IDisposable;
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
- addRenderControllers(ctors: IRenderModuleCtor[]): void;
53
- private _initControllers;
49
+ addRenderDependencies(dependencies: Dependency[]): void;
50
+ private _initDependencies;
54
51
  }
@@ -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
- getActiveViewportByRelativeCoord(coord: Vector2): Viewport | undefined;
100
+ /**
101
+ * prev getActiveViewportByRelativeCoord
102
+ * @param coord
103
+ * @returns
104
+ */
105
+ findViewportByPosToViewport(coord: Vector2): Viewport | undefined;
101
106
  getActiveViewportByCoord(coord: Vector2): Viewport | undefined;
102
- getScrollXYByRelativeCoords(coord: Vector2, viewPort?: Viewport): {
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
- getScrollXY(viewPort: Viewport): {
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
- getRelativeCoord(coord: Vector2): Vector2;
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
- type: MoveObserverType;
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;