Hosted by
|
with Lists;
with Outlines; use Outlines;
with Glyph_Images; use Glyph_Images;
with Real_Numbers; use Real_Numbers;
with Real_Vectors; use Real_Vectors;
package Glyphs is
package Outline_Lists is new Lists(Outlines.Outline_Access);
subtype Outline_List is Outline_Lists.List;
subtype Outline_List_Access is Outline_Lists.List_Access;
type Glyph is limited private;
type Glyph_Access is access all Glyph;
function Create
return Glyph_Access;
function Get_Bounds
(This : access Glyph)
return Rectangle;
function Get_Outlines
(This : access Glyph)
return Outline_List_Access;
procedure Add_Outline
(This : access Glyph;
Add : in Outline_Access);
procedure Update_Image
(This : access Glyph;
Staff_Height : in Real;
Aspect_Ratio : in Real;
Anti_Alias : in Positive);
function Get_Image
(This : access Glyph;
Staff_Height : in Real;
Aspect_Ratio : in Real;
Anti_Alias : in Positive)
return Glyph_Image_Access;
procedure Set_Bounds
(This : access Glyph;
Left, Top : in Real;
Right, Bottom : in Real);
function Get_Width
(This : access Glyph)
return Real;
function Get_Height
(This : access Glyph)
return Real;
procedure Print
(This : access Glyph;
Image : access Glyph_Image;
Center : in Vector);
private
type Glyph is limited record
Bounds : Rectangle;
Outlines : Outline_List_Access;
Image : Glyph_Image_Access;
end record;
end Glyphs;
|