19.3.2. Управление «текущим указателем»

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

MoveTo( х, у : Integer )

перемещает его в точку экрана с координатами (x, y). Другая процедура —

MoveRel( dx, dy : Integer )

перемещает текущий указатель на dx пикселов по горизонтали и соответственно на dy по вертикали относительно последнего положения текущего указателя. Положительные значения dx и dy увеличивают его координаты, а отрицательные — уменьшают. Помните, что в системе координат дисплея ось Y направлена вниз, поэтому, если указатель надо перенести вверх, то приращение dy должно быть отрицательным.

Для определения текущего положения графического курсора используются функции

GetX : Integer;

GetY : Integer,

возвращающие положение указателя соответственно по оси X и по оси Y. Позиционирование текущего указателя и опрос его местонахождения работают корректно, даже если работа происходит за пределами координат устройства.

Не все графические процедуры перемещают текущий указатель. Кроме названных выше, изменяют его положение лишь процедуры LineTo, LineRel, OutText. Все процедуры инициализации и очистки экрана (InitGraph, GraphDefaults, ClearDevice, SetGraphMode, SetViewPort и ClearViewPort) устанавливают его в положение (0,0).

- 424 -