BlockSuite API Documentation / @blocksuite/affine-block-surface / CommonUtils
Variable: CommonUtils
const
CommonUtils:object
Type declaration
almostEqual()
almostEqual: (
a
,b
,epsilon
?) =>boolean
Parameters
• a: number
• b: number
• epsilon?: number
Returns
boolean
clamp()
clamp: (
n
,min
,max
?) =>number
Parameters
• n: number
• min: number
• max?: number
Returns
number
generateElementId()
generateElementId: () =>
string
Returns
string
generateKeyBetween()
generateKeyBetween: (
a
,b
,digits
?) =>string
Parameters
• a: undefined
| null
| string
• b: undefined
| null
| string
• digits?: string
Returns
string
getPointFromBoundsWithRotation()
getPointFromBoundsWithRotation: (
bounds
,point
) =>IVec
Parameters
• bounds: IBound
• point: IVec
Returns
IVec
getStroke()
getStroke: (
points
,options
?) =>IVec
[]
getStroke
Parameters
• points: (IVec
| IVec3
| object
)[]
An array of points (as [x, y, pressure]
or {x, y, pressure}
). Pressure is optional in both cases.
• options?: StrokeOptions
(optional) An object with options.
Returns
IVec
[]
Description
Get an array of points describing a polygon that surrounds the input points.
getSvgPathFromStroke()
getSvgPathFromStroke: (
points
,closed
?) =>string
Parameters
• points: IVec
[]
• closed?: boolean
Returns
string
intersects()
intersects: (
a
,b
) =>boolean
Parameters
• a: IBound
• b: IBound
Returns
boolean
isOverlap()
isOverlap: (
line1
,line2
,axis
,strict
?) =>boolean
Parameters
• line1: IVec
[]
• line2: IVec
[]
• axis: 0
| 1
• strict?: boolean
Returns
boolean
isPointIn()
isPointIn: (
a
,x
,y
) =>boolean
Parameters
• a: IBound
• x: number
• y: number
Returns
boolean
lineIntersects()
lineIntersects: (
sp
,ep
,sp2
,ep2
,infinite
?) =>IVec
|null
Parameters
• sp: IVec
• ep: IVec
• sp2: IVec
• ep2: IVec
• infinite?: boolean
Returns
IVec
| null
linePolygonIntersects()
linePolygonIntersects: (
sp
,ep
,points
) =>PointLocation
[] |null
Parameters
• sp: IVec
• ep: IVec
• points: IVec
[]
Returns
PointLocation
[] | null
normalizeDegAngle()
normalizeDegAngle: (
angle
) =>number
Parameters
• angle: number
Returns
number
normalizeWheelDeltaY()
normalizeWheelDeltaY: (
delta
,zoom
) =>number
Normalizes wheel delta.
See https://stackoverflow.com/a/13650579
From https://github.com/excalidraw/excalidraw/blob/master/src/components/App.tsx MIT License
Parameters
• delta: number
• zoom: number
= 1
Returns
number
polygonGetPointTangent()
polygonGetPointTangent: (
points
,point
) =>IVec
Parameters
• points: IVec
[]
• point: IVec
Returns
IVec
polygonNearestPoint()
polygonNearestPoint: (
points
,point
) =>IVec
Parameters
• points: IVec
[]
• point: IVec
Returns
IVec
polygonPointDistance()
polygonPointDistance: (
points
,point
) =>number
Parameters
• points: IVec
[]
• point: IVec
Returns
number
polyLineNearestPoint()
polyLineNearestPoint: (
points
,point
) =>IVec
Parameters
• points: IVec
[]
• point: IVec
Returns
IVec
rotatePoints()
rotatePoints: <
T
>(points
,center
,rotate
) =>T
[]
Type Parameters
• T extends IVec
Parameters
• points: T
[]
• center: IVec
• rotate: number
Returns
T
[]
sign()
sign: (
number
) =>1
|-1
Parameters
• number: number
Returns
1
| -1
toDegree()
toDegree: (
radian
) =>number
Parameters
• radian: number
Returns
number
toRadian()
toRadian: (
angle
) =>number
Parameters
• angle: number
Returns
number
Defined in
packages/affine/block-surface/src/index.ts:120