RAnchor
class RAnchor()
An anchor object. This object is almost always
created with BaseGlyph.appendAnchor
.
An orphan anchor can be created like this:
>>> anchor = RAnchor()
changed()
Tell the environment that something has changed in the object. The behavior of this method will vary from environment to environment. :
obj.changed()
addObserver(observer, methodName, notification)
Add an observer object. that will receive notification for the given methodName.
getRepresentation(name, **kwargs)
Get a representation by name.
Optionally arguments could be provided if the representation factory requires arguments.
undo(undoTitle='')
Capture the current state of the object and create a undo item in a with
statement.
Optionally an undoTitle
can be provided.
color
The anchor’s color. This will be a
color
or None
. :
>>> anchor.color
None
>>> anchor.color = (1, 0, 0, 0.5)
index
The index of the anchor within the ordered list of the parent glyph’s anchors. This attribute is read only. :
>>> anchor.index
0
name
The name of the anchor. This will be a
string
or None
.
>>> anchor.name
'my anchor'
>>> anchor.name = None
x
The x coordinate of the anchor.
It must be an integer/float
. :
>>> anchor.x
100
>>> anchor.x = 101
y
The y coordinate of the anchor.
It must be an integer/float
. :
>>> anchor.y
100
>>> anchor.y = 101
isCompatible(other)
Evaluate interpolation compatibility with other. :
>>> compatible, report = self.isCompatible(otherAnchor)
>>> compatible
True
>>> compatible
[Warning] Anchor: "left" + "right"
[Warning] Anchor: "left" has name left | "right" has name right
This will return a bool
indicating if the anchor is
compatible for interpolation with other and a
string
of compatibility notes.
moveBy(value)
Move the object.
>>> obj.moveBy((10, 0))
value must be an iterable containing two
integer/float
values defining the x and y
values to move the object by.
rotateBy(value, origin=None)
Rotate the object.
>>> obj.rotateBy(45)
>>> obj.rotateBy(45, origin=(500, 500))
value must be a integer/float
values
defining the angle to rotate the object by. origin
defines the point at with the rotation should originate.
It must be a coordinate
or None
.
The default is (0, 0)
.
scaleBy(value, origin=None)
Scale the object.
>>> obj.scaleBy(2.0)
>>> obj.scaleBy((0.5, 2.0), origin=(500, 500))
value must be an iterable containing two
integer/float
values defining the x and y
values to scale the object by. origin defines the
point at with the scale should originate. It must be
a coordinate
or None
. The default is
(0, 0)
.
skewBy(value, origin=None)
Skew the object.
>>> obj.skewBy(11)
>>> obj.skewBy((25, 10), origin=(500, 500))
value must be rone of the following:
- single
integer/float
indicating the value to skew the x direction by. - iterable cointaining type
integer/float
defining the values to skew the x and y directions by.
origin defines the point at with the skew should
originate. It must be a coordinate
or
None
. The default is (0, 0)
.
transformBy(matrix, origin=None)
Transform the object.
>>> obj.transformBy((0.5, 0, 0, 2.0, 10, 0))
>>> obj.transformBy((0.5, 0, 0, 2.0, 10, 0), origin=(500, 500))
matrix must be a transformation
.
origin defines the point at with the transformation
should originate. It must be a coordinate
or None
. The default is (0, 0)
.