al_draw_rotated_bitmap(1) Allegro 5 API


#include <allegro5/allegro.h>
void al_draw_rotated_bitmap(ALLEGRO_BITMAP *bitmap,
   float cx, float cy, float dx, float dy, float angle, int flags)


Draws a rotated version of the given bitmap to the target bitmap. The bitmap is rotated by 'angle' radians clockwise.

The point at cx/cy relative to the upper left corner of the bitmap will be drawn at dx/dy and the bitmap is rotated around this point. If cx,cy is 0,0 the bitmap will rotate around its upper left corner.

  • cx - center x (relative to the bitmap)
  • cy - center y (relative to the bitmap)
  • dx - destination x
  • dy - destination y
  • angle - angle by which to rotate (radians)
  • flags - same as for al_draw_bitmap(3alleg5)


float w = al_get_bitmap_width(bitmap);
float h = al_get_bitmap_height(bitmap);
al_draw_rotated_bitmap(bitmap, w / 2, h / 2, x, y, ALLEGRO_PI / 2, 0);

The above code draws the bitmap centered on x/y and rotates it 90° clockwise.

See al_draw_bitmap(3alleg5) for a note on restrictions on which bitmaps can be drawn where.