Hosted by
|
with Enum_Strings; use Enum_Strings;
package Clefs is
type Sign_Enum is (G, F, C);
function To_Sign_Enum is new To_Enum(Sign_Enum);
Auto : constant := 0;
type Clef is limited private;
type Clef_Access is access all Clef;
function Create
(Number : in Natural;
Sign : in Sign_Enum;
Line : in Integer)
return Clef_Access;
function Get_Number
(This : access Clef)
return Natural;
function Get_Sign
(This : access Clef)
return Sign_Enum;
function Get_Middle_C
(This : access Clef)
return Integer;
function Get_Line
(This : access Clef)
return Integer;
private
type Clef is limited record
Number : Natural;
Sign : Sign_Enum;
Line : Integer;
end record;
end Clefs;
|