RImage
class RImage()
This adds a position
attribute as a dyanmicProperty,
for use as a mixin with objects that have x
and y
attributes.
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 image’s color. This will be a
color
or None
. :
>>> image.color
None
>>> image.color = (1, 0, 0, 0.5)
offset
The image’s offset. This is a shortcut to the offset
values in transformation
. This must be an
iterable containing two integer/float
values
defining the x and y values to offset the image by. :
>>> image.offset
(0, 0)
>>> image.offset = (100, -50)
scale
The image’s scale. This is a shortcut to the scale
values in transformation
. This must be an
iterable containing two integer/float
values
defining the x and y values to scale the image by. :
>>> image.scale
(1, 1)
>>> image.scale = (2, 2)
transformation
The image’s transformation
.
This defines the image’s position, scale,
and rotation. :
>>> image.transformation
(1, 0, 0, 1, 0, 0)
>>> image.transformation = (2, 0, 0, 2, 100, -50)
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)
.