draw_sprite man page

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


#include <allegro.h>

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


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(3), draw_trans_sprite(3), draw_lit_sprite(3), draw_gouraud_sprite(3), stretch_sprite(3), rotate_sprite(3), draw_character_ex(3), draw_rle_sprite(3), draw_compiled_sprite(3), masked_blit(3), blit(3), bitmap_mask_color(3), exsprite(3)

Referenced By

blit(3), draw_character_ex(3), draw_compiled_sprite(3), draw_gouraud_sprite(3), draw_lit_sprite(3), draw_rle_sprite(3), draw_sprite_ex(3), draw_sprite_v_flip(3), draw_trans_sprite(3), exsprite(3), MASK_COLOR_8(3), masked_blit(3), rotate_sprite(3), stretch_sprite(3).

version 4.4.2 Allegro manual