Provided by: allegro4-doc_4.4.2-10_all bug

NAME

       masked_blit  -  Copies  a  rectangle  skipping  pixels  with  the mask color. Allegro game
       programming library.

SYNOPSIS

       #include <allegro.h>

       void masked_blit(BITMAP *source, BITMAP *dest, int source_x, int source_y, int dest_x, int
       dest_y, int width, int height);

DESCRIPTION

       Like  blit(),  but skips transparent pixels, which are marked by a zero in 256-color modes
       or bright pink for truecolor data (maximum red and blue, zero  green),  and  requires  the
       source  and  destination bitmaps to be of the same color depth. The source and destination
       regions must not overlap.  Example:

          BITMAP *hud_overlay;
          ...
          /* Paint hud overlay on the screen. */
          masked_blit(hud_overlay, screen, 0, 0, 0, 0,
                      hud_overlay->w, hud_overlay->h);

       If the GFX_HW_VRAM_BLIT_MASKED bit in the gfx_capabilities flag is set, the current driver
       supports  hardware accelerated masked blits from one part of the screen onto another. 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, masked_blit() will not work
       correctly when used with a source image in system or video memory so the latter must be  a
       memory bitmap.

SEE ALSO

       blit(3alleg4),             masked_stretch_blit(3alleg4),             draw_sprite(3alleg4),
       bitmap_mask_color(3alleg4), ex12bit(3alleg4), expat(3alleg4)