@univerjs/engine-render v0.1.17 • Docs
Class: Scene
Extends
ThinScene
Constructors
new Scene()
new Scene(
sceneKey,
_parent,
state?): Scene
Parameters
Parameter | Type |
---|---|
sceneKey | string |
_parent | SceneViewer | ThinEngine <Scene > |
state ? | ISceneTransformState |
Returns
Overrides
ThinScene.constructor
Defined in
submodules/univer/packages/engine-render/src/scene.ts:60 (opens in a new tab)
Properties
Accessors
ancestorLeft
get ancestorLeft(): number
Returns
number
Defined in
submodules/univer/packages/engine-render/src/scene.ts:111 (opens in a new tab)
ancestorScaleX
get ancestorScaleX(): number
Returns
number
Defined in
submodules/univer/packages/engine-render/src/scene.ts:93 (opens in a new tab)
ancestorScaleY
get ancestorScaleY(): number
Returns
number
Defined in
submodules/univer/packages/engine-render/src/scene.ts:102 (opens in a new tab)
ancestorTop
get ancestorTop(): number
Returns
number
Defined in
submodules/univer/packages/engine-render/src/scene.ts:120 (opens in a new tab)
classType
get classType(): RENDER_CLASS_TYPE
Returns
Inherited from
ThinScene.classType
Defined in
submodules/univer/packages/engine-render/src/thin-scene.ts:85 (opens in a new tab)
cursor
set cursor(val): void
Parameters
Parameter | Type |
---|---|
val | CURSOR_TYPE |
Defined in
submodules/univer/packages/engine-render/src/scene.ts:129 (opens in a new tab)
evented
get evented(): boolean
Returns
boolean
Inherited from
ThinScene.evented
Defined in
submodules/univer/packages/engine-render/src/thin-scene.ts:113 (opens in a new tab)
height
get height(): number
set height(num): void
Parameters
Parameter | Type |
---|---|
num | number |
Returns
number
Inherited from
ThinScene.height
Defined in
submodules/univer/packages/engine-render/src/thin-scene.ts:97 (opens in a new tab)
scaleX
get scaleX(): number
set scaleX(scaleX): void
Parameters
Parameter | Type |
---|---|
scaleX | number |
Returns
number
Inherited from
ThinScene.scaleX
Defined in
submodules/univer/packages/engine-render/src/thin-scene.ts:101 (opens in a new tab)
scaleY
get scaleY(): number
set scaleY(scaleY): void
Parameters
Parameter | Type |
---|---|
scaleY | number |
Returns
number
Inherited from
ThinScene.scaleY
Defined in
submodules/univer/packages/engine-render/src/thin-scene.ts:105 (opens in a new tab)
sceneKey
get sceneKey(): string
Returns
string
Inherited from
ThinScene.sceneKey
Defined in
submodules/univer/packages/engine-render/src/thin-scene.ts:109 (opens in a new tab)
transform
get transform(): Transform
set transform(trans): void
Parameters
Parameter | Type |
---|---|
trans | Transform |
Returns
Inherited from
ThinScene.transform
Defined in
submodules/univer/packages/engine-render/src/thin-scene.ts:89 (opens in a new tab)
width
get width(): number
set width(num): void
Parameters
Parameter | Type |
---|---|
num | number |
Returns
number
Inherited from
ThinScene.width
Defined in
submodules/univer/packages/engine-render/src/thin-scene.ts:93 (opens in a new tab)
Methods
addLayer()
addLayer(...argument): void
Parameters
Parameter | Type |
---|---|
...argument | Layer [] |
Returns
void
Defined in
submodules/univer/packages/engine-render/src/scene.ts:370 (opens in a new tab)
addObject()
addObject(o, zIndex): Scene
Parameters
Parameter | Type | Default value |
---|---|---|
o | BaseObject | undefined |
zIndex | number | 1 |
Returns
Overrides
ThinScene.addObject
Defined in
submodules/univer/packages/engine-render/src/scene.ts:374 (opens in a new tab)
addObjects()
addObjects(objects, zIndex): Scene
Parameters
Parameter | Type | Default value |
---|---|---|
objects | BaseObject [] | undefined |
zIndex | number | 1 |
Returns
Overrides
ThinScene.addObjects
Defined in
submodules/univer/packages/engine-render/src/scene.ts:390 (opens in a new tab)
addViewport()
addViewport(...viewport): Scene
Parameters
Parameter | Type |
---|---|
...viewport | Viewport [] |
Returns
Overrides
ThinScene.addViewport
Defined in
submodules/univer/packages/engine-render/src/scene.ts:497 (opens in a new tab)
attachControl()
attachControl(
hasDown,
hasUp,
hasMove,
hasWheel): undefined | Scene
Parameters
Parameter | Type | Default value |
---|---|---|
hasDown | boolean | true |
hasUp | boolean | true |
hasMove | boolean | true |
hasWheel | boolean | true |
Returns
undefined
| Scene
Defined in
submodules/univer/packages/engine-render/src/scene.ts:133 (opens in a new tab)
attachTransformerTo()
attachTransformerTo(o): void
Parameters
Parameter | Type |
---|---|
o | BaseObject |
Returns
void
Overrides
ThinScene.attachTransformerTo
Defined in
submodules/univer/packages/engine-render/src/scene.ts:545 (opens in a new tab)
clearLayer()
clearLayer(): void
Returns
void
Defined in
submodules/univer/packages/engine-render/src/scene.ts:664 (opens in a new tab)
clearViewports()
clearViewports(): void
Returns
void
Defined in
submodules/univer/packages/engine-render/src/scene.ts:668 (opens in a new tab)
detachControl()
detachControl(): Scene
Returns
Defined in
submodules/univer/packages/engine-render/src/scene.ts:143 (opens in a new tab)
detachTransformerFrom()
detachTransformerFrom(o): void
Parameters
Parameter | Type |
---|---|
o | BaseObject |
Returns
void
Overrides
ThinScene.detachTransformerFrom
Defined in
submodules/univer/packages/engine-render/src/scene.ts:552 (opens in a new tab)
disableEvent()
disableEvent(): void
Returns
void
Inherited from
ThinScene.disableEvent
Defined in
submodules/univer/packages/engine-render/src/thin-scene.ts:141 (opens in a new tab)
disableLayerCache()
disableLayerCache(...layerIndexes): void
Parameters
Parameter | Type |
---|---|
...layerIndexes | number [] |
Returns
void
Defined in
submodules/univer/packages/engine-render/src/scene.ts:171 (opens in a new tab)
dispose()
dispose(): void
Returns
void
Overrides
ThinScene.dispose
Defined in
submodules/univer/packages/engine-render/src/scene.ts:696 (opens in a new tab)
disposeWithMe()
protected disposeWithMe(disposable): IDisposable
Parameters
Parameter | Type |
---|---|
disposable | DisposableLike |
Returns
IDisposable
Inherited from
ThinScene.disposeWithMe
Defined in
submodules/univer/packages/core/src/shared/lifecycle.ts:96 (opens in a new tab)
enableEvent()
enableEvent(): void
Returns
void
Inherited from
ThinScene.enableEvent
Defined in
submodules/univer/packages/engine-render/src/thin-scene.ts:137 (opens in a new tab)
enableLayerCache()
enableLayerCache(...layerIndexes): void
Parameters
Parameter | Type |
---|---|
...layerIndexes | number [] |
Returns
void
Defined in
submodules/univer/packages/engine-render/src/scene.ts:165 (opens in a new tab)
ensureNotDisposed()
protected ensureNotDisposed(): void
Returns
void
Inherited from
ThinScene.ensureNotDisposed
Defined in
submodules/univer/packages/core/src/shared/lifecycle.ts:100 (opens in a new tab)
fuzzyMathObjects()
fuzzyMathObjects(oKey): BaseObject[]
Parameters
Parameter | Type |
---|---|
oKey | string |
Returns
Defined in
submodules/univer/packages/engine-render/src/scene.ts:483 (opens in a new tab)
getActiveViewportByCoord()
getActiveViewportByCoord(coord): undefined | Viewport
Parameters
Parameter | Type |
---|---|
coord | Vector2 |
Returns
undefined
| Viewport
Defined in
submodules/univer/packages/engine-render/src/scene.ts:579 (opens in a new tab)
getActiveViewportByRelativeCoord()
getActiveViewportByRelativeCoord(coord): undefined | Viewport
Parameters
Parameter | Type |
---|---|
coord | Vector2 |
Returns
undefined
| Viewport
Defined in
submodules/univer/packages/engine-render/src/scene.ts:575 (opens in a new tab)
getAllObjects()
getAllObjects(): BaseObject[]
Returns
Defined in
submodules/univer/packages/engine-render/src/scene.ts:432 (opens in a new tab)
getAllObjectsByOrder()
getAllObjectsByOrder(isDesc): BaseObject[]
Parameters
Parameter | Type | Default value |
---|---|---|
isDesc | boolean | false |
Returns
Defined in
submodules/univer/packages/engine-render/src/scene.ts:441 (opens in a new tab)
getAllObjectsByOrderForPick()
getAllObjectsByOrderForPick(isDesc): BaseObject[]
Parameters
Parameter | Type | Default value |
---|---|---|
isDesc | boolean | false |
Returns
Defined in
submodules/univer/packages/engine-render/src/scene.ts:451 (opens in a new tab)
getAncestorScale()
getAncestorScale(): {
scaleX: number;
scaleY: number;
}
Returns
{
scaleX: number;
scaleY: number;
}
Name | Type | Defined in |
---|---|---|
scaleX | number | submodules/univer/packages/engine-render/src/scene.ts:681 (opens in a new tab) |
scaleY | number | submodules/univer/packages/engine-render/src/scene.ts:682 (opens in a new tab) |
Overrides
ThinScene.getAncestorScale
Defined in
submodules/univer/packages/engine-render/src/scene.ts:672 (opens in a new tab)
getCursor()
getCursor(): CURSOR_TYPE
Returns
Defined in
submodules/univer/packages/engine-render/src/scene.ts:187 (opens in a new tab)
getEngine()
getEngine(): Nullable<ThinEngine<Scene>>
Returns
Overrides
ThinScene.getEngine
Defined in
submodules/univer/packages/engine-render/src/scene.ts:331 (opens in a new tab)
getLayer()
getLayer(zIndex): Layer
Parameters
Parameter | Type | Default value |
---|---|---|
zIndex | number | 1 |
Returns
Defined in
submodules/univer/packages/engine-render/src/scene.ts:350 (opens in a new tab)
getLayerMaxZIndex()
getLayerMaxZIndex(): number
Returns
number
Defined in
submodules/univer/packages/engine-render/src/scene.ts:359 (opens in a new tab)
getLayers()
getLayers(): Layer[]
Returns
Layer
[]
Defined in
submodules/univer/packages/engine-render/src/scene.ts:346 (opens in a new tab)
getObject()
getObject(oKey): undefined | BaseObject
Parameters
Parameter | Type |
---|---|
oKey | string |
Returns
undefined
| BaseObject
Overrides
ThinScene.getObject
Defined in
submodules/univer/packages/engine-render/src/scene.ts:461 (opens in a new tab)
getObjectIncludeInGroup()
getObjectIncludeInGroup(oKey): undefined | BaseObject
Parameters
Parameter | Type |
---|---|
oKey | string |
Returns
undefined
| BaseObject
Defined in
submodules/univer/packages/engine-render/src/scene.ts:472 (opens in a new tab)
getParent()
getParent(): SceneViewer | ThinEngine<Scene>
Returns
SceneViewer
| ThinEngine
<Scene
>
Overrides
ThinScene.getParent
Defined in
submodules/univer/packages/engine-render/src/scene.ts:327 (opens in a new tab)
getPrecisionScale()
getPrecisionScale(): {
scaleX: number;
scaleY: number;
}
Returns
{
scaleX: number;
scaleY: number;
}
Name | Type | Defined in |
---|---|---|
scaleX | number | submodules/univer/packages/engine-render/src/scene.ts:691 (opens in a new tab) |
scaleY | number | submodules/univer/packages/engine-render/src/scene.ts:692 (opens in a new tab) |
Overrides
ThinScene.getPrecisionScale
Defined in
submodules/univer/packages/engine-render/src/scene.ts:686 (opens in a new tab)
getRelativeCoord()
getRelativeCoord(coord): Vector2
In a nested scene scenario, it is necessary to obtain the relative offsets layer by layer.
Parameters
Parameter | Type | Description |
---|---|---|
coord | Vector2 | Coordinates to be converted. |
Returns
Defined in
submodules/univer/packages/engine-render/src/scene.ts:626 (opens in a new tab)
getScrollXY()
getScrollXY(viewPort): {
x: number;
y: number;
}
Parameters
Parameter | Type |
---|---|
viewPort | Viewport |
Returns
{
x: number;
y: number;
}
Name | Type | Defined in |
---|---|---|
x | number | submodules/univer/packages/engine-render/src/scene.ts:616 (opens in a new tab) |
y | number | submodules/univer/packages/engine-render/src/scene.ts:617 (opens in a new tab) |
Defined in
submodules/univer/packages/engine-render/src/scene.ts:606 (opens in a new tab)
getScrollXYByRelativeCoords()
getScrollXYByRelativeCoords(coord, viewPort?): {
x: 0;
y: 0;
}
Parameters
Parameter | Type |
---|---|
coord | Vector2 |
viewPort ? | Viewport |
Returns
{
x: 0;
y: 0;
}
Name | Type | Default value | Defined in |
---|---|---|---|
x | number | 0 | submodules/univer/packages/engine-render/src/scene.ts:599 (opens in a new tab) |
y | number | 0 | submodules/univer/packages/engine-render/src/scene.ts:600 (opens in a new tab) |
Defined in
submodules/univer/packages/engine-render/src/scene.ts:593 (opens in a new tab)
getTransformer()
getTransformer(): Nullable<Transformer>
Returns
Nullable
<Transformer
>
Defined in
submodules/univer/packages/engine-render/src/scene.ts:571 (opens in a new tab)
getTransformerByCreate()
getTransformerByCreate(): Transformer
Returns
Transformer
Defined in
submodules/univer/packages/engine-render/src/scene.ts:564 (opens in a new tab)
getViewport()
getViewport(key): undefined | Viewport
Parameters
Parameter | Type |
---|---|
key | string |
Returns
undefined
| Viewport
Defined in
submodules/univer/packages/engine-render/src/scene.ts:516 (opens in a new tab)
getViewports()
getViewports(): Viewport[]
Returns
Viewport
[]
Overrides
ThinScene.getViewports
Defined in
submodules/univer/packages/engine-render/src/scene.ts:512 (opens in a new tab)
initTransformer()
initTransformer(config?): void
Parameters
Parameter | Type |
---|---|
config ? | ITransformerConfig |
Returns
void
Defined in
submodules/univer/packages/engine-render/src/scene.ts:556 (opens in a new tab)
isDirty()
isDirty(): boolean
Returns
boolean
Defined in
submodules/univer/packages/engine-render/src/scene.ts:177 (opens in a new tab)
makeDirty()
makeDirty(state): Scene
Parameters
Parameter | Type | Default value |
---|---|---|
state | boolean | true |
Returns
Overrides
ThinScene.makeDirty
Defined in
submodules/univer/packages/engine-render/src/scene.ts:148 (opens in a new tab)
makeDirtyNoParent()
makeDirtyNoParent(state): Scene
Parameters
Parameter | Type | Default value |
---|---|---|
state | boolean | true |
Returns
Overrides
ThinScene.makeDirtyNoParent
Defined in
submodules/univer/packages/engine-render/src/scene.ts:158 (opens in a new tab)
pick()
pick(coord): Nullable<BaseObject | ThinScene | Scene>
Parameters
Parameter | Type |
---|---|
coord | Vector2 |
Returns
Nullable
<BaseObject
| ThinScene
| Scene
>
Overrides
ThinScene.pick
Defined in
submodules/univer/packages/engine-render/src/scene.ts:732 (opens in a new tab)
removeObject()
removeObject(object?): undefined | Scene
Parameters
Parameter | Type |
---|---|
object ? | string | BaseObject |
Returns
undefined
| Scene
Defined in
submodules/univer/packages/engine-render/src/scene.ts:396 (opens in a new tab)
removeObjects()
removeObjects(objects?): undefined | Scene
Parameters
Parameter | Type |
---|---|
objects ? | string [] | BaseObject [] |
Returns
undefined
| Scene
Defined in
submodules/univer/packages/engine-render/src/scene.ts:407 (opens in a new tab)
removeViewport()
removeViewport(key): undefined | Viewport
Parameters
Parameter | Type |
---|---|
key | string |
Returns
undefined
| Viewport
Overrides
ThinScene.removeViewport
Defined in
submodules/univer/packages/engine-render/src/scene.ts:502 (opens in a new tab)
render()
render(parentCtx?): void
Parameters
Parameter | Type |
---|---|
parentCtx ? | UniverRenderingContext |
Returns
void
Overrides
ThinScene.render
Defined in
submodules/univer/packages/engine-render/src/scene.ts:524 (opens in a new tab)
requestRender()
requestRender(parentCtx?): Promise<unknown>
Parameters
Parameter | Type |
---|---|
parentCtx ? | UniverRenderingContext |
Returns
Promise
<unknown
>
Defined in
submodules/univer/packages/engine-render/src/scene.ts:538 (opens in a new tab)
resetCursor()
resetCursor(): void
Returns
void
Overrides
ThinScene.resetCursor
Defined in
submodules/univer/packages/engine-render/src/scene.ts:191 (opens in a new tab)
resize()
resize(width?, height?): Scene
Parameters
Parameter | Type |
---|---|
width ? | number |
height ? | number |
Returns
Defined in
submodules/univer/packages/engine-render/src/scene.ts:209 (opens in a new tab)
scale()
scale(scaleX?, scaleY?): Scene
scale to value, absolute setTransform ---> viewport._updateScrollBarPosByViewportScroll ---> scrollTo
Parameters
Parameter | Type |
---|---|
scaleX ? | number |
scaleY ? | number |
Returns
Defined in
submodules/univer/packages/engine-render/src/scene.ts:247 (opens in a new tab)
scaleBy()
scaleBy(scaleX?, scaleY?): Scene
current scale plus offset, relative
Parameters
Parameter | Type |
---|---|
scaleX ? | number |
scaleY ? | number |
Returns
Defined in
submodules/univer/packages/engine-render/src/scene.ts:273 (opens in a new tab)
setCursor()
setCursor(val): void
Parameters
Parameter | Type |
---|---|
val | CURSOR_TYPE |
Returns
void
Overrides
ThinScene.setCursor
Defined in
submodules/univer/packages/engine-render/src/scene.ts:195 (opens in a new tab)
setDefaultCursor()
setDefaultCursor(val): void
Parameters
Parameter | Type |
---|---|
val | CURSOR_TYPE |
Returns
void
Defined in
submodules/univer/packages/engine-render/src/scene.ts:204 (opens in a new tab)
setObjectBehavior()
setObjectBehavior(o): void
Parameters
Parameter | Type |
---|---|
o | BaseObject |
Returns
void
Overrides
ThinScene.setObjectBehavior
Defined in
submodules/univer/packages/engine-render/src/scene.ts:380 (opens in a new tab)
setScaleValue()
setScaleValue(scaleX, scaleY): void
Parameters
Parameter | Type |
---|---|
scaleX | number |
scaleY | number |
Returns
void
Defined in
submodules/univer/packages/engine-render/src/scene.ts:233 (opens in a new tab)
transformByState()
transformByState(state): void
This sequence will initiate a series of updates: scene._setTransForm --> viewport@resetCanvasSizeAndUpdateScrollBar ---> scrollTo ---> limitedScroll ---> onScrollBeforeObserver ---> setScrollInfo scrollInfo needs accurate scene width & height, limitedScroll depends on scene & engine's width & height
Parameters
Parameter | Type |
---|---|
state | ISceneTransformState |
Returns
void
Defined in
submodules/univer/packages/engine-render/src/scene.ts:304 (opens in a new tab)
triggerDblclick()
triggerDblclick(evt): boolean
Parameters
Parameter | Type |
---|---|
evt | IMouseEvent | IPointerEvent |
Returns
boolean
Overrides
ThinScene.triggerDblclick
Defined in
submodules/univer/packages/engine-render/src/scene.ts:844 (opens in a new tab)
triggerDragEnter()
triggerDragEnter(evt): boolean
Parameters
Parameter | Type |
---|---|
evt | IDragEvent |
Returns
boolean
Overrides
ThinScene.triggerDragEnter
Defined in
submodules/univer/packages/engine-render/src/scene.ts:942 (opens in a new tab)
triggerDragLeave()
triggerDragLeave(evt): boolean
Parameters
Parameter | Type |
---|---|
evt | IDragEvent |
Returns
boolean
Overrides
ThinScene.triggerDragLeave
Defined in
submodules/univer/packages/engine-render/src/scene.ts:920 (opens in a new tab)
triggerDragOver()
triggerDragOver(evt): boolean
Parameters
Parameter | Type |
---|---|
evt | IDragEvent |
Returns
boolean
Overrides
ThinScene.triggerDragOver
Defined in
submodules/univer/packages/engine-render/src/scene.ts:931 (opens in a new tab)
triggerDrop()
triggerDrop(evt): boolean
Parameters
Parameter | Type |
---|---|
evt | IDragEvent |
Returns
boolean
Overrides
ThinScene.triggerDrop
Defined in
submodules/univer/packages/engine-render/src/scene.ts:953 (opens in a new tab)
triggerKeyDown()
triggerKeyDown(evt): void
Parameters
Parameter | Type |
---|---|
evt | IKeyboardEvent |
Returns
void
Overrides
ThinScene.triggerKeyDown
Defined in
submodules/univer/packages/engine-render/src/scene.ts:797 (opens in a new tab)
triggerKeyUp()
triggerKeyUp(evt): void
Parameters
Parameter | Type |
---|---|
evt | IKeyboardEvent |
Returns
void
Overrides
ThinScene.triggerKeyUp
Defined in
submodules/univer/packages/engine-render/src/scene.ts:804 (opens in a new tab)
triggerMouseWheel()
triggerMouseWheel(evt): boolean
Parameters
Parameter | Type |
---|---|
evt | IWheelEvent |
Returns
boolean
Overrides
ThinScene.triggerMouseWheel
Defined in
submodules/univer/packages/engine-render/src/scene.ts:822 (opens in a new tab)
triggerPointerDown()
triggerPointerDown(evt): boolean
Parameters
Parameter | Type |
---|---|
evt | IMouseEvent | IPointerEvent |
Returns
boolean
Overrides
ThinScene.triggerPointerDown
Defined in
submodules/univer/packages/engine-render/src/scene.ts:866 (opens in a new tab)
triggerPointerEnter()
triggerPointerEnter(evt): boolean
Parameters
Parameter | Type |
---|---|
evt | IMouseEvent | IPointerEvent |
Returns
boolean
Overrides
ThinScene.triggerPointerEnter
Defined in
submodules/univer/packages/engine-render/src/scene.ts:908 (opens in a new tab)
triggerPointerLeave()
triggerPointerLeave(evt): boolean
Parameters
Parameter | Type |
---|---|
evt | IMouseEvent | IPointerEvent |
Returns
boolean
Overrides
ThinScene.triggerPointerLeave
Defined in
submodules/univer/packages/engine-render/src/scene.ts:887 (opens in a new tab)
triggerPointerMove()
triggerPointerMove(evt): boolean
Parameters
Parameter | Type |
---|---|
evt | IMouseEvent | IPointerEvent |
Returns
boolean
Overrides
ThinScene.triggerPointerMove
Defined in
submodules/univer/packages/engine-render/src/scene.ts:833 (opens in a new tab)
triggerPointerOut()
triggerPointerOut(evt): boolean
Parameters
Parameter | Type |
---|---|
evt | IMouseEvent | IPointerEvent |
Returns
boolean
Overrides
ThinScene.triggerPointerOut
Defined in
submodules/univer/packages/engine-render/src/scene.ts:878 (opens in a new tab)
triggerPointerOver()
triggerPointerOver(evt): boolean
Parameters
Parameter | Type |
---|---|
evt | IMouseEvent | IPointerEvent |
Returns
boolean
Overrides
ThinScene.triggerPointerOver
Defined in
submodules/univer/packages/engine-render/src/scene.ts:899 (opens in a new tab)
triggerPointerUp()
triggerPointerUp(evt): boolean
Parameters
Parameter | Type |
---|---|
evt | IMouseEvent | IPointerEvent |
Returns
boolean
Overrides
ThinScene.triggerPointerUp
Defined in
submodules/univer/packages/engine-render/src/scene.ts:811 (opens in a new tab)
triggerTripleClick()
triggerTripleClick(evt): boolean
Parameters
Parameter | Type |
---|---|
evt | IMouseEvent | IPointerEvent |
Returns
boolean
Overrides
ThinScene.triggerTripleClick
Defined in
submodules/univer/packages/engine-render/src/scene.ts:855 (opens in a new tab)