Skip to content

BlockSuite API Documentation / @blocksuite/affine-model / ShapeElementModel

Class: ShapeElementModel

Extends

Constructors

new ShapeElementModel()

new ShapeElementModel(options): ShapeElementModel

Parameters

options
id

string

model

SurfaceBlockModel

onChange

(payload) => void

stashedStore

Map<unknown, unknown>

yMap

YMap<unknown>

Returns

ShapeElementModel

Inherited from

SurfaceElementModel.constructor

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:65

Properties

_disposable

protected _disposable: DisposableGroup

Inherited from

SurfaceElementModel._disposable

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:24


_id

protected _id: string

Inherited from

SurfaceElementModel._id

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:25


_local

protected _local: Map<string | symbol, unknown>

Inherited from

SurfaceElementModel._local

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:26


_onChange()

protected _onChange: (payload) => void

Parameters

payload
local

boolean

oldValues

Record<string, unknown>

props

Record<string, unknown>

Returns

void

Inherited from

SurfaceElementModel._onChange

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:27


_preserved

protected _preserved: Map<string, unknown>

Used to store a copy of data in the yMap.

Inherited from

SurfaceElementModel._preserved

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:35


_stashed

protected _stashed: Map<string, unknown>

Inherited from

SurfaceElementModel._stashed

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:36


propsUpdated

propsUpdated: Slot<{ key: string; }>

Inherited from

SurfaceElementModel.propsUpdated

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:37


surface

surface: SurfaceBlockModel

Inherited from

SurfaceElementModel.surface

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:41


textBound

textBound: null | IBound = null

The bound of the text content.

Defined in

packages/affine/model/src/elements/shape/shape.ts:67


yMap

yMap: YMap<unknown>

Inherited from

SurfaceElementModel.yMap

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:43

Accessors

color

Defined in

packages/affine/model/src/elements/shape/shape.ts:105


connectable

Get Signature

get connectable(): boolean

Returns

boolean

Inherited from

SurfaceElementModel.connectable

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:44


deserializedXYWH

Get Signature

get deserializedXYWH(): XYWH

Returns

XYWH

Inherited from

SurfaceElementModel.deserializedXYWH

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:45


display

Inherited from

SurfaceElementModel.display

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:93


elementBound

Get Signature

get elementBound(): Bound

The bound of the element after rotation. The bound without rotation should be created by Bound.deserialize(this.xywh).

Returns

Bound

Inherited from

SurfaceElementModel.elementBound

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:50


externalBound

Get Signature

get externalBound(): null | Bound

Returns

null | Bound

Inherited from

SurfaceElementModel.externalBound

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:51


externalXYWH

In some cases, you need to draw something related to the element, but it does not belong to the element itself. And it is also interactive, you can select element by clicking on it. E.g. the title of the group element. In this case, we need to store this kind of external xywh in order to do hit test. This property should not be synced to the doc. This property should be updated every time it gets rendered.

Inherited from

SurfaceElementModel.externalXYWH

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:100


fillColor

Defined in

packages/affine/model/src/elements/shape/shape.ts:108


filled

Defined in

packages/affine/model/src/elements/shape/shape.ts:111


fontFamily

Defined in

packages/affine/model/src/elements/shape/shape.ts:114


fontSize

Defined in

packages/affine/model/src/elements/shape/shape.ts:117


fontStyle

Defined in

packages/affine/model/src/elements/shape/shape.ts:120


fontWeight

Defined in

packages/affine/model/src/elements/shape/shape.ts:123


group

Get Signature

get group(): null | GfxGroupModel

Returns

null | GfxGroupModel

Inherited from

SurfaceElementModel.group

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:52


groups

Get Signature

get groups(): GfxGroupModel[]

Return the ancestor elements in order from the most recent to the earliest.

Returns

GfxGroupModel[]

Inherited from

SurfaceElementModel.groups

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:56


h

Get Signature

get h(): number

Returns

number

Inherited from

SurfaceElementModel.h

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:57


hidden

Inherited from

SurfaceElementModel.hidden

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:101


id

Get Signature

get id(): string

Returns

string

Inherited from

SurfaceElementModel.id

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:58


index

Inherited from

SurfaceElementModel.index

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:102


isConnected

Get Signature

get isConnected(): boolean

Returns

boolean

Inherited from

SurfaceElementModel.isConnected

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:59


lockedBySelf

Indicates whether the current block is explicitly locked by self. For checking the lock status of the element, use isLocked instead. For (un)locking the element, use (un)lock instead.

Inherited from

SurfaceElementModel.lockedBySelf

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:103


maxWidth

Defined in

packages/affine/model/src/elements/shape/shape.ts:126


opacity

Inherited from

SurfaceElementModel.opacity

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:104


padding

Defined in

packages/affine/model/src/elements/shape/shape.ts:129


radius

Defined in

packages/affine/model/src/elements/shape/shape.ts:135


responseBound

Get Signature

get responseBound(): Bound

The bound of the element considering the response extension.

Returns

Bound

Inherited from

SurfaceElementModel.responseBound

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:60


responseExtension

Defines the extension of the response area beyond the element's bounding box. This tuple specifies the horizontal and vertical margins to be added to the element's bound.

The first value represents the horizontal extension (added to both left and right sides), and the second value represents the vertical extension (added to both top and bottom sides).

The response area is computed as: [x - horizontal, y - vertical, w + 2 * horizontal, h + 2 * vertical].

Example:

  • xywh: [0, 0, 100, 100], responseExtension: [10, 20] Resulting response area: [-10, -20, 120, 140].
  • responseExtension: [0, 0] keeps the response area equal to the bounding box.

Inherited from

SurfaceElementModel.responseExtension

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:105


rotate

Overrides

SurfaceElementModel.rotate

Defined in

packages/affine/model/src/elements/shape/shape.ts:138


roughness

Defined in

packages/affine/model/src/elements/shape/shape.ts:141


seed

Inherited from

SurfaceElementModel.seed

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:106


shadow

Defined in

packages/affine/model/src/elements/shape/shape.ts:144


shapeStyle

Defined in

packages/affine/model/src/elements/shape/shape.ts:158


shapeType

Defined in

packages/affine/model/src/elements/shape/shape.ts:161


strokeColor

Defined in

packages/affine/model/src/elements/shape/shape.ts:164


strokeStyle

Defined in

packages/affine/model/src/elements/shape/shape.ts:167


strokeWidth

Defined in

packages/affine/model/src/elements/shape/shape.ts:170


text

Defined in

packages/affine/model/src/elements/shape/shape.ts:173


textAlign

Defined in

packages/affine/model/src/elements/shape/shape.ts:176


textDisplay

Defined in

packages/affine/model/src/elements/shape/shape.ts:179


textHorizontalAlign

Defined in

packages/affine/model/src/elements/shape/shape.ts:182


textResizing

Defined in

packages/affine/model/src/elements/shape/shape.ts:185


textVerticalAlign

Defined in

packages/affine/model/src/elements/shape/shape.ts:188


type

Get Signature

get type(): string

Returns

string

Overrides

SurfaceElementModel.type

Defined in

packages/affine/model/src/elements/shape/shape.ts:69


w

Get Signature

get w(): number

Returns

number

Inherited from

SurfaceElementModel.w

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:62


x

Get Signature

get x(): number

Returns

number

Inherited from

SurfaceElementModel.x

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:63


xywh

Overrides

SurfaceElementModel.xywh

Defined in

packages/affine/model/src/elements/shape/shape.ts:191


y

Get Signature

get y(): number

Returns

number

Inherited from

SurfaceElementModel.y

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:64

Methods

containsBound()

containsBound(bounds): boolean

Parameters

bounds

Bound

Returns

boolean

Overrides

SurfaceElementModel.containsBound

Defined in

packages/affine/model/src/elements/shape/shape.ts:81


getLineIntersections()

getLineIntersections(start, end): null | PointLocation[]

Parameters

start

IVec

end

IVec

Returns

null | PointLocation[]

Overrides

SurfaceElementModel.getLineIntersections

Defined in

packages/affine/model/src/elements/shape/shape.ts:85


getNearestPoint()

getNearestPoint(point): IVec

Parameters

point

IVec

Returns

IVec

Overrides

SurfaceElementModel.getNearestPoint

Defined in

packages/affine/model/src/elements/shape/shape.ts:89


getRelativePointLocation()

getRelativePointLocation(point): PointLocation

Parameters

point

IVec

Returns

PointLocation

Overrides

SurfaceElementModel.getRelativePointLocation

Defined in

packages/affine/model/src/elements/shape/shape.ts:93


includesPoint()

includesPoint(x, y, options): boolean

Parameters

x

number

y

number

options

PointTestOptions

Returns

boolean

Overrides

SurfaceElementModel.includesPoint

Defined in

packages/affine/model/src/elements/shape/shape.ts:97


intersectsBound()

intersectsBound(bound): boolean

Parameters

bound

Bound

Returns

boolean

Inherited from

SurfaceElementModel.intersectsBound

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:82


isLocked()

isLocked(): boolean

Check if the element is locked. It will check the lock status of the element and its ancestors.

Returns

boolean

Inherited from

SurfaceElementModel.isLocked

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:83


isLockedByAncestor()

isLockedByAncestor(): boolean

Returns

boolean

Inherited from

SurfaceElementModel.isLockedByAncestor

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:84


isLockedBySelf()

isLockedBySelf(): boolean

Returns

boolean

Inherited from

SurfaceElementModel.isLockedBySelf

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:85


lock()

lock(): void

Returns

void

Inherited from

SurfaceElementModel.lock

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:86


onCreated()

onCreated(): void

Returns

void

Inherited from

SurfaceElementModel.onCreated

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:87


onDestroyed()

onDestroyed(): void

Returns

void

Inherited from

SurfaceElementModel.onDestroyed

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:88


pop()

pop(prop): void

Parameters

prop

string

Returns

void

Inherited from

SurfaceElementModel.pop

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:89


serialize()

serialize(): SerializedElement

Returns

SerializedElement

Inherited from

SurfaceElementModel.serialize

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:90


stash()

stash(prop): void

Parameters

prop

string

Returns

void

Inherited from

SurfaceElementModel.stash

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:91


unlock()

unlock(): void

Returns

void

Inherited from

SurfaceElementModel.unlock

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:92


propsToY()

static propsToY(props): ShapeProps

Parameters

props

ShapeProps

Returns

ShapeProps

Overrides

SurfaceElementModel.propsToY

Defined in

packages/affine/model/src/elements/shape/shape.ts:73