Hosted by
|
with Ada.Exceptions; use Ada.Exceptions;
with Ada.IO_Exceptions; use Ada.IO_Exceptions;
with Choices; use Choices;
with Glyphs; use Glyphs;
with String_Hash_Tables;
with Strings; use Strings;
package Font_Loaders is
Font_Not_Found : exception;
Glyph_Not_Found : exception;
type Font_Loader is limited private;
type Font_Loader_Access is access all Font_Loader;
function Create
(Path : in String;
Special : in Percent)
return Font_Loader_Access;
function Get_Path
(This : access Font_Loader)
return String;
function Get_Special
(This : access Font_Loader)
return Percent;
function Glyph_Filename
(This : access Font_Loader;
Glyph_Name : in String)
return String;
function Load_Glyph
(This : access Font_Loader;
Glyph_Name : in String)
return Glyph_Access;
private
package Choice_Hash_Tables is new String_Hash_Tables(Choice_Access);
subtype Choice_Hash_Table is Choice_Hash_Tables.Hash_Table;
subtype Choice_Hash_Table_Access is Choice_Hash_Tables.Hash_Table_Access;
type Font_Loader is limited record
Path : String_Access;
Special : Percent;
Choices : Choice_Hash_Table_Access;
end record;
end Font_Loaders;
|