with Allegro.Bitmaps; use Allegro.Bitmaps;
with Allegro.Fixed_Point_Math; use Allegro.Fixed_Point_Math;
with Allegro.Truecolor; use Allegro.Truecolor;
package Allegro.Sprites is
procedure Blit( source,
dest : not null A_Bitmap;
source_x,
source_y,
dest_x,
dest_y : Integer;
width,
height : Natural );
procedure Draw_Character_Ex( bmp,
sprite : not null A_Bitmap;
x, y : Integer;
color,
bg : Color_Type );
procedure Draw_Gouraud_Sprite( bmp,
sprite : not null A_Bitmap;
x, y,
c1, c2, c3, c4 : Color_Type );
procedure Draw_Lit_Sprite( bmp,
sprite : not null A_Bitmap;
x, y : Integer;
color : Color_Type );
procedure Draw_Sprite( bmp, sprite : not null A_Bitmap; x, y : Integer );
procedure Draw_Sprite_H_Flip( bmp, sprite : not null A_Bitmap; x, y : Integer );
procedure Draw_Sprite_V_Flip( bmp, sprite : not null A_Bitmap; x, y : Integer );
procedure Draw_Sprite_VH_Flip( bmp, sprite : not null A_Bitmap; x, y : Integer );
procedure Draw_Trans_Sprite( bmp, sprite : not null A_Bitmap; x, y : Integer );
procedure Masked_Blit( source,
dest : not null A_Bitmap;
source_x,
source_y,
dest_x,
dest_y : Integer;
width,
height : Natural );
procedure Masked_Stretch_Blit( source,
dest : not null A_Bitmap;
source_x,
source_y : Integer;
source_w,
source_h : Natural;
dest_x,
dest_y : Integer;
dest_w,
dest_h : Natural );
procedure Pivot_Scaled_Sprite( bmp,
sprite : not null A_Bitmap;
x, y,
cx, cy : Integer;
angle,
scale : Fixed );
procedure Pivot_Scaled_Sprite_V_Flip( bmp,
sprite : not null A_Bitmap;
x, y,
cx, cy : Integer;
angle,
scale : Fixed );
procedure Pivot_Sprite( bmp,
sprite : not null A_Bitmap;
x, y,
cx, cy : Integer;
angle : Fixed );
procedure Pivot_Sprite_V_Flip( bmp,
sprite : not null A_Bitmap;
x, y,
cx, cy : Integer;
angle : Fixed );
procedure Rotate_Scaled_Sprite( bmp,
sprite : not null A_Bitmap;
x, y : Integer;
angle,
scale : Fixed );
procedure Rotate_Scaled_Sprite_V_Flip( bmp,
sprite : not null A_Bitmap;
x, y : Integer;
angle,
scale : Fixed );
procedure Rotate_Sprite( bmp,
sprite : not null A_Bitmap;
x, y : Integer;
angle : Fixed );
procedure Rotate_Sprite_V_Flip( bmp,
sprite : not null A_Bitmap;
x, y : Integer;
angle : Fixed );
procedure Stretch_Blit( source,
dest : not null A_Bitmap;
source_x,
source_y : Integer;
source_width,
source_height : Natural;
dest_x,
dest_y : Integer;
dest_width,
dest_height : Natural );
procedure Stretch_Sprite( bmp,
sprite : not null A_Bitmap;
x, y : Integer;
w, h : Natural );
private
pragma Import( C, Blit, "blit" );
pragma Import( C, Draw_Character_Ex, "draw_character_ex" );
pragma Import( C, Draw_Gouraud_Sprite, "draw_gouraud_sprite" );
pragma Import( C, Draw_Lit_Sprite, "draw_lit_sprite" );
pragma Import( C, Draw_Sprite, "draw_sprite" );
pragma Import( C, Draw_Sprite_H_Flip, "draw_sprite_h_flip" );
pragma Import( C, Draw_Sprite_V_Flip, "draw_sprite_v_flip" );
pragma Import( C, Draw_Sprite_VH_Flip, "draw_sprite_vh_flip" );
pragma Import( C, Draw_Trans_Sprite, "draw_trans_sprite" );
pragma Import( C, Masked_Blit, "masked_blit" );
pragma Import( C, Masked_Stretch_Blit, "masked_stretch_blit" );
pragma Import( C, Pivot_Scaled_Sprite, "pivot_scaled_sprite" );
pragma Import( C, Pivot_Scaled_Sprite_V_Flip, "pivot_scaled_sprite_v_flip" );
pragma Import( C, Pivot_Sprite, "pivot_sprite" );
pragma Import( C, Pivot_Sprite_V_Flip, "pivot_sprite_v_flip" );
pragma Import( C, Rotate_Scaled_Sprite, "rotate_scaled_sprite" );
pragma Import( C, Rotate_Scaled_Sprite_V_Flip, "rotate_scaled_sprite_v_flip" );
pragma Import( C, Rotate_Sprite, "rotate_sprite" );
pragma Import( C, Rotate_Sprite_V_Flip, "rotate_sprite_v_flip" );
pragma Import( C, Stretch_Blit, "stretch_blit" );
pragma Import( C, Stretch_Sprite, "stretch_sprite" );
end Allegro.Sprites;