with Allegro.Bitmaps; use Allegro.Bitmaps;
with Allegro.Fixed_Point_Math; use Allegro.Fixed_Point_Math;
with Allegro.Truecolor; use Allegro.Truecolor;
package Allegro.Drawing is
type Point is
record
x, y : Integer;
end record;
type Point_Array is array (Integer range <>) of Point;
type A_Draw_Proc is
access procedure( bmp : A_Bitmap; x, y : Integer; d : Integer );
procedure Arc( bmp : not null A_Bitmap;
x, y : Integer;
ang1,
ang2 : Fixed;
r : Integer;
color : Color_Type );
procedure Circle( bmp : not null A_Bitmap;
x, y,
radius : Integer;
color : Color_Type );
procedure Circlefill( bmp : not null A_Bitmap;
x, y,
radius : Integer;
color : Color_Type );
procedure Clear_Bitmap( bmp : not null A_Bitmap );
procedure Clear_To_Color( bmp : not null A_Bitmap; color : Color_Type );
procedure Clear_To_Transparent( bmp : not null A_Bitmap );
procedure Do_Arc( bmp : not null A_Bitmap;
x, y,
a1, a2 : Fixed;
r : Integer;
d : Integer;
proc : not null A_Draw_Proc );
procedure Do_Circle( bmp : not null A_Bitmap;
x, y,
radius : Integer;
d : Integer;
proc : not null A_Draw_Proc );
procedure Do_Ellipse( bmp : not null A_Bitmap;
x, y,
rx, ry : Integer;
d : Integer;
proc : not null A_Draw_Proc );
procedure Do_Line( bmp : not null A_Bitmap;
x1, y1,
x2, y2 : Integer;
d : Integer;
proc : not null A_Draw_Proc );
procedure Ellipse( bmp : not null A_Bitmap;
x, y,
rx, ry : Integer;
color : Color_Type );
procedure Ellipsefill( bmp : not null A_Bitmap;
x, y,
rx, ry : Integer;
color : Color_Type );
procedure Fastline( bmp : not null A_Bitmap;
x1, y1,
x2, y2 : Integer;
color : Color_Type );
procedure Floodfill( bmp : not null A_Bitmap;
x, y : Integer;
color : Color_Type );
function Getpixel( bmp : not null A_Bitmap; x, y : Integer ) return Color_Type;
procedure Hline( bmp : not null A_Bitmap;
x1, y, x2 : Integer;
color : Color_Type );
procedure Line( bmp : not null A_Bitmap;
x1, y1,
x2, y2 : Integer;
color : Color_Type );
procedure Polygon( bmp : not null A_Bitmap;
points : Point_Array;
color : Color_Type );
procedure Putpixel( bmp : not null A_Bitmap;
x, y : Integer;
color : Color_Type );
procedure Rect( bmp : not null A_Bitmap;
x1, y1,
x2, y2 : Integer;
color : Color_Type );
procedure Rectfill( bmp : not null A_Bitmap;
x1, y1,
x2, y2 : Integer;
color : Color_Type );
procedure Triangle( bmp : not null A_Bitmap;
x1, y1,
x2, y2,
x3, y3 : Integer;
color : Color_Type );
procedure Vline( bmp : not null A_Bitmap;
x, y1, y2 : Integer;
color : Color_Type );
private
pragma Convention( C, Point );
pragma Convention( C, Point_Array );
pragma Convention( C, A_Draw_Proc );
pragma Import( C, Arc, "arc" );
pragma Import( C, Circle, "circle" );
pragma Import( C, Circlefill, "circlefill" );
pragma Import( C, Clear_Bitmap, "clear_bitmap" );
pragma Import( C, Clear_To_Color, "clear_to_color" );
pragma Import( C, Do_Arc, "do_arc" );
pragma Import( C, Do_Circle, "do_circle" );
pragma Import( C, Do_Ellipse, "do_ellipse" );
pragma Import( C, Do_Line, "do_line" );
pragma Import( C, Ellipsefill, "ellipsefill" );
pragma Import( C, Ellipse, "ellipse" );
pragma Import( C, Fastline, "fastline" );
pragma Import( C, Floodfill, "floodfill" );
pragma Import( C, Getpixel, "getpixel" );
pragma Import( C, Hline, "hline" );
pragma Import( C, Line, "line" );
pragma Import( C, Putpixel, "putpixel" );
pragma Import( C, Rect, "rect" );
pragma Import( C, Rectfill, "rectfill" );
pragma Import( C, Triangle, "triangle" );
pragma Import( C, Vline, "vline" );
end Allegro.Drawing;