Домой Классы Статические функции Перечисления (ENUM) Записи (RECORD)

{Font2D|_tool}


CLASS {Font2D|_tool} , UNTESTED :



Класс для управления шрифтами, использующимися в классе {OpenGL}.


IMPORT : {Font} , {AL4_font} , {OpenGL} , {Bitmap_direct} , {Bitmap} , {Geometry} , {Canvas} .


BASE CLASS {Font} .



--------------------------------------------------------- 'конструирование'

 

FUN New_font_2D ( STR F|ace_name , REAL S|ize_font ) ==> {Font2D} , NEW



------------------------------------------------------------------- 'стиль'

 

OVERRIDE Set_style (
     
{Font}.{font_attr} A|ttribute_to_set ,
     
BOOL Set|_or_clear )



---------------------------------------------------------- 'набор символов'

 

OVERRIDE Set_charset ( INT C|harset_value )



------------------------------------------------------------- 'цвет текста'

INT Color|_of_text , READ


 

METHOD Set_color ( INT C|olor_value )



---------------------------------------- 'кернинг (межсимвольный интервал)'

INT Kerning|_between_letters_in_pixels_can_be_negative , READ


 

METHOD Set_kerning|_additional_to_system_defined ( INT K|erning_value )



---------------------- 'набор всех символов, которые могут быть отображены'

STR Chars|_in_font , READ


  

METHOD Add|_chars_from_string ( STR S|tring_containing_chars_to_add )



METHOD Clear|_chars_collection_and_reset_font_texture



------------------------------------- 'желаемый размер текстуры в пикселях'

 

METHOD Set_texture_size|_desired (
     
INT Bitmap_w|idth ,
     
INT Bitmap_h|eight ) , IF Bitmap_w IS CONST , THEN Bitmap_w IN [128, 256, 512, 1024, 2048, 4096], IF Bitmap_h IS CONST , THEN Bitmap_h IN [128, 256, 512, 1024, 2048, 4096] :



--------------------------------------------- 'использовать ли мип-маппинг'

BOOL Mipmaps|_use_to_build_font_default_TRUE , READ


 

METHOD Set_mipmaps|_use ( BOOL Use|_mipmaps )



-------------------------------- 'вычисляются пока шрифт приготовливается:'

INT Maximal_width|_of_characters , READ


REAL Average_width|_of_character , READ


INT Height_char|acters_same_for_all_characters , READ


INT Space_width|_if_not_set_average_width_will_be_used



----------------------------------------------------- 'подготовка текстуры'

   

METHOD Prepare|_texture ==> INT


CONSTANT REAL :

          FIX_WIDTH_CHAR = 0.4 .



METHOD Load|_texture_build_lists (
     
{Bitmap_direct} B|itmap_chars_drawn ) ==> INT



---------------------------------------------------- 'рисование в {OpenGL}'

  

METHOD Draw_at|_XY_string (
     
STR S|tring_to_draw ,
     
REAL X|_offset ,
     
REAL Y|_offset ) ==> REAL



METHOD Draw|_string_return_width_drawn (
     
STR S|tring_to_draw ) ==> REAL


END


См. так же с защищёнными членами