@univerjs/engine-render 0.6.1 → 0.6.2

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.
@@ -52,7 +52,6 @@ export declare class SpreadsheetSkeleton extends SheetSkeleton {
52
52
  private _gridlinesColor;
53
53
  private _scene;
54
54
  constructor(worksheet: Worksheet, _styles: Styles, _localeService: LocaleService, _contextService: IContextService, _configService: IConfigService, _injector: Injector);
55
- initConfig(): void;
56
55
  setScene(scene: Scene): void;
57
56
  _updateLayout(): void;
58
57
  /**
@@ -40,7 +40,7 @@ export * from './engine';
40
40
  export * from './group';
41
41
  export * from './layer';
42
42
  export { IRenderingEngine, UniverRenderEnginePlugin } from './plugin';
43
- export { IRenderManagerService, type RenderComponentType, RenderManagerService } from './render-manager/render-manager.service';
43
+ export { getCurrentTypeOfRenderer, IRenderManagerService, type RenderComponentType, RenderManagerService, withCurrentTypeOfRenderer } from './render-manager/render-manager.service';
44
44
  export { type IRender, type IRenderContext, type IRenderModule, RenderUnit } from './render-manager/render-unit';
45
45
  export * from './scene';
46
46
  export { type IChangeObserverConfig } from './scene.transformer';
@@ -8,8 +8,6 @@ import { IRender, RenderUnit } from './render-unit';
8
8
  import { Engine } from '../engine';
9
9
  export type RenderComponentType = SheetComponent | DocComponent | Slide | BaseObject;
10
10
  export interface IRenderManagerService extends IDisposable {
11
- currentRender$: Observable<Nullable<string>>;
12
- getCurrent(): Nullable<IRender>;
13
11
  addRender(unitId: string, renderer: IRender): void;
14
12
  /**
15
13
  * create renderUnit & init deps from renderDependencies by renderUnit's type.
@@ -18,7 +16,6 @@ export interface IRenderManagerService extends IDisposable {
18
16
  */
19
17
  createRender(unitId: string): IRender;
20
18
  removeRender(unitId: string): void;
21
- setCurrent(unitId: string): void;
22
19
  /**
23
20
  * Get RenderUnit By Id, RenderUnit implements IRender
24
21
  * @param unitId
@@ -30,7 +27,6 @@ export interface IRenderManagerService extends IDisposable {
30
27
  */
31
28
  getRenderUnitById(unitId: string): Nullable<IRender>;
32
29
  getAllRenderersOfType(type: UniverInstanceType): RenderUnit[];
33
- getCurrentTypeOfRenderer(type: UniverInstanceType): Nullable<RenderUnit>;
34
30
  getRenderAll(): Map<string, IRender>;
35
31
  defaultEngine: Engine;
36
32
  /** @deprecated */
@@ -39,10 +35,7 @@ export interface IRenderManagerService extends IDisposable {
39
35
  create(unitId: string): void;
40
36
  created$: Observable<IRender>;
41
37
  disposed$: Observable<string>;
42
- /** @deprecated There will be multi units to render at the same time, so there is no *first*. */
43
- getFirst(): Nullable<IRender>;
44
38
  has(unitId: string): boolean;
45
- withCurrentTypeOfUnit<T>(type: UniverInstanceType, id: DependencyIdentifier<T>): Nullable<T>;
46
39
  /**
47
40
  * add dep to _renderDependencies(type, dep)
48
41
  * @param type
@@ -54,10 +47,7 @@ export declare class RenderManagerService extends Disposable implements IRenderM
54
47
  private readonly _injector;
55
48
  private readonly _univerInstanceService;
56
49
  private _defaultEngine;
57
- private _currentUnitId;
58
50
  private _renderMap;
59
- private readonly _currentRender$;
60
- readonly currentRender$: Observable<Nullable<string>>;
61
51
  private readonly _createRender$;
62
52
  /** @deprecated */
63
53
  readonly createRender$: Observable<string>;
@@ -90,8 +80,6 @@ export declare class RenderManagerService extends Disposable implements IRenderM
90
80
  */
91
81
  createRender(unitId: string): IRender;
92
82
  getAllRenderersOfType(type: UniverInstanceType): RenderUnit[];
93
- getCurrentTypeOfRenderer(type: UniverInstanceType): Nullable<RenderUnit>;
94
- withCurrentTypeOfUnit<T>(type: UniverInstanceType, id: DependencyIdentifier<T>): Nullable<T>;
95
83
  /**
96
84
  * init deps by injector.get(dep), and injector derives from renderer.
97
85
  * @param renderer
@@ -110,9 +98,6 @@ export declare class RenderManagerService extends Disposable implements IRenderM
110
98
  private _addRenderUnit;
111
99
  removeRender(unitId: string): void;
112
100
  has(unitId: string): boolean;
113
- setCurrent(unitId: string): void;
114
- getCurrent(): Nullable<IRender>;
115
- getFirst(): Nullable<IRender>;
116
101
  /**
117
102
  * @deprecated use getRenderUnitById instead
118
103
  * Get RenderUnit from this._renderMap.
@@ -126,3 +111,5 @@ export declare class RenderManagerService extends Disposable implements IRenderM
126
111
  }
127
112
  export declare const IRenderManagerService: import('@wendellhu/redi').IdentifierDecorator<IRenderManagerService>;
128
113
  export declare function isDisposable(thing: unknown): thing is IDisposable;
114
+ export declare function getCurrentTypeOfRenderer(type: UniverInstanceType, instanceService: IUniverInstanceService, renderManageService: IRenderManagerService): Nullable<IRender>;
115
+ export declare function withCurrentTypeOfRenderer<T>(type: UniverInstanceType, id: DependencyIdentifier<T>, instanceService: IUniverInstanceService, renderManagerService: IRenderManagerService): Nullable<T>;
@@ -281,7 +281,7 @@ export declare class Scene extends Disposable {
281
281
  };
282
282
  dispose(): void;
283
283
  /**
284
- * Get the object under the pointer, if scene.event is disabled, the object is null.
284
+ * Get the object under the pointer, if scene.event is disabled, return null.
285
285
  * @param {Vector2} coord
286
286
  * @return {Nullable<BaseObject | Scene>} object under the pointer
287
287
  */
@@ -315,4 +315,8 @@ export declare class Scene extends Disposable {
315
315
  */
316
316
  disableObjectsEvent(): void;
317
317
  enableObjectsEvent(): void;
318
+ _capturedObject: BaseObject | null;
319
+ get capturedObject(): BaseObject | null;
320
+ setCaptureObject(o: BaseObject): void;
321
+ releaseCapturedObject(): void;
318
322
  }
@@ -1,3 +1,4 @@
1
+ import { BaseObject } from './base-object';
1
2
  import { IDragEvent, IKeyboardEvent, IMouseEvent, IPointerEvent, IWheelEvent } from './basics/i-events';
2
3
  import { ISceneInputControlOptions, Scene } from './scene';
3
4
  import { Disposable } from '@univerjs/core';
@@ -49,12 +50,20 @@ export declare class InputManager extends Disposable {
49
50
  */
50
51
  detachControl(): void;
51
52
  /**
52
- * Just call this._scene.pick, nothing special.
53
+ * Get the object under the pointer, if scene.event is disabled, return null.
53
54
  * @param offsetX
54
55
  * @param offsetY
55
56
  */
56
57
  private _getObjectAtPos;
57
- private _checkDirectSceneEventTrigger;
58
+ /**
59
+ *
60
+ * If currentObject is null, return true
61
+ * @param isTrigger
62
+ * @param currentObject
63
+ * @returns
64
+ */
65
+ private _shouldDispatchEventToScene;
66
+ private _isObjectInSceneViewer;
58
67
  /**
59
68
  * @hidden
60
69
  * @returns Boolean if delta for pointer exceeds drag movement threshold
@@ -62,4 +71,5 @@ export declare class InputManager extends Disposable {
62
71
  private _isPointerSwiping;
63
72
  private _prePointerDoubleOrTripleClick;
64
73
  private _resetDoubleClickParam;
74
+ get capturedObject(): BaseObject | null;
65
75
  }
@@ -1,9 +1,52 @@
1
+ import { Nullable, Disposable } from '@univerjs/core';
1
2
  import { Vector2 } from '../basics/vector2';
2
3
  import { UniverRenderingContext } from '../context';
4
+ import { Scene } from '../scene';
3
5
  import { Viewport } from '../viewport';
4
- import { IScrollBarProps, BaseScrollBar } from './base-scroll-bar';
5
6
  import { Rect } from './rect';
6
- export declare class ScrollBar extends BaseScrollBar {
7
+ /**
8
+ * Sadly, the props name here is not the same as the members in Scrollbar.
9
+ */
10
+ export interface IScrollBarProps {
11
+ mainScene?: Scene;
12
+ thumbMargin?: number;
13
+ thumbLengthRatio?: number;
14
+ thumbBackgroundColor?: string;
15
+ thumbHoverBackgroundColor?: string;
16
+ thumbActiveBackgroundColor?: string;
17
+ /**
18
+ * The thickness of a scrolling track(not scrolling thumb).
19
+ */
20
+ barSize?: number;
21
+ /**
22
+ * The thickness of track border.
23
+ */
24
+ barBorder?: number;
25
+ enableHorizontal?: boolean;
26
+ enableVertical?: boolean;
27
+ /**
28
+ * The min width of horizon thumb
29
+ */
30
+ minThumbSizeH?: number;
31
+ /**
32
+ * The min height of vertical thumb
33
+ */
34
+ minThumbSizeV?: number;
35
+ }
36
+ export declare class ScrollBar extends Disposable {
37
+ _enableHorizontal: boolean;
38
+ _enableVertical: boolean;
39
+ horizontalThumbSize: number;
40
+ horizontalMinusMiniThumb: number;
41
+ horizontalTrackWidth: number;
42
+ horizonScrollTrack: Nullable<Rect>;
43
+ horizonThumbRect: Nullable<Rect>;
44
+ verticalThumbSize: number;
45
+ verticalTrackHeight: number;
46
+ verticalMinusMiniThumb: number;
47
+ verticalScrollTrack: Nullable<Rect>;
48
+ verticalThumbRect: Nullable<Rect>;
49
+ placeholderBarRect: Nullable<Rect>;
7
50
  protected _viewport: Viewport;
8
51
  private _mainScene;
9
52
  private _lastX;
@@ -14,43 +57,80 @@ export declare class ScrollBar extends BaseScrollBar {
14
57
  private _horizonPointerUpSub;
15
58
  private _verticalPointerMoveSub;
16
59
  private _verticalPointerUpSub;
60
+ private _thumbDefaultBackgroundColor;
61
+ private _thumbHoverBackgroundColor;
62
+ private _thumbActiveBackgroundColor;
63
+ private _trackBackgroundColor;
64
+ private _trackBorderColor;
17
65
  /**
18
- * The thickness of a scrolling bar.
66
+ * The thickness of a scrolling track
67
+ * ThumbSize = trackSize - thumbMargin * 2
19
68
  */
20
- barSize: number;
21
- barBorder: number;
22
- thumbMargin: number;
23
- thumbLengthRatio: number;
69
+ private _trackThickness;
24
70
  /**
25
- * todo: @DR-univer。 Mainly inject themeService in order to obtain colors.
71
+ * The margin between thumb and bar.
72
+ * ThumbSize = barSize - thumbMargin * 2
26
73
  */
27
- thumbBackgroundColor: string;
28
- thumbHoverBackgroundColor: string;
29
- thumbActiveBackgroundColor: string;
30
- barBackgroundColor: string;
31
- barBorderColor: string;
74
+ private _vThumbMargin;
75
+ private _hThumbMargin;
76
+ private _trackBorderThickness;
77
+ private _thumbLengthRatio;
32
78
  /**
33
- * The min width of horizon thumb.
79
+ * The min width of horizon thumb, Corresponds to minThumbSizeH in props
34
80
  */
35
- minThumbSizeH: number;
81
+ private _minThumbSizeH;
36
82
  /**
37
- * The min height of vertical thumb.
83
+ * The min height of vertical thumb, Corresponds to minThumbSizeV in props
38
84
  */
39
- minThumbSizeV: number;
85
+ private _minThumbSizeV;
40
86
  private _eventSub;
41
87
  constructor(view: Viewport, props?: IScrollBarProps);
88
+ setProps(props?: IScrollBarProps): void;
89
+ get enableHorizontal(): boolean;
90
+ set enableHorizontal(val: boolean);
91
+ get enableVertical(): boolean;
92
+ set enableVertical(val: boolean);
93
+ get limitX(): number;
94
+ get limitY(): number;
95
+ get ratioScrollX(): number;
96
+ get ratioScrollY(): number;
97
+ get miniThumbRatioX(): number;
98
+ get miniThumbRatioY(): number;
99
+ hasHorizonThumb(): boolean;
100
+ hasVerticalThumb(): boolean;
101
+ get scrollHorizonThumbThickness(): number;
102
+ get scrollVerticalThumbThickness(): number;
103
+ set barSize(v: number);
104
+ get barSize(): number;
105
+ set trackThickness(v: number);
106
+ get trackThickness(): number;
42
107
  static attachTo(view: Viewport, props?: IScrollBarProps): ScrollBar;
43
108
  dispose(): void;
44
109
  render(ctx: UniverRenderingContext, left?: number, top?: number): void;
45
- resize(parentWidth?: number, parentHeight?: number, contentWidth?: number, contentHeight?: number): void;
110
+ private _resizeHorizontal;
111
+ private _resizeVertical;
112
+ private _resizeRightBottomCorner;
113
+ private _viewportH;
114
+ private _viewportW;
115
+ private _contentW;
116
+ private _contentH;
117
+ /**
118
+ * Adjust scroll track & thumb size based on the viewport size.
119
+ * @param viewportWidth
120
+ * @param viewportHeight
121
+ * @param contentWidth
122
+ * @param contentHeight
123
+ */
124
+ resize(viewportWidth?: number, viewportHeight?: number, contentWidth?: number, contentHeight?: number): void;
46
125
  makeDirty(state: boolean): void;
47
126
  makeViewDirty(state: boolean): void;
48
127
  pick(coord: Vector2): Rect<import('./rect').IRectProps> | null;
49
- setProps(props?: IScrollBarProps): void;
50
- private _resizeHorizontal;
51
- private _resizeVertical;
52
128
  private _initialScrollRect;
53
129
  private _initialVerticalEvent;
130
+ private _horizonHoverFunc;
131
+ private _horizonHoverLeaveFunc;
132
+ private _verticalHoverFunc;
133
+ private _verticalHoverLeaveFunc;
54
134
  private _hoverFunc;
55
135
  private _initialHorizontalEvent;
56
136
  }
@@ -4,7 +4,7 @@ import { IWheelEvent } from './basics/i-events';
4
4
  import { IBoundRectNoAngle, IViewportInfo, Vector2 } from './basics/vector2';
5
5
  import { UniverRenderingContext } from './context';
6
6
  import { Scene } from './scene';
7
- import { BaseScrollBar } from './shape/base-scroll-bar';
7
+ import { ScrollBar } from './shape/scroll-bar';
8
8
  import { Subject } from 'rxjs';
9
9
  import { Transform } from './basics/transform';
10
10
  import { Canvas as UniverCanvas } from './canvas';
@@ -224,7 +224,7 @@ export declare class Viewport {
224
224
  * canvas resize & freeze change would invoke this method
225
225
  */
226
226
  resetCanvasSizeAndUpdateScroll(): void;
227
- setScrollBar(instance: BaseScrollBar): void;
227
+ setScrollBar(instance: ScrollBar): void;
228
228
  removeScrollBar(): void;
229
229
  /**
230
230
  * NOT same as resetCanvasSizeAndScrollbar
@@ -291,7 +291,7 @@ export declare class Viewport {
291
291
  x: number;
292
292
  y: number;
293
293
  };
294
- getScrollBar(): Nullable<BaseScrollBar>;
294
+ getScrollBar(): Nullable<ScrollBar>;
295
295
  /**
296
296
  * Just record state of scroll. This method won't scroll viewport and scrollbar.
297
297
  * TODO: @lumixraku this method is so wried, viewportMain did not call it, now only called in freeze situation.