package Allegro.Sprites.RLE is
type RLE_Sprite is private;
type A_RLE_Sprite is access all RLE_Sprite;
function Get_RLE_Sprite( bmp : not null A_Bitmap ) return A_RLE_Sprite;
procedure Destroy_RLE_Sprite( sprite : in out A_RLE_Sprite );
procedure Draw_RLE_Sprite( bmp : not null A_Bitmap;
sprite : not null A_RLE_Sprite;
x, y : Integer );
procedure Draw_Trans_RLE_Sprite( bmp : not null A_Bitmap;
sprite : not null A_RLE_Sprite;
x, y : Integer );
procedure Draw_Lit_RLE_Sprite( bmp : not null A_Bitmap;
sprite : not null A_RLE_Sprite;
x, y : Integer;
color : Color_Type );
private
type RLE_Sprite is
record
width,
height,
color_depth,
size : Integer;
dat : Address;
end record;
pragma Convention( C, RLE_Sprite );
pragma Import( C, Get_RLE_Sprite, "get_rle_sprite" );
pragma Import( C, Draw_RLE_Sprite, "draw_rle_sprite" );
pragma Import( C, Draw_Trans_RLE_Sprite, "draw_trans_rle_sprite" );
pragma Import( C, Draw_Lit_RLE_Sprite, "draw_lit_rle_sprite" );
end Allegro.Sprites.RLE;