.. _rotate:
.. _norotate:
.. _controtate:
.. _mouserotate:
.. _rotationspeed:
.. _autorotate:
.. _fastrotate:

.. index::
   pair: menu; Rotation
   pair: command line option; fastrotate
   pair: command; fastrotate
   pair: menu item; Continuous rotation
   pair: command line option; autorotate
   pair: command; autorotate
   pair: menu item; Rotation speed
   pair: command line option; rotationspeed
   pair: command; rotationspeed


Image rotation
==============

XaoS has support for rotation of the image to any angle. By default, changing
the angle requires recalculation of the whole screen, but when **fast rotation
mode** is enabled, the angle can be changed smoothly. In this mode XaoS
calculates a larger non-rotated image and rotates it when needed, so it
increases memory requirements and slows XaoS down; hence, it should be disabled
when rotation is not being used.

The user interface provides two rotation modes--**rotate by mouse** which
allows the angle to be changed by dragging with the first mouse button
depressed, and **continuous rotation mode**, where the image is rotated
clockwise continuously, and the arrow keys can be used to change the rotiation
speed.

**Syntax**:(fastrotate bool)

This function is used to enable and disable fast rotation mode. 

**Available as**: command line option, command

Automatic rotation
------------------

**Syntax**:(autorotate bool)

Use this function to enable continuous rotation. In the scripting language you
can also use :ref:`morphangle <morphangle>` to get an outwardly similar but
more controllable effect.

**Syntax**:(rotationspeed float)

Specify the speed of continuous rotation, in degrees per second. Negative
values are allowed and rotate anticlockwise.

**Available as**: menu item, command line option, command
