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