PrevUpNext devguide-13.htmlThe class HierarchyNode 
devguide-9.htmlThe Document and Graphics Classes devguide-15.htmlThe class Selectable The class Protocols
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_propertiesTrue, iff object can have properties. If true, the object must
implement the methods
AddStyle,
Properties,
SetProperties, 
ObjectChanged and 
ObjectRemoved. 
The class devguide-16.html#N2Primitive  provides this interface.
has_fillTrue, 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 devguide-16.html#N2Primitive  provides this interface.
has_lineTrue, 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 devguide-16.html#N2Primitive  provides this interface.
has_fontTrue, iff object can have a font. If true, has_propertiesmust also be true. In addition, the method 
SetProperties must accept the font properties.
is_Bezieris_Rectangleis_Ellipseis_Textis_Imageis_EpsIndicate the type of object.
is_CompoundTrue, iff the object is a compound object.
is_GroupTrue, 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_BlendTrue, iff the object is a blend group.
is_curveTrue, iff the object can be converted to a PolyBezier object. If true, the object must implement
the methods 
devguide-11.html#N6AsBezier  and Paths.
Skencil 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_clipTrue, iff the object may be used as a clip mask. If true, the
methods 
devguide-15.html#N5Hit  and devguide-11.html#N9DrawShape  must
accept an additional boolean parameter 
clip indicating
whether the object is used as a clip mask.
devguide-13.htmlThe class HierarchyNode 
devguide-9.htmlThe Document and Graphics Classes devguide-15.htmlThe class Selectable PrevUpNext