Skip to content

BlockSuite API Documentation / @blocksuite/blocks / BrushElementModel

Class: BrushElementModel

Extends

Constructors

new BrushElementModel(options)

new BrushElementModel(options): BrushElementModel

Parameters

options

options.model: SurfaceBlockModel

options.onChange

options.stashedStore: Map<unknown, unknown>

options.yMap: Map<unknown>

Returns

BrushElementModel

Inherited from

ElementModel.constructor

Source

packages/blocks/src/surface-block/element-model/base.ts:113

Properties

_disposable

protected _disposable: DisposableGroup

Inherited from

ElementModel._disposable

Source

packages/blocks/src/surface-block/element-model/base.ts:72


_local

protected _local: Map<string | symbol, unknown>

Inherited from

ElementModel._local

Source

packages/blocks/src/surface-block/element-model/base.ts:67


_onChange

protected _onChange: (payload) => void

Parameters

payload

payload.oldValues: Record<string, unknown>

payload.props: Record<string, unknown>

Returns

void

Inherited from

ElementModel._onChange

Source

packages/blocks/src/surface-block/element-model/base.ts:68


_preserved

protected _preserved: Map<string, unknown>

When the ymap is not connected to the doc, its value cannot be read. But we need to use those value during the creation, so the yfied decorated field's value will be stored in this map too during the creation.

After the ymap is connected to the doc, this map will be cleared.

Inherited from

ElementModel._preserved

Source

packages/blocks/src/surface-block/element-model/base.ts:65


_stashed

protected _stashed: Map<string, unknown>

Inherited from

ElementModel._stashed

Source

packages/blocks/src/surface-block/element-model/base.ts:66


color

color: string = '#000000'

Source

packages/blocks/src/surface-block/element-model/brush.ts:95


display

display: boolean = true

Inherited from

ElementModel.display

Source

packages/blocks/src/surface-block/element-model/base.ts:90


externalXYWH

externalXYWH: undefined | `[${number},${number},${number},${number}]` = undefined

Inherited from

ElementModel.externalXYWH

Source

packages/blocks/src/surface-block/element-model/base.ts:99


index

index: string

Inherited from

ElementModel.index

Source

packages/blocks/src/surface-block/element-model/base.ts:84


lineWidth

lineWidth: number = 4

Source

packages/blocks/src/surface-block/element-model/brush.ts:137


opacity

opacity: number = 1

Inherited from

ElementModel.opacity

Source

packages/blocks/src/surface-block/element-model/base.ts:93


points

points: number[][] = []

Source

packages/blocks/src/surface-block/element-model/brush.ts:64


rotate

rotate: number = 0

Overrides

ElementModel.rotate

Source

packages/blocks/src/surface-block/element-model/brush.ts:92


seed

seed: number

Inherited from

ElementModel.seed

Source

packages/blocks/src/surface-block/element-model/base.ts:87


surface

surface: SurfaceBlockModel

Inherited from

ElementModel.surface

Source

packages/blocks/src/surface-block/element-model/base.ts:75


xywh

xywh: `[${number},${number},${number},${number}]` = '[0,0,0,0]'

Overrides

ElementModel.xywh

Source

packages/blocks/src/surface-block/element-model/brush.ts:89


yMap

yMap: Map<unknown>

Inherited from

ElementModel.yMap

Source

packages/blocks/src/surface-block/element-model/base.ts:74

Accessors

commands

get commands(): string

The SVG path commands for the brush.

Returns

string

Source

packages/blocks/src/surface-block/element-model/brush.ts:100


connectable

get connectable(): boolean

Returns

boolean

Source

packages/blocks/src/surface-block/element-model/brush.ts:139


deserializedXYWH

get deserializedXYWH(): XYWH

Returns

XYWH

Source

packages/blocks/src/surface-block/element-model/base.ts:141


elementBound

get elementBound(): Bound

Returns

Bound

Source

packages/blocks/src/surface-block/element-model/base.ts:179


externalBound

get externalBound(): null | Bound

Returns

null | Bound

Source

packages/blocks/src/surface-block/element-model/base.ts:101


group

get group(): null | GroupElementModel

Returns

null | GroupElementModel

Source

packages/blocks/src/surface-block/element-model/base.ts:167


groups

get groups(): GroupElementModel[]

Returns

GroupElementModel[]

Source

packages/blocks/src/surface-block/element-model/base.ts:171


h

get h(): number

Returns

number

Source

packages/blocks/src/surface-block/element-model/base.ts:163


id

get id(): string

Returns

string

Source

packages/blocks/src/surface-block/element-model/base.ts:175


type

get type(): string

Returns

string

Source

packages/blocks/src/surface-block/element-model/brush.ts:143


w

get w(): number

Returns

number

Source

packages/blocks/src/surface-block/element-model/base.ts:159


x

get x(): number

Returns

number

Source

packages/blocks/src/surface-block/element-model/base.ts:151


y

get y(): number

Returns

number

Source

packages/blocks/src/surface-block/element-model/base.ts:155

Methods

boxSelect()

boxSelect(bound): boolean

Parameters

bound: Bound

Returns

boolean

Inherited from

ElementModel.boxSelect

Source

packages/blocks/src/surface-block/element-model/base.ts:275


containedByBounds()

containedByBounds(bounds): boolean

Parameters

bounds: Bound

Returns

boolean

Overrides

ElementModel.containedByBounds

Source

packages/blocks/src/surface-block/element-model/brush.ts:158


getNearestPoint()

getNearestPoint(point): IVec2

Parameters

point: IVec2

Returns

IVec2

Overrides

ElementModel.getNearestPoint

Source

packages/blocks/src/surface-block/element-model/brush.ts:163


getRelativePointLocation()

getRelativePointLocation(position): PointLocation

Parameters

position: IVec2

Returns

PointLocation

Overrides

ElementModel.getRelativePointLocation

Source

packages/blocks/src/surface-block/element-model/brush.ts:201


hitTest()

hitTest(px, py, options?): boolean

Parameters

px: number

py: number

options?: HitTestOptions

Returns

boolean

Overrides

ElementModel.hitTest

Source

packages/blocks/src/surface-block/element-model/brush.ts:147


intersectWithLine()

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

Parameters

start: IVec2

end: IVec2

Returns

null | PointLocation[]

Overrides

ElementModel.intersectWithLine

Source

packages/blocks/src/surface-block/element-model/brush.ts:172


pop()

pop(prop): void

Parameters

prop: string

Returns

void

Inherited from

ElementModel.pop

Source

packages/blocks/src/surface-block/element-model/base.ts:226


serialize()

serialize(): Object

Returns

Object

Inherited from

ElementModel.serialize

Source

packages/blocks/src/surface-block/element-model/base.ts:288


stash()

stash(prop): void

Parameters

prop: string

Returns

void

Inherited from

ElementModel.stash

Source

packages/blocks/src/surface-block/element-model/base.ts:187


propsToY()

static propsToY(props): BrushProps

Parameters

props: BrushProps

Returns

BrushProps

Overrides

ElementModel.propsToY

Source

packages/blocks/src/surface-block/element-model/brush.ts:35