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
DRAW_SPRITE_NORMAL : constant Integer;
DRAW_SPRITE_LIT : constant Integer;
DRAW_SPRITE_TRANS : constant Integer;
FLIP_DRAW_SPRITE_NO_FLIP : constant Integer;
FLIP_DRAW_SPRITE_H_FLIP : constant Integer;
FLIP_DRAW_SPRITE_V_FLIP : constant Integer;
FLIP_DRAW_SPRITE_VH_FLIP : constant Integer;
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_Ex( bmp,
sprite : not null A_Bitmap;
x, y : Integer;
mode : Integer;
flip : 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_Lit( bmp,
sprite : not null A_Bitmap;
x, y,
cx, cy : Integer;
angle,
scale : Fixed;
color : Color_Type );
procedure Pivot_Scaled_Sprite_Trans( 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_Scaled_Sprite_V_Flip_Lit( bmp,
sprite : not null A_Bitmap;
x, y,
cx, cy : Integer;
angle,
scale : Fixed;
color : Color_Type );
procedure Pivot_Scaled_Sprite_V_Flip_Trans( 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_Lit( bmp,
sprite : not null A_Bitmap;
x, y,
cx, cy : Integer;
angle : Fixed;
color : Color_Type );
procedure Pivot_Sprite_Trans( 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 Pivot_Sprite_V_Flip_Lit( bmp,
sprite : not null A_Bitmap;
x, y,
cx, cy : Integer;
angle : Fixed;
color : Color_Type );
procedure Pivot_Sprite_V_Flip_Trans( 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_Lit( bmp,
sprite : not null A_Bitmap;
x, y : Integer;
angle,
scale : Fixed;
color : Color_Type );
procedure Rotate_Scaled_Sprite_Trans( 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_Scaled_Sprite_V_Flip_Lit( bmp,
sprite : not null A_Bitmap;
x, y : Integer;
angle,
scale : Fixed;
color : Color_Type );
procedure Rotate_Scaled_Sprite_V_Flip_Trans( 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_Lit( bmp,
sprite : not null A_Bitmap;
x, y : Integer;
angle : Fixed;
color : Color_Type );
procedure Rotate_Sprite_Trans( 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 Rotate_Sprite_V_Flip_Lit( bmp,
sprite : not null A_Bitmap;
x, y : Integer;
angle : Fixed;
color : Color_Type );
procedure Rotate_Sprite_V_Flip_Trans( 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
DRAW_SPRITE_NORMAL : constant Integer := 0;
DRAW_SPRITE_LIT : constant Integer := 1;
DRAW_SPRITE_TRANS : constant Integer := 2;
FLIP_DRAW_SPRITE_NO_FLIP : constant Integer := 2#00#;
FLIP_DRAW_SPRITE_H_FLIP : constant Integer := 2#01#;
FLIP_DRAW_SPRITE_V_FLIP : constant Integer := 2#10#;
FLIP_DRAW_SPRITE_VH_FLIP : constant Integer := 2#11#;
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_Ex, "draw_sprite_ex" );
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_Lit, "pivot_scaled_sprite_lit" );
pragma Import( C, Pivot_Scaled_Sprite_Trans, "pivot_scaled_sprite_trans" );
pragma Import( C, Pivot_Scaled_Sprite_V_Flip, "pivot_scaled_sprite_v_flip" );
pragma Import( C, Pivot_Scaled_Sprite_V_Flip_Lit, "pivot_scaled_sprite_v_flip_lit" );
pragma Import( C, Pivot_Scaled_Sprite_V_Flip_Trans, "pivot_scaled_sprite_v_flip_trans" );
pragma Import( C, Pivot_Sprite, "pivot_sprite" );
pragma Import( C, Pivot_Sprite_Lit, "pivot_sprite_lit" );
pragma Import( C, Pivot_Sprite_Trans, "pivot_sprite_trans" );
pragma Import( C, Pivot_Sprite_V_Flip, "pivot_sprite_v_flip" );
pragma Import( C, Pivot_Sprite_V_Flip_Lit, "pivot_sprite_v_flip_lit" );
pragma Import( C, Pivot_Sprite_V_Flip_Trans, "pivot_sprite_v_flip_trans" );
pragma Import( C, Rotate_Scaled_Sprite, "rotate_scaled_sprite" );
pragma Import( C, Rotate_Scaled_Sprite_Lit, "rotate_scaled_sprite_lit" );
pragma Import( C, Rotate_Scaled_Sprite_Trans, "rotate_scaled_sprite_trans" );
pragma Import( C, Rotate_Scaled_Sprite_V_Flip, "rotate_scaled_sprite_v_flip" );
pragma Import( C, Rotate_Scaled_Sprite_V_Flip_Lit, "rotate_scaled_sprite_v_flip_lit" );
pragma Import( C, Rotate_Scaled_Sprite_V_Flip_Trans, "rotate_scaled_sprite_v_flip_trans" );
pragma Import( C, Rotate_Sprite, "rotate_sprite" );
pragma Import( C, Rotate_Sprite_Lit, "rotate_sprite_lit" );
pragma Import( C, Rotate_Sprite_Trans, "rotate_sprite_trans" );
pragma Import( C, Rotate_Sprite_V_Flip, "rotate_sprite_v_flip" );
pragma Import( C, Rotate_Sprite_V_Flip_Lit, "rotate_sprite_v_flip_lit" );
pragma Import( C, Rotate_Sprite_V_Flip_Trans, "rotate_sprite_v_flip_trans" );
pragma Import( C, Stretch_Blit, "stretch_blit" );
pragma Import( C, Stretch_Sprite, "stretch_sprite" );
end Allegro.Sprites;