Man Linux: Main Page and Category List

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(3alleg),     masked_stretch_blit(3alleg),     draw_sprite(3alleg),
       bitmap_mask_color(3alleg), ex12bit(3alleg), expat(3alleg)