private with Allegro.Fonts;
private package Font_API.Allegro_Fonts is
function Load_Font( filename : String; size : Positive ) return Font_Type;
pragma Precondition( filename'Length > 0 );
private
use Allegro.Fonts;
type Allegro_Font is new Abstract_Font with
record
ptr : Allegro.Fonts.A_Font := null;
height : Positive := 1;
end record;
procedure Construct( this : access Allegro_Font;
filename : String;
size : Positive );
pragma Precondition( filename'Length > 0 );
procedure Delete( this : in out Allegro_Font );
function Text_Height( this : access Allegro_Font ) return Positive;
function Text_Length( this : access Allegro_Font;
str : String ) return Natural;
procedure Textout( this : access Allegro_Font;
bmp : A_Bitmap;
str : String;
x, y : Integer;
color : Color_Type;
smooth : Boolean );
end Font_API.Allegro_Fonts;