@univerjs/engine-render 0.2.12 → 0.2.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/lib/cjs/index.js +1 -19
  2. package/lib/es/index.js +18832 -20350
  3. package/lib/types/basics/range.d.ts +24 -14
  4. package/lib/types/basics/tools.d.ts +22 -2
  5. package/lib/types/basics/transform.d.ts +24 -24
  6. package/lib/types/components/docs/layout/doc-skeleton.d.ts +3 -3
  7. package/lib/types/components/docs/layout/model/line.d.ts +1 -1
  8. package/lib/types/components/docs/layout/tools.d.ts +2 -1
  9. package/lib/types/components/sheets/extensions/background.d.ts +1 -1
  10. package/lib/types/components/sheets/extensions/border.d.ts +1 -1
  11. package/lib/types/components/sheets/extensions/custom.d.ts +1 -1
  12. package/lib/types/components/sheets/extensions/font.d.ts +2 -11
  13. package/lib/types/components/sheets/extensions/marker.d.ts +1 -1
  14. package/lib/types/components/sheets/extensions/row-header-layout.d.ts +2 -2
  15. package/lib/types/components/sheets/extensions/sheet-extension.d.ts +2 -2
  16. package/lib/types/components/sheets/interfaces.d.ts +2 -6
  17. package/lib/types/components/sheets/row-header.d.ts +1 -1
  18. package/lib/types/components/sheets/sheet-skeleton.d.ts +28 -14
  19. package/lib/types/components/sheets/spreadsheet.d.ts +3 -3
  20. package/lib/types/components/slides/slide.d.ts +1 -1
  21. package/lib/types/context.d.ts +7 -0
  22. package/lib/types/engine.d.ts +2 -2
  23. package/lib/types/index.d.ts +20 -27
  24. package/lib/types/render-engine.d.ts +2 -2
  25. package/lib/types/render-manager/render-manager.service.d.ts +5 -5
  26. package/lib/types/scene.d.ts +5 -5
  27. package/lib/types/shape/rect.d.ts +15 -6
  28. package/lib/types/viewport.d.ts +25 -13
  29. package/lib/umd/index.js +1 -19
  30. package/package.json +7 -7
  31. package/lib/types/components/docs/text-selection/convert-rect-range.d.ts +0 -29
  32. package/lib/types/components/docs/text-selection/convert-text-range.d.ts +0 -65
  33. package/lib/types/components/docs/text-selection/range-interface.d.ts +0 -21
  34. package/lib/types/components/docs/text-selection/rect-range.d.ts +0 -48
  35. package/lib/types/components/docs/text-selection/selection-utils.d.ts +0 -27
  36. package/lib/types/components/docs/text-selection/text-range.d.ts +0 -68
  37. package/lib/types/components/docs/text-selection/text-selection-render-manager.d.ts +0 -193
@@ -1,11 +1,11 @@
1
- import { Dependency, DependencyIdentifier, IDisposable, Nullable, UnitModel, UnitType, Disposable, Injector, IUniverInstanceService, UniverInstanceType } from '@univerjs/core';
1
+ import { Disposable, Injector, IUniverInstanceService, UniverInstanceType, Dependency, DependencyIdentifier, IDisposable, Nullable, UnitModel, UnitType } from '@univerjs/core';
2
2
  import { Observable } from 'rxjs';
3
+ import { Engine } from '../engine';
4
+ import { IRender, RenderUnit } from './render-unit';
3
5
  import { BaseObject } from '../base-object';
4
6
  import { DocComponent } from '../components/docs/doc-component';
5
7
  import { SheetComponent } from '../components/sheets/sheet-component';
6
8
  import { Slide } from '../components/slides/slide';
7
- import { Engine } from '../engine';
8
- import { IRender, RenderUnit } from './render-unit';
9
9
  export type RenderComponentType = SheetComponent | DocComponent | Slide | BaseObject;
10
10
  export interface IRenderManagerService extends IDisposable {
11
11
  /** @deprecated */
@@ -102,7 +102,7 @@ export declare class RenderManagerService extends Disposable implements IRenderM
102
102
  * @param isMainScene
103
103
  * @returns renderUnit:IRender
104
104
  */
105
- private _createRender;
105
+ protected _createRender(unitId: string, engine: Engine, isMainScene?: boolean): IRender;
106
106
  addRender(unitId: string, renderUnit: IRender): void;
107
107
  private _addRenderUnit;
108
108
  removeRender(unitId: string): void;
@@ -119,5 +119,5 @@ export declare class RenderManagerService extends Disposable implements IRenderM
119
119
  getRenderAll(): Map<string, IRender>;
120
120
  private _disposeItem;
121
121
  }
122
- export declare const IRenderManagerService: import('@univerjs/core').IdentifierDecorator<IRenderManagerService>;
122
+ export declare const IRenderManagerService: import('@wendellhu/redi').IdentifierDecorator<IRenderManagerService>;
123
123
  export declare function isDisposable(thing: unknown): thing is IDisposable;
@@ -1,18 +1,18 @@
1
1
  import { Nullable } from '@univerjs/core';
2
- import { BaseObject } from './base-object';
3
2
  import { CURSOR_TYPE } from './basics/const';
3
+ import { Layer } from './layer';
4
+ import { Transformer } from './scene.transformer';
5
+ import { ThinScene } from './thin-scene';
6
+ import { BaseObject } from './base-object';
4
7
  import { IDragEvent, IKeyboardEvent, IMouseEvent, IPointerEvent, IWheelEvent } from './basics/i-events';
5
8
  import { ISceneTransformState } from './basics/interfaces';
6
9
  import { ITransformerConfig } from './basics/transformer-config';
7
10
  import { Vector2 } from './basics/vector2';
8
11
  import { UniverRenderingContext } from './context';
9
- import { Layer } from './layer';
12
+ import { Engine } from './engine';
10
13
  import { SceneViewer } from './scene-viewer';
11
- import { Transformer } from './scene.transformer';
12
14
  import { ThinEngine } from './thin-engine';
13
- import { ThinScene } from './thin-scene';
14
15
  import { Viewport } from './viewport';
15
- import { Engine } from './engine';
16
16
  export declare class Scene extends ThinScene {
17
17
  private _parent;
18
18
  private _layers;
@@ -1,19 +1,28 @@
1
- import { UniverRenderingContext } from '../context';
2
- import { IViewportInfo } from '../basics/vector2';
1
+ import { Nullable } from '@univerjs/core';
3
2
  import { ObjectType } from '../base-object';
4
- import { IShapeProps, Shape } from './shape';
3
+ import { Shape, IShapeProps } from './shape';
4
+ import { UniverRenderingContext } from '../context';
5
5
  export interface IRectProps extends IShapeProps {
6
6
  radius?: number;
7
+ visualHeight?: number;
8
+ visualWidth?: number;
7
9
  }
8
10
  export declare const RECT_OBJECT_ARRAY: string[];
9
11
  export declare class Rect<T extends IRectProps = IRectProps> extends Shape<T> {
10
- private _radius;
11
12
  objectType: ObjectType;
13
+ private _radius;
14
+ /**
15
+ * For rendering, in many case object size is bigger than visual size for better user interaction.
16
+ */
17
+ private _visualHeight;
18
+ private _visualWidth;
12
19
  constructor(key?: string, props?: T);
20
+ get visualHeight(): Nullable<number>;
21
+ get visualWidth(): Nullable<number>;
13
22
  get radius(): number;
14
- static drawWith(ctx: UniverRenderingContext, props: IRectProps | Rect): void;
23
+ static drawWith(ctx: UniverRenderingContext, props: IRectProps): void;
15
24
  toJson(): {
16
25
  [x: string]: any;
17
26
  };
18
- protected _draw(ctx: UniverRenderingContext, viewportInfo?: IViewportInfo): void;
27
+ protected _draw(ctx: UniverRenderingContext): void;
19
28
  }
@@ -1,8 +1,8 @@
1
- import { EventState, IPosition, Nullable, EventSubject } from '@univerjs/core';
1
+ import { EventSubject, EventState, IPosition, Nullable } from '@univerjs/core';
2
+ import { Transform } from './basics/transform';
3
+ import { Vector2, IBoundRectNoAngle, IViewportInfo } from './basics/vector2';
2
4
  import { BaseObject } from './base-object';
3
5
  import { IWheelEvent } from './basics/i-events';
4
- import { Transform } from './basics/transform';
5
- import { IBoundRectNoAngle, IViewportInfo, Vector2 } from './basics/vector2';
6
6
  import { UniverRenderingContext } from './context';
7
7
  import { BaseScrollBar } from './shape/base-scroll-bar';
8
8
  import { ThinScene } from './thin-scene';
@@ -20,8 +20,8 @@ interface IViewProps extends IViewPosition {
20
20
  isWheelPreventDefaultX?: boolean;
21
21
  isWheelPreventDefaultY?: boolean;
22
22
  active?: boolean;
23
- isRelativeX?: boolean;
24
- isRelativeY?: boolean;
23
+ explicitViewportWidthSet?: boolean;
24
+ explicitViewportHeightSet?: boolean;
25
25
  allowCache?: boolean;
26
26
  bufferEdgeX?: number;
27
27
  bufferEdgeY?: number;
@@ -73,8 +73,6 @@ export declare class Viewport {
73
73
  private _viewportScrollY;
74
74
  private _preViewportScrollX;
75
75
  private _preViewportScrollY;
76
- private _deltaViewportScrollX;
77
- private _deltaViewportScrollY;
78
76
  /**
79
77
  * scene size in current viewport port with scale
80
78
  * scene size relative to row col settings.
@@ -128,8 +126,18 @@ export declare class Viewport {
128
126
  */
129
127
  private _paddingStartY;
130
128
  private _paddingEndY;
131
- private _isRelativeX;
132
- private _isRelativeY;
129
+ /**
130
+ * Usually for viewport by after freeze, _explicitViewportWidthSet true means viewport's width is specify explicitly.
131
+ * ex: ViewMainLeft _explicitViewportWidthSet is true when freeze at a certain col, the width of viewMainLeft is decided by freeze line.
132
+ * Usually this prop is false for viewMain, viewport width is decided by engine size - freeze line
133
+ */
134
+ private _explicitViewportWidthSet;
135
+ /**
136
+ * _explicitViewportHeightSet true means viewport's height is specify explicitly.
137
+ * Used for viewport by after freeze.
138
+ * ex: ViewMainTop _explicitViewportHeightSet is true when freeze at a certain row, the height of viewMainTop is decided by freeze line.
139
+ */
140
+ private _explicitViewportHeightSet;
133
141
  /**
134
142
  * viewbound of cache area, cache area is slightly bigger than viewbound.
135
143
  */
@@ -178,7 +186,7 @@ export declare class Viewport {
178
186
  get isWheelPreventDefaultX(): boolean;
179
187
  get isWheelPreventDefaultY(): boolean;
180
188
  set width(w: Nullable<number>);
181
- set height(h: Nullable<number>);
189
+ set height(height: Nullable<number>);
182
190
  get isActive(): boolean;
183
191
  set viewportScrollX(val: number);
184
192
  get viewportScrollX(): number;
@@ -193,6 +201,10 @@ export declare class Viewport {
193
201
  set cacheBound(val: IBoundRectNoAngle | null);
194
202
  get preCacheBound(): IBoundRectNoAngle | null;
195
203
  set preCacheBound(val: IBoundRectNoAngle | null);
204
+ get _deltaScrollX(): number;
205
+ get _deltaScrollY(): number;
206
+ get _deltaViewportScrollX(): number;
207
+ get _deltaViewportScrollY(): number;
196
208
  enable(): void;
197
209
  disable(): void;
198
210
  resetCanvasSizeAndUpdateScroll(): void;
@@ -283,6 +295,7 @@ export declare class Viewport {
283
295
  getScrollBar(): Nullable<BaseScrollBar>;
284
296
  /**
285
297
  * Just record state of scroll. This method won't scroll viewport and scrollbar.
298
+ * TODO: @lumixraku this method is so wierd, viewportMain did not call it, now only called in freeze situation.
286
299
  * @param current
287
300
  * @returns Viewport
288
301
  */
@@ -364,7 +377,7 @@ export declare class Viewport {
364
377
  */
365
378
  private _scrollToBarPosCore;
366
379
  /**
367
- *
380
+ * Scroll to position in viewport.
368
381
  * When scroll just in X direction, there is no y definition in scrollVpPos. So scrollVpPos is Partial<IViewportScrollPosition>
369
382
  * @param scrollVpPos Partial<IViewportScrollPosition>
370
383
  * @param isTrigger
@@ -381,8 +394,7 @@ export declare class Viewport {
381
394
  private _diffViewBound;
382
395
  private _calcDiffCacheBound;
383
396
  private _drawScrollbar;
384
- private _setViewportWidthAndHeight;
385
- private _getBoundScale;
397
+ private _setViewportSize;
386
398
  /**
387
399
  * main canvas element resize
388
400
  * called by this.scene.getEngine()?.onTransformChange$.add