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 \[aq]angle\[aq] 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)
Example
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.
al_draw_bitmap(3alleg5), al_draw_bitmap_region(3alleg5), al_draw_scaled_bitmap(3alleg5), al_draw_scaled_rotated_bitmap(3alleg5)