draw_sprite_h_flip(3) Draws the sprite transformed to the destination bitmap. Allegro game programming library.

Other Alias

draw_sprite_v_flip, draw_sprite_vh_flip


#include <allegro.h>

void draw_sprite_v_flip(BITMAP *bmp, BITMAP *sprite, int x, int y);

void draw_sprite_h_flip(BITMAP *bmp, BITMAP *sprite, int x, int y);

void draw_sprite_vh_flip(BITMAP *bmp, BITMAP *sprite, int x, int y);


These are like draw_sprite(), but they additionally flip the image vertically, horizontally, or both, respectively. Flipping vertically means that the y-axis is reversed, while flipping horizontally means that the x-axis is reversed, between the source and the destination. This produces exact mirror images, which is not the same as rotating the sprite (and it is a lot faster than the rotation routine). The sprite must be a memory bitmap. Example:

   if (key[KEY_RIGHT])
      draw_sprite(screen, hero_right, pos_x, pos_y);
   else if (key[KEY_LEFT])
      draw_sprite_h_flip(screen, hero_right, pos_x, pos_y);
      draw_sprite(screen, hero_idle, pos_x, pos_y);