Scripted Shape Plug-ins

Scripted Shape plug-ins can only extend existing Shape plug-ins. A scripted Shape plug-in is declared by specifying the <superclass> as shape. If a create tool is specified, it will override the delegate's create tool.

Example:

plugin shape Extended_Rect

name:"Rectangle2"

classID:#(0x133067, 0x54375)

extends:rectangle version:1

category:"Splines"

(

fmax val1 val2 = if val1 > val2 then val1 else val2

tool create

(

local startPoint

on mousePoint click do

case click of

(

1: startPoint = nodeTM.translation = gridPoint

3: #stop

)

on mouseMove click do

case click of

(

2: (delegate.width= abs gridDist.x

delegate.length= abs gridDist.y

nodeTM.translation = startpoint + gridDist/2.

)

3: delegate.corner_radius = fmax 0 -gridDist.x

)

)

)

See also