Provided by: allegro4-doc_4.4.3.1-4.1build3_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)