Hosted by
|
with Real_Numbers; use Real_Numbers;
with Real_Vectors; use Real_Vectors;
with Gray_Images; use Gray_Images;
with Glyphs; use Glyphs;
with Strings; use Strings;
package Printers is
type Printer is abstract tagged limited private;
type Printer_Access is access all Printer'Class;
function Get_Filename
(This : access Printer)
return String;
function Get_Format
(This : access Printer)
return String
is abstract;
procedure Set_Bounds
(This : access Printer;
Bounds : in Rectangle;
Staff_Height : in Real);
procedure Print
(This : access Printer;
Add : access Glyph;
Center : in Vector)
is abstract;
procedure Frame_Box
(This : access Printer;
Box : in Rectangle;
Color : in Gray_Pixel)
is abstract;
procedure Fill_Box
(This : access Printer;
Box : in Rectangle;
Color : in Gray_Pixel)
is abstract;
procedure Write
(This : access Printer)
is abstract;
private
type Printer is abstract tagged limited record
Filename : String_Access;
Bounds : Rectangle;
end record;
end Printers;
|