Иллюстрированный самоучитель по Turbo Pascal

Координаты, окна, страницы

Многие графические процедуры и функции используют указатель текущей позиции на экране, который в отличие от текстового курсора невидим. Положение этого указателя, как и вообще любая координата на графическом экране, задается относительно левого верхнего угла, который, в свою очередь, имеет координаты 0.0. Таким образом, горизонтальная координата экрана увеличивается слева направо, а вертикальная – сверху вниз.

Функции GetMaxX и GetMaxY

Возвращают значения типа Word, содержащие максимальные координаты экрана в текущем режиме работы соответственно по горизонтали и вертикали. Например:

Uses Graph;
var
a,b: Integer;
begin
a: = Detect; InitGraph(a, b, '');
WriteLn(GetMaxX, GetMaxY:5);
ReadLn;
CloseGraph
end.

Функции GetX и GetY

Возвращают значения типа Integer, содержащие текущие координаты указателя соответственно по горизонтали и вертикали. Координаты определяются относительно левого верхнего угла окна или, если окно не установлено, экрана.

Процедура SetViewPort

Устанавливает прямоугольное окно на графическом экране. Заголовок:

Procedure SetViewPort(XI,Y1,X2,Y2: Integer; ClipOn: Boolean);

Здесь:

  • X1…Y2 – координаты левого верхнего (XI,Y1) и правого нижнего (X2,Y2) углов окна;
  • ClipOn – выражение типа Boolean, определяющее "отсечку" не умещающихся в окне элементов изображения.

Координаты окна всегда задаются относительно левого верхнего угла экрана. Если параметр ClipOn имеет значение True, элементы изображения, не умещающиеся в пределах окна, отсекаются, в противном случае границы окна игнорируются. Для управления этим параметром можно использовать такие определенные в модуле константы:

const
ClipOn = True; {Включить отсечку}
ClipOff = False; {He включать отсечку}

Следующий пример иллюстрирует действие параметра ClipOn. Программа строит два прямоугольных окна с разными значениями параметра и выводит в них несколько окружностей. Для большей наглядности окна обводятся рамками (см. рис. 14.1).

Иллюстрированный самоучитель по Turbo Pascal › Использование библиотеки Graph › Координаты, окна, страницы
Рис. 14.1. Отсечка изображения в окне

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.