Клиппер 5. Справочник

Символы зеркально отображаются относительно вертикальной


Центр вращения вычисляется как
    <nStart> +4.
 
    Код направления вращения 2
 
    Символы зеркально отображаются относительно вертикальной оси (оси Y).
    Указывать параметры <nPixelHeight> и <nStart> не требуется, поскольку
    зеркально отображаются биты в каждом байте.
 
    Код направления вращения 3
 
    Символы зеркально отображаются относительно горизонтальной оси (оси
    Х). Параметр <nPixelHeight> должен быть указан, а параметр <nStart> не


    используется, так как область поворота охватывает всю высоту символа.
 
    Комбинации
 
    Так как режимы с 1 по 3 обеспечивают все три оси поворота, то
    многократный вызов функции позволяет комбинировать операции вращения и
    создавать требуемые повернутые и зеркально отраженные символы.
 
  Примечания
 
  . Шрифтовая строка всегда обрабатывается целиком. Если требуется
    преобразовать лишь часть символов, то это легко осуществить при
    неполной загрузке в видеоадаптер нового шрифта функцией SETFONT().
 
  . Для повышения скорости работы передачу шрифтовой строки в функцию
    можно осуществлять по ссылке (@<cFontString>), предварительно отменив
    возврат значения вызовом CSETREF(.T.).
 
  Примеры
 
  . Заполнение экрана символами, а затем их поворот, что особенно
    показательно для VGA-адаптера в режиме 50 строк с матрицей изображения
    8х8, где символы не будут обрезаться.
 
    Все параметры задаются в форме, позволяющей применять их и для других
    пиксельных отношений:
 
    CSETREF(.T.)                        // Оптимизация (при передаче
                                        // параметров по ссылке)
    nMODE := GETSCRMODE()               // Сохранение видеорежима
    VGA50()
    FOR i := 0 TO MAXROW()              // Заполнение экрана
        @ i, 0 SAY CENTER("ABCDEFGHIJKLMNOPQRSTUVWXYZ-1234567890")
    NEXT i
    nPixel := CHARPIX()                 // Определение высоты шрифта

Содержание раздела