1. package Allegro.Sprites.RLE is 
  2.  
  3.     -- Allegro 4.2.2 - RLE Sprites 
  4.     -- This package is complete 
  5.  
  6.     type RLE_Sprite is private; 
  7.     type A_RLE_Sprite is access all RLE_Sprite; 
  8.  
  9.     ---------------------------------------------------------------------------- 
  10.  
  11.     function Get_RLE_Sprite( bmp : not null A_Bitmap ) return A_RLE_Sprite; 
  12.  
  13.     procedure Destroy_RLE_Sprite( sprite : in out A_RLE_Sprite ); 
  14.  
  15.     procedure Draw_RLE_Sprite( bmp    : not null A_Bitmap; 
  16.                                sprite : not null A_RLE_Sprite; 
  17.                                x, y   : Integer ); 
  18.  
  19.     procedure Draw_Trans_RLE_Sprite( bmp    : not null A_Bitmap; 
  20.                                      sprite : not null A_RLE_Sprite; 
  21.                                      x, y   : Integer ); 
  22.  
  23.     procedure Draw_Lit_RLE_Sprite( bmp    : not null A_Bitmap; 
  24.                                    sprite : not null A_RLE_Sprite; 
  25.                                    x, y   : Integer; 
  26.                                    color  : Color_Type ); 
  27.  
  28. private 
  29.  
  30.     type RLE_Sprite is 
  31.         record 
  32.             width, 
  33.             height, 
  34.             color_depth, 
  35.             size        : Integer; 
  36.             dat         : Address; 
  37.        end record; 
  38.     pragma Convention( C, RLE_Sprite ); 
  39.  
  40.     ---------------------------------------------------------------------------- 
  41.  
  42.     pragma Import( C, Get_RLE_Sprite, "get_rle_sprite" ); 
  43.     pragma Import( C, Draw_RLE_Sprite, "draw_rle_sprite" ); 
  44.     pragma Import( C, Draw_Trans_RLE_Sprite, "draw_trans_rle_sprite" ); 
  45.     pragma Import( C, Draw_Lit_RLE_Sprite, "draw_lit_rle_sprite" ); 
  46.  
  47. end Allegro.Sprites.RLE;