Man Linux: Main Page and Category List

NAME

       draw_trans_sprite  -  Draws  a sprite blending it with the destination.
       Allegro game programming library.

SYNOPSIS

       #include <allegro.h>

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

DESCRIPTION

       Uses the global color_map  table  or  truecolor  blender  functions  to
       overlay the sprite on top of the existing image. This must only be used
       after you have set up the color mapping table (for 256-color modes)  or
       blender functions (for truecolor modes). Because it involves reading as
       well as writing the bitmap memory, translucent drawing is very slow  if
       you  draw  directly to video RAM, so wherever possible you should use a
       memory bitmap instead. Example:

          /* Some one time initialisation code. */
          COLOR_MAP global_trans_table;
          create_trans_table(&global_trans_table, my_palette,
                             128, 128, 128, NULL);
          ...
          if (get_color_depth() == 8)
             color_map = &global_trans_table;
          else
             set_trans_blender(128, 128, 128, 128);

          draw_trans_sprite(buffer, ghost_sprite, x, y);

       The bitmap and sprite must normally be in the same color depth, but  as
       a special case you can draw 32 bit RGBA format sprites onto any hicolor
       or truecolor bitmap, as long as you call set_alpha_blender() first, and
       you can draw 8-bit alpha images onto a 32-bit RGBA destination, as long
       as you call  set_write_alpha_blender()  first.  As  draw_sprite()  this
       function  skips  transparent  pixels, except if the source sprite is an
       8-bit image; if this is the case, you should pay attention to  properly
       set up your color map table for index 0.

SEE ALSO

       draw_sprite(3alleg),                           draw_lit_sprite(3alleg),
       draw_trans_rle_sprite(3alleg),                       color_map(3alleg),
       set_trans_blender(3alleg),                   set_alpha_blender(3alleg),
       set_write_alpha_blender(3alleg),             bitmap_mask_color(3alleg),
       exalpha(3alleg),  exblend(3alleg),  exlights(3alleg),  extrans(3alleg),
       exxfade(3alleg)