Man Linux: Main Page and Category List

NAME

       draw_sprite  -  Draws a copy of the sprite onto the destination bitmap.
       Allegro game programming library.

SYNOPSIS

       #include <allegro.h>

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

DESCRIPTION

       Draws a copy of the sprite bitmap onto the destination  bitmap  at  the
       specified  position. This is almost the same as blit(sprite, bmp, 0, 0,
       x, y, sprite->w, sprite->h), but it uses a masked  drawing  mode  where
       transparent  pixels  are  skipped,  so  the  background image will show
       through the masked parts of the sprite. Transparent pixels  are  marked
       by a zero in 256-color modes or bright pink for truecolor data (maximum
       red and blue, zero green). Example:

          BITMAP *spaceship;
          ...
          draw_sprite(screen, spaceship, x, y);

       If the GFX_HW_VRAM_BLIT_MASKED bit in the gfx_capabilities flag is set,
       the  current  driver  supports hardware accelerated sprite drawing when
       the source image is a video  memory  bitmap  or  a  sub-bitmap  of  the
       screen.  This  is  extremely  fast,  so when this flag is set it may be
       worth storing some of your more frequently used sprites in an offscreen
       portion of the video memory.

       Warning:  if  the  hardware acceleration flag is not set, draw_sprite()
       will not work correctly when used with a  sprite  image  in  system  or
       video memory so the latter must be a memory bitmap.

       Although  generally not supporting graphics of mixed color depths, as a
       special case this function can be used to draw 256-color source  images
       onto  truecolor  destination bitmaps, so you can use palette effects on
       specific sprites within a truecolor program.

SEE ALSO

       draw_sprite_v_flip(3alleg),                  draw_trans_sprite(3alleg),
       draw_lit_sprite(3alleg),                   draw_gouraud_sprite(3alleg),
       stretch_sprite(3alleg),                          rotate_sprite(3alleg),
       draw_character_ex(3alleg),                     draw_rle_sprite(3alleg),
       draw_compiled_sprite(3alleg),    masked_blit(3alleg),     blit(3alleg),
       bitmap_mask_color(3alleg), exsprite(3alleg)