Hosted by
|
with Ada.Tags; use Ada.Tags;
with Messages; use Messages;
with Real_Numbers; use Real_Numbers;
with Real_Vectors; use Real_Vectors;
with Font_Loaders; use Font_Loaders;
with Glyphs; use Glyphs;
with Glyph_Images; use Glyph_Images;
with PGM; use PGM;
with Strings; use Strings;
package Printers.PGM is
type PGM_Printer is new Printer with private;
PGM_Printer_Tag : constant String;
type PGM_Printer_Access is access all PGM_Printer;
function Create
(Filename : in String)
return PGM_Printer_Access;
function Get_Format
(This : access PGM_Printer)
return String;
procedure Set_Bounds
(This : access PGM_Printer;
Bounds : in Rectangle;
Staff_Height : in Real);
procedure Print_Staff_Lines
(This : access PGM_Printer);
procedure Print
(This : access PGM_Printer;
Add : access Glyph;
Center : in Vector);
procedure To_Pixels
(This : access PGM_Printer;
Box : in Rectangle;
Left : out Integer;
Top : out Integer;
Right : out Integer;
Bottom : out Integer);
procedure Darken_Pixel
(This : access PGM_Printer;
Y, X : in Integer;
Color : in Gray_Pixel);
procedure Frame_Box
(This : access PGM_Printer;
Box : in Rectangle;
Color : in Gray_Pixel);
procedure Fill_Box
(This : access PGM_Printer;
Box : in Rectangle;
Color : in Gray_Pixel);
procedure Write
(This : access PGM_Printer);
private
type PGM_Printer is
new Printer with
record
Image : Glyph_Image_Access;
end record;
PGM_Printer_Tag : constant String := "printers.pgm.pgm_printer";
end Printers.PGM;
|