with Allegro.File_IO; use Allegro.File_IO;
package Allegro.Bitmaps.Image_IO is
type Allegro_IIO_Loader_Function is access
function( filename : String ) return Allegro_Bitmap;
pragma Convention( C, Allegro_IIO_Loader_Function );
type Allegro_IIO_FS_Loader_Function is access
function( fp : A_Allegro_File ) return Allegro_Bitmap;
pragma Convention( C, Allegro_IIO_FS_Loader_Function );
type Allegro_IIO_Saver_Function is access
function( filename : String; bitmap : A_Allegro_Bitmap ) return Bool;
pragma Convention( C, Allegro_IIO_Saver_Function );
type Allegro_IIO_FS_Saver_Function is access
function( fp : A_Allegro_File; bitmap : A_Allegro_Bitmap ) return Bool;
pragma Convention( C, Allegro_IIO_FS_Saver_Function );
function Al_Register_Bitmap_Loader( ext : String;
loader : Allegro_IIO_Loader_Function ) return Boolean;
function Al_Register_Bitmap_Saver( ext : String;
saver : Allegro_IIO_Saver_Function ) return Boolean;
function Al_Register_Bitmap_Loader_f( ext : String;
fs_loader : Allegro_IIO_FS_Loader_Function ) return Boolean;
function Al_Register_Bitmap_Saver_f( ext : String;
fs_saver : Allegro_IIO_FS_Saver_Function ) return Boolean;
function Al_Load_Bitmap( filename : String ) return A_Allegro_Bitmap;
function Al_Load_Bitmap_f( fp : A_Allegro_File;
ident : String ) return A_Allegro_Bitmap;
function Al_Save_Bitmap( filename : String;
bitmap : A_Allegro_Bitmap ) return Boolean;
function Al_Save_Bitmap_f( fp : A_Allegro_File;
ident : String;
bitmap : A_Allegro_Bitmap ) return Boolean;
end Allegro.Bitmaps.Image_IO;