The class HierarchyNode | The Document and Graphics Classes | The class Selectable |
While sharing a common interface, the various types of graphics objects
provide a variety of additional capabilities and interfaces. The class
Protocols defines some flags that indicate the presence of certain
standard extensions. These flags are boolean class variables with names
of the form `is_
*' or `has_
*'. By default all of these flags
are false. Derived classes are expected to set the appropriate flags.
The standard flags are:
has_properties
True, iff object can have properties. If true, the object must implement the methods AddStyle, Properties, SetProperties, ObjectChanged and ObjectRemoved.
The class Primitive provides this interface.
has_fill
True, iff object can have fill properties. If true,
has_properties
must also be true. In addition, the object
must implement the method Filled and the method
SetProperties must accept the fill properties.
The class Primitive provides this interface.
has_line
True, iff object can have line properties. If true,
has_properties
must also be true. In addition, the object
must implement the method LineWidth and the
method SetProperties must accept the line
properties.
The class Primitive provides this interface.
has_font
True, iff object can have a font. If true, has_properties
must also be true. In addition, the method SetProperties must accept the font properties.
is_Bezier
is_Rectangle
is_Ellipse
is_Text
is_Image
is_Eps
Indicate the type of object.
is_Compound
True, iff the object is a compound object.
is_Group
True, iff the object is a group. A group is a compound object. A group object can be ungrouped, that is, the user can issue a command that replaces the group with its children, which become direct children of the group's parent. To this end, a group must provide the method Ungroup. (see the document method UngroupSelected)
is_Blend
True, iff the object is a blend group.
is_curve
True, iff the object can be converted to a PolyBezier object. If true, the object must implement the methods AsBezier and Paths.
Sketch treats the PolyBezier as a kind of `common denominator' for blending. For instance, if you try to blend a rectangle and an ellipse, both are converted to beziers and the beziers are blended.
is_clip
True, iff the object may be used as a clip mask. If true, the
methods Hit and DrawShape must
accept an additional boolean parameter clip
indicating
whether the object is used as a clip mask.
The class HierarchyNode | The Document and Graphics Classes | The class Selectable |