Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
draw_trans_sprite(3)		Allegro	manual		  draw_trans_sprite(3)

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

       #include	<allegro.h>

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

       Uses the	global color_map table or truecolor blender functions to over-
       lay the sprite on top of	the existing image. This must only be used af-
       ter 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;
	     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.

       draw_sprite(3),	    draw_lit_sprite(3),	     draw_trans_rle_sprite(3),
       color_map(3), set_trans_blender(3), set_alpha_blender(3), set_write_al-
       pha_blender(3),	 bitmap_mask_color(3),	 exalpha(3),  exblend(3),  ex-
       lights(3), exrotscl(3), extrans(3), exxfade(3)

Allegro				 version 4.4.3		  draw_trans_sprite(3)


Want to link to this manual page? Use this URL:

home | help