Навигация:
<< >> Оглавление Указатель

Приложения

Приложение А. Функции, константы и структуры RDS

А.5. Сервисные функции и макросы RDS

А.5.10. Загрузка и сохранение данных блока

А.5.10.7. rdsWriteFontText – запись параметров шрифта в текстовом формате

Функция rdsWriteFontText добавляет к данным, сохраняемым блоком в текстовом формате, указанные параметры шрифта.

  void  rdsWriteFontTextA(
    int Mask,       // Флаги записываемых параметров
     Name,   // Имя шрифта (UTF8)
    int SizeHeight, // Высота или размер
     Color, // Цвет
    int Charset,    // Набор символов
    int Escapement, // Угол поворота
     Bold,      // Жирность
     Italic,    // Курсив
     Underline, // Подчеркивание
     StrikeOut  // Перечеркивание
  );
  void  rdsWriteFontTextW(
    int Mask,       // Флаги записываемых параметров
     Name,  // Имя шрифта (UTF16)
    int SizeHeight, // Высота или размер
     Color, // Цвет
    int Charset,    // Набор символов
    int Escapement, // Угол поворота
     Bold,      // Жирность
     Italic,    // Курсив
     Underline, // Подчеркивание
     StrikeOut  // Перечеркивание
  );
  // 
  void  rdsWriteFontText(
    int Mask,       // Флаги записываемых параметров
     Name,  // Имя шрифта (кодировка по умолчанию)
    int SizeHeight, // Высота или размер
     Color, // Цвет
    int Charset,    // Набор символов
    int Escapement, // Угол поворота
     Bold,      // Жирность
     Italic,    // Курсив
     Underline, // Подчеркивание
     StrikeOut  // Перечеркивание
  );

Тип указателя на эту функцию

RDS_VISICrIIBBBB (для UTF8) или RDS_VIWsICrIIBBBB (для UTF16)

Параметры

Mask (int)
Набор битовых флагов, указывающих, какие параметры нужно записать и как интерпретировать переданные значения:
RDS_GFNAME Записать имя шрифта, переданное в параметре Name, заключив его в двойные кавычки и предварив его ключевым словом «font».
RDS_GFSIZE Записать размер шрифта в типографских точках (points), переданный в параметре SizeHeight, предварив его ключевым словом «size». Не может использоваться одновременно с флагом RDS_GFHEIGHT.
RDS_GFHEIGHT Записать высоту шрифта в точках экрана, переданную в параметре SizeHeight, предварив ее ключевым словом «height». Не может использоваться одновременно с флагом RDS_GFSIZE.
RDS_GFCHARSET Записать набор символов шрифта, переданный в параметре Charset, предварив его ключевым словом «charset». Русский, ANSI, OEM и символьный наборы записываются ключевыми словами «rus», «ansi», «oem» и «symbol» соответственно, все остальные – в виде целого числа.
RDS_GFESCAPEMENT Записать угол поворота шрифта в градусах, переданный в параметре Escapement, предварив его ключевым словом «esc».
RDS_GFCOLOR Записать цвет шрифта, переданный в параметре Color, предварив его ключевым словом «color». Цвет записывается в виде одного целого числа.
RDS_GFBOLD Если в параметре Bold передано TRUE, записать ключевое слово «bold».
RDS_GFITALIC Если в параметре Italic передано TRUE, записать ключевое слово «italic».
RDS_GFUNDERLINE Если в параметре Underline передано TRUE, записать ключевое слово «underline».
RDS_GFSTRIKEOUT Если в параметре StrikeOut передано TRUE, записать ключевое слово «strikeout».
Все эти флаги совпадают с флагами, используемыми графической функцией RDS rdsXGSetFont. Кроме них в параметре Mask можно указывать следующие константы, объединяющие несколько флагов вместе:
RDS_GFFONTALLHEIGHT Все указанные выше флаги, кроме RDS_GFSIZE (размер шрифта задается высотой в точках экрана).
RDS_GFFONTBASIC Все указанные выше флаги, кроме RDS_GFSIZE (размер шрифта задается высотой в точках экрана) и RDS_GFESCAPEMENT (угол поворота не записывается).
RDS_GFFONTSTYLES Жирность, курсив, зачеркивание и подчеркивание (флаги RDS_GFBOLD, RDS_GFITALIC, RDS_GFUNDERLINE и RDS_GFSTRIKEOUT).
Если в параметре Mask передать 0, будут записаны все параметры шрифта, высота его при этом будет считаться заданной в точках экрана, как при указании флага RDS_GFHEIGHT.
Name (RDSCSTR, RDSWCSTR, RDSXCSTR)
Указатель на строку (char* или wchar_t*, в зависимости от версии функции) с именем шрифта.
SizeHeight (int)
Размер шрифта в типографских точках (при указанном в Mask флаге RDS_GFSIZE) или в точках экрана (при указанном флаге RDS_GFHEIGHT).
Color (COLORREF)
Цвет шрифта.
Charset (int)
Набор символов шрифта.
Escapement (int)
Угол поворота шрифта в градусах относительно горизонтали.
Bold (BOOL)
Шрифт жирный (TRUE) или обычный (FALSE).
Italic (BOOL)
Курсив (TRUE) или обычный шрифт (FALSE).
Underline (BOOL)
Шрифт подчеркнут (TRUE) или нет (FALSE).
StrikeOut (BOOL)
Шрифт перечеркнут (TRUE) или нет (FALSE).

Примечания

Эта функция может вызываться только из функции модели блока в момент реакции на событие записи данных блока в текстовом формате RDS_BFM_SAVETXT, во всех остальных случаях вызов игнорируется. Она добавляет описание шрифта к общему набору текстовых данных блока, после завершения реакции на событие RDS_BFM_SAVETXT этот набор будет записан в файл или буфер обмена (в зависимости от того, для чего сохраняются данные блока). Перед описанием, как и между всеми словами внутри описания, добавляется пробел.

Функция добавляет к тексту, сохраняемому блоком, ключевые слова и значения параметров, описывающих шрифт, согласно флагам в параметре Mask. Значения параметров функции, для которых не установлены соответствующие флаги в Mask, могут быть любыми: например, если не установлен флаг RDS_GFNAME, в параметре Name можно передать NULL.

Формат записи цвета, используемый в функции rdsWriteFontText, совместим с функциями rdsStructToFontText, rdsReadFontText, rdsFontTextToStruct и текстовым форматом схем RDS.

Пример

Вызов функции

  rdsWriteFontTextA(,
      "Times New Roman",20,0xffffff,
      ,0,TRUE,TRUE,FALSE,FALSE);

добавит к текстовым данным блока пробел и следующий текст (порядок пар «ключевое слово – значение» может отличаться, переводов строки внутри текста на самом деле не будет):

  font "Times New Roman" height 20 color 16777215
  charset rus bold italic

См. также

RDS_BFM_SAVETXT, RDS_BFM_LOADTXT, rdsReadFontText, rdsFontTextToStruct, rdsStructToFontText.


<< >> Оглавление Указатель