API Reference
@univerjs
@univerjs/engine-render
classes
Viewport

@univerjs/engine-render v0.1.17Docs


Class: Viewport

Constructors

new Viewport()

new Viewport(
   viewportKey, 
   scene, 
   props?): Viewport

Parameters

ParameterType
viewportKeystring
sceneThinScene
props?IViewProps

Returns

Viewport

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:218 (opens in a new tab)

Properties

PropertyTypeDefault valueDescriptionDefined in
bufferEdgeXnumber0Buffer Area size, default is zerosubmodules/univer/packages/engine-render/src/viewport.ts:215 (opens in a new tab)
bufferEdgeYnumber0-submodules/univer/packages/engine-render/src/viewport.ts:216 (opens in a new tab)
onMouseWheel$EventSubject<IWheelEvent>undefined-submodules/univer/packages/engine-render/src/viewport.ts:116 (opens in a new tab)
onScrollAfter$EventSubject<IScrollObserverParam>undefined-submodules/univer/packages/engine-render/src/viewport.ts:118 (opens in a new tab)
onScrollBefore$EventSubject<IScrollObserverParam>undefined-submodules/univer/packages/engine-render/src/viewport.ts:120 (opens in a new tab)
onScrollByBar$EventSubject<IScrollObserverParam>undefined-submodules/univer/packages/engine-render/src/viewport.ts:124 (opens in a new tab)
onScrollStop$EventSubject<IScrollObserverParam>undefined-submodules/univer/packages/engine-render/src/viewport.ts:122 (opens in a new tab)
scrollXnumber0scrollX means scroll x value for scrollbar in viewMain use getBarScroll to get scrolling value(scrollX, scrollY) for scrollbarsubmodules/univer/packages/engine-render/src/viewport.ts:94 (opens in a new tab)
scrollYnumber0-submodules/univer/packages/engine-render/src/viewport.ts:95 (opens in a new tab)

Accessors

bottom

get bottom(): number
set bottom(num): void

Parameters

ParameterType
numnumber

Returns

number

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:347 (opens in a new tab)


bottomOrigin

get bottomOrigin(): number

Returns

number

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:331 (opens in a new tab)


cacheBound

get cacheBound(): null | IBoundRectNoAngle
set cacheBound(val): void

Parameters

ParameterType
valnull | IBoundRectNoAngle

Returns

null | IBoundRectNoAngle

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:422 (opens in a new tab)


height

get height(): Nullable<number>
set height(h): void

Parameters

ParameterType
hNullable<number>

Returns

Nullable<number>

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:315 (opens in a new tab)


isActive

get isActive(): boolean

Returns

boolean

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:371 (opens in a new tab)


isDirty

get isDirty(): boolean

Returns

boolean

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:1132 (opens in a new tab)


isForceDirty

get isForceDirty(): boolean

Returns

boolean

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:1148 (opens in a new tab)


isWheelPreventDefaultX

get isWheelPreventDefaultX(): boolean

Returns

boolean

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:355 (opens in a new tab)


isWheelPreventDefaultY

get isWheelPreventDefaultY(): boolean

Returns

boolean

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:359 (opens in a new tab)


left

get left(): number
set left(num): void

Parameters

ParameterType
numnumber

Returns

number

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:343 (opens in a new tab)


leftOrigin

get leftOrigin(): number

Returns

number

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:327 (opens in a new tab)


preCacheBound

get preCacheBound(): null | IBoundRectNoAngle
set preCacheBound(val): void

Parameters

ParameterType
valnull | IBoundRectNoAngle

Returns

null | IBoundRectNoAngle

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:430 (opens in a new tab)


right

get right(): number
set right(num): void

Parameters

ParameterType
numnumber

Returns

number

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:351 (opens in a new tab)


rightOrigin

get rightOrigin(): number

Returns

number

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:335 (opens in a new tab)


scene

get scene(): ThinScene

Returns

ThinScene

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:307 (opens in a new tab)


top

get top(): number
set top(num): void

Parameters

ParameterType
numnumber

Returns

number

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:339 (opens in a new tab)


topOrigin

get topOrigin(): number

Returns

number

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:323 (opens in a new tab)


viewBound

get viewBound(): IBoundRectNoAngle

Returns

IBoundRectNoAngle

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:418 (opens in a new tab)


viewportKey

get viewportKey(): string

Returns

string

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:319 (opens in a new tab)


viewportScrollX

get viewportScrollX(): number
set viewportScrollX(val): void

Parameters

ParameterType
valnumber

Returns

number

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:386 (opens in a new tab)


viewportScrollY

get viewportScrollY(): number
set viewportScrollY(val): void

Parameters

ParameterType
valnumber

Returns

number

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:394 (opens in a new tab)


width

get width(): Nullable<number>
set width(w): void

Parameters

ParameterType
wNullable<number>

Returns

Nullable<number>

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:311 (opens in a new tab)

Methods

_testDisplayCache()

_testDisplayCache(): void

test

Returns

void

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:275 (opens in a new tab)


closeClip()

closeClip(): void

Returns

void

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:1078 (opens in a new tab)


disable()

disable(): void

Returns

void

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:443 (opens in a new tab)


dispose()

dispose(): void

Returns

void

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:1082 (opens in a new tab)


enable()

enable(): void

Returns

void

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:439 (opens in a new tab)


expandBounds()

expandBounds(value): IBoundRectNoAngle

Parameters

ParameterType
valueobject
value.bottomnumber
value.leftnumber
value.rightnumber
value.topnumber

Returns

IBoundRectNoAngle

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:1367 (opens in a new tab)


getAbsoluteVector()

getAbsoluteVector(coord): Vector2

Parameters

ParameterType
coordVector2

Returns

Vector2

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:946 (opens in a new tab)


getBounding()

getBounding(): IViewportInfo

Returns

IViewportInfo

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:934 (opens in a new tab)


getRelativeVector()

getRelativeVector(coord): Vector2

Parameters

ParameterType
coordVector2

Returns

Vector2

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:938 (opens in a new tab)


getScrollBar()

getScrollBar(): Nullable<BaseScrollBar>

Returns

Nullable<BaseScrollBar>

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:667 (opens in a new tab)


getScrollBarTransForm()

getScrollBarTransForm(): Transform

Returns

Transform

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:701 (opens in a new tab)


getViewportScrollByScroll()

getViewportScrollByScroll(): {
  x: number;
  y: number;
}

get actual scroll value by scrollXY

Returns

{
  x: number;
  y: number;
}
NameTypeDefined in
xnumbersubmodules/univer/packages/engine-render/src/viewport.ts:651 (opens in a new tab)
ynumbersubmodules/univer/packages/engine-render/src/viewport.ts:652 (opens in a new tab)

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:660 (opens in a new tab)


initCacheCanvas()

initCacheCanvas(props?): void

Parameters

ParameterType
props?IViewProps

Returns

void

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:262 (opens in a new tab)


isHit()

isHit(coord): undefined | boolean

Parameters

ParameterType
coordVector2

Returns

undefined | boolean

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:1044 (opens in a new tab)


limitedScroll()

limitedScroll(): undefined | {
  isLimitedX: boolean;
  isLimitedY: boolean;
}

Returns

undefined | { isLimitedX: boolean; isLimitedY: boolean; }

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:1092 (opens in a new tab)


markDirty()

markDirty(state?): void

Parameters

ParameterType
state?boolean

Returns

void

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:1125 (opens in a new tab)


markForceDirty()

markForceDirty(state?): void

Parameters

ParameterType
state?boolean

Returns

void

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:1137 (opens in a new tab)


onMouseWheel()

onMouseWheel(evt, state): void

Parameters

ParameterType
evtIWheelEvent
stateEventState

Returns

void

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:955 (opens in a new tab)


openClip()

openClip(): void

Returns

void

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:1074 (opens in a new tab)


pickScrollBar()

pickScrollBar(coord): undefined | null | Rect<IRectProps>

Parameters

ParameterType
coordVector2

Returns

undefined | null | Rect<IRectProps>

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:1064 (opens in a new tab)


removeScrollBar()

removeScrollBar(): void

Returns

void

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:461 (opens in a new tab)


render()

render(
   parentCtx?, 
   objects?, 
   isMaxLayer?): void

engine.renderLoop ---> scene.render ---> layer.render ---> viewport.render that means each layer call all viewports to render

Parameters

ParameterTypeDefault valueDescription
parentCtx?UniverRenderingContextundefined如果 layer._allowCache true, 那么 parentCtx 是 layer 中的 cacheCtx
objects?BaseObject[][]-
isMaxLayer?booleanfalse-

Returns

void

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:730 (opens in a new tab)


resetCanvasSizeAndUpdateScrollBar()

resetCanvasSizeAndUpdateScrollBar(): void

invoked when canvas element size change engineResizeObserver --> engine.resizeBySize --> scene._setTransForm

Returns

void

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:451 (opens in a new tab)


resetPadding()

resetPadding(): void

Returns

void

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:501 (opens in a new tab)


resetPrevCacheBounds()

resetPrevCacheBounds(): void

Returns

void

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:1144 (opens in a new tab)


resizeWhenFreezeChange()

resizeWhenFreezeChange(position): void

NOT same as resetCanvasSizeAndScrollbar This method is triggered when adjusting the frozen row & col settings, and during initialization, it is not triggered when resizing the window.

Note that the 'position' parameter may not always have 'height' and 'width' properties. For the 'viewMain' element, it only has 'left', 'top', 'bottom', and 'right' properties. Additionally, 'this.width' and 'this.height' may also be 'undefined'. Therefore, you should use the '_getViewPortSize' method to retrieve the width and height.

Parameters

ParameterType
positionIViewPosition

Returns

void

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:475 (opens in a new tab)


scrollBy()

scrollBy(pos, isTrigger): undefined | {
  isLimitedX: boolean;
  isLimitedY: boolean;
}

current position plus offset, relative

Parameters

ParameterTypeDefault value
posIScrollBarPositionundefined
isTriggerbooleantrue

Returns

undefined | { isLimitedX: boolean; isLimitedY: boolean; }

isLimited

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:542 (opens in a new tab)


scrollByBar()

scrollByBar(pos, isTrigger): void

Parameters

ParameterTypeDefault value
posIScrollBarPositionundefined
isTriggerbooleantrue

Returns

void

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:546 (opens in a new tab)


scrollByOffset()

scrollByOffset(
   offsetX, 
   offsetY, 
   isTrigger): undefined | {
  isLimitedX: boolean;
  isLimitedY: boolean;
}

current position plus offset relatively the caller no need to deal with the padding when frozen

Parameters

ParameterTypeDefault value
offsetXnumber0
offsetYnumber0
isTriggerbooleantrue

Returns

undefined | { isLimitedX: boolean; isLimitedY: boolean; }

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:571 (opens in a new tab)


scrollTo()

scrollTo(pos): undefined | {
  isLimitedX: boolean;
  isLimitedY: boolean;
}

set scrollXY and viewportScrollXY, and update scrollInfo without notify listeners of scrollInfo$ mainly call by scroll.render-controller and viewport.resize ... only viewMain would call scrollTo, other views did not call scroll, see scroll.render-controller

Parameters

ParameterTypeDescription
posIScrollBarPositionwhen scrolling: scroll.render-controller@_scrollManagerService.scrollInfo$.subscribe --> scrollTo when change skelenton: _currentSkeletonBefore$ ---> scroll.render-controller@_updateSceneSize --> setSearchParam --> scene@_setTransForm ---> viewport.resetCanvasSizeAndUpdateScrollBar ---> scrollTo ---> _scroll --> onScrollAfterObserver.notifyObservers --> scroll.render-controller@onScrollAfterObserver ---> setScrollInfoToCurrSheetWithoutNotify ---> sms._setScrollInfo _currentSkeleton$ ---> selection.render-controller ---> formula@_autoScroll ---> viewport.resize ---> get scrollXY by viewportScrollXY ---> scrollTo _currentSkeleton$ ---> selection.render-controller ---> setCurrentSelection ---> formula@_autoScroll ---> scrollTo _currentSkeleton$ ---> freeze.render-controller@_refreshFreeze --> viewport.resize ---> scrollTo ---> _scroll TODO:

Returns

undefined | { isLimitedX: boolean; isLimitedY: boolean; }

Lumix

many side effects in scrollTo, it would update scrollXY & viewportScrollXY, and notify listeners of scrollInfo$

Debug window.scene.getViewports()[0].scrollTo({x: 14.2, y: 1.8}, true)

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:533 (opens in a new tab)


setPadding()

setPadding(param): void

Parameters

ParameterType
paramIPosition

Returns

void

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:491 (opens in a new tab)


setScrollBar()

setScrollBar(instance): void

Parameters

ParameterType
instanceBaseScrollBar

Returns

void

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:456 (opens in a new tab)


shouldIntoRender()

shouldIntoRender(): boolean

Returns

boolean

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:709 (opens in a new tab)


transScroll2ViewportScrollValue()

transScroll2ViewportScrollValue(scrollX, scrollY): {
  x: number;
  y: number;
}

Parameters

ParameterType
scrollXnumber
scrollYnumber

Returns

{
  x: number;
  y: number;
}
NameTypeDefined in
xnumbersubmodules/univer/packages/engine-render/src/viewport.ts:651 (opens in a new tab)
ynumbersubmodules/univer/packages/engine-render/src/viewport.ts:652 (opens in a new tab)

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:607 (opens in a new tab)


transViewportScroll2ScrollValue()

transViewportScroll2ScrollValue(viewportScrollX, viewportScrollY): {
  x: number;
  y: number;
}

Parameters

ParameterType
viewportScrollXnumber
viewportScrollYnumber

Returns

{
  x: number;
  y: number;
}
NameTypeDefined in
xnumbersubmodules/univer/packages/engine-render/src/viewport.ts:602 (opens in a new tab)
ynumbersubmodules/univer/packages/engine-render/src/viewport.ts:603 (opens in a new tab)

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:581 (opens in a new tab)


updatePrevCacheBounds()

updatePrevCacheBounds(viewBound?): void

Parameters

ParameterType
viewBound?IBoundRectNoAngle

Returns

void

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:1379 (opens in a new tab)


updateScroll()

updateScroll(current): Viewport

Parameters

ParameterType
currentIScrollObserverParam

Returns

Viewport

Defined in

submodules/univer/packages/engine-render/src/viewport.ts:672 (opens in a new tab)


Copyright © 2021-2024 DreamNum Co,Ltd. All Rights Reserved.