Axiom Справочник языка

Оператор

Оператор VIEW

Когда рисунок должен занять лишь часть экрана, а остальное изображение остаться нетронутым, границы области задаёт оператор VIEW. Его форма VIEW PRINT решает другую задачу: она отводит экранному тексту отдельные строки, внутри которых идёт вывод и прокрутка.

Две области — графическая и текстовая

Графическая область позволяет рисовать в части экрана, сохраняя остальное изображение. Её границы задаются физическими пикселями. Текстовую область задают, когда вывод и прокрутка должны занимать только выбранные строки, например под графиком или рядом с ним.

Обе формы требуют графического режима SCREEN 1..10. Они не относятся к холсту CANVAS, у которого есть отдельный оператор VIEWPORT.

Синтаксис оператора VIEW

VIEW
VIEW SCREEN (<левый операнд>, <верхняя граница>)-(<правый операнд>, <нижняя граница>)
VIEW SCREEN (<левый операнд>, <верхняя граница>)-(<правый операнд>, <нижняя граница>), <цвет заливки>
VIEW SCREEN (<левый операнд>, <верхняя граница>)-(<правый операнд>, <нижняя граница>), <цвет заливки>, <цвет границы>
VIEW (<левый операнд>, <верхняя граница>)-(<правый операнд>, <нижняя граница>)
VIEW (<левый операнд>, <верхняя граница>)-(<правый операнд>, <нижняя граница>), <цвет заливки>
VIEW (<левый операнд>, <верхняя граница>)-(<правый операнд>, <нижняя граница>), <цвет заливки>, <цвет границы>

Синтаксис оператора VIEW PRINT

VIEW PRINT
VIEW PRINT <верхняя строка> TO <нижняя строка>

Аргументы

ЧастьОписание
<левая граница>, <верхняя граница>, <правая граница>, <нижняя граница>Передайте координаты углов графической области.
SCREENСлово SCREEN сохраняет абсолютные экранные координаты внутри графической области.
<цвет заливки>Передайте необязательный цвет заливки внутренней части графической области.
<цвет границы>Передайте необязательный цвет рамки графической области.
<верхняя строка>, <нижняя строка>Передайте номера верхней и нижней строк текстового окна VIEW PRINT.

Что делает оператор VIEW

Вызов VIEW без аргументов снимает ограничение и восстанавливает рисование по всему экрану. Слово SCREEN сохраняет абсолютные экранные координаты после выбора области, а без него координаты рисования отсчитываются в системе выбранной области.

Необязательный цвет заливки заполняет внутреннюю область; необязательный цвет рамки обводит её границу. Оба цвета становятся видимыми сразу после выполнения оператора, если указаны.

Что делает оператор VIEW PRINT

Вызов VIEW PRINT без аргументов возвращает тексту всю доступную сетку графического экрана. Диапазон topRow TO bottomRow задаёт строки, внутри которых прокручивается вывод PRINT, PRINT USING и подтверждённый ввод INPUT.

Ограничение VIEW PRINT влияет на текстовые строки и не меняет область пиксельного рисования.

Границы, типы аргументов и порядок настройки

Сначала оператором VIEW выбирают физическую область экрана, затем оператором WINDOW задают числовую шкалу, которая отображается в эту область. Настроенную шкалу используют PSET, PRESET, LINE, CIRCLE, PAINT, DRAW и форма POINT(x, y); отдельную физическую или логическую координату явно возвращает PMAP с нужным селектором.

Координаты графической области приводятся к LONG и задаются в физических пикселях SCREEN. Правая и нижняя границы включаются. Левая граница не должна превышать правую, верхняя — нижнюю; обе противоположные вершины области должны находиться внутри экрана, поэтому частично выходящая за экран область не принимается. Недопустимая область сообщает MB3007. Цвета заливки и рамки приводятся к INTEGER и обозначают нормализованные индексы палитры.

Номера строк VIEW PRINT приводятся к INTEGER. Они начинаются с 1 и должны задавать упорядоченный диапазон внутри текущей текстовой сетки; неверный диапазон сообщает MB3007. VIEW PRINT не меняет графические координаты, а результат настройки и рисования относится к активной странице SCREEN.

Без активного SCREEN 1..10 выполнение завершается диагностикой MB3010; это относится и к VIEW, и к VIEW PRINT.

Диагностика

  • MB3010: оператор VIEW или оператор VIEW PRINT вызваны без активного графического режима SCREEN 1..10.
  • MB3007: координаты графической области или номера строк имеют недопустимое значение.

Пример

SCREEN 1
VIEW SCREEN (10, 10)-(60, 40), 3, 9
LINE (10, 10)-(60, 40), 14, B

VIEW PRINT 2 TO 4
LOCATE 2, 2
PRINT "Текст внутри окна"
SLEEP

Первый вызов выбирает область рисования, заливает её и рисует рамку. Второй вызов отводит экранному тексту отдельный диапазон строк.

Запускаемые примеры

Перечисленные программы проверяют границы графической области и прокрутку текстовых строк.

См. также