Item classes may need to define any of the following methods to override the default behavior in ComplexItem.
aspect id canvas slate ?aspect? ...
aspect
is a named point on an item, such as
"origin" or "center" or "ne." The aspects of an item is entirely up to
this method. If there is no aspect
method (the default),
the Slate attempts to do something sensible with an item based on its
shape; an item class thus need only define this method if it
needs something usual. If no aspects are given, this method must
return a list of aspects that it understands.
component id canvas slate ?name? ...
name
argument, return a list of components in the
item. If one or more names are given, return the named components.
This method is similar to the aspect
method, except that
an item is returned instead of coordinates. If there is no
component
method (the default), the Slate attempts to
find components by poking around inside the item classes common
variables.
construct id canvas slate tags x0 y1 ...
-option value ...
deform id canvas slate x y ?aspect? ...
x
and y
coordinates. This is a slightly higher-level interface than
coords
, and gives the item class the opportunity to
perform resizing more efficiently (if it wants to).
destruct id canvas slate
coords id canvas slate ?x0 y0 ...?
ghost id canvas slate
region id canvas slate ?x0 y0 x1 y1?
coords
, except that it treats every item as though
it were rectangular. Because the Slate provides a reasonable
implementation of region
in terms of coords
,
item classes generally do not need to provide this method.
transform id canvas slate type ?specs?
type
on
the item. The transformations allowed depend entirely
upon the item class.