пятница, 22 июня 2012 г.

Экранный редактор рисунков графической системы ГРАФ часть 3.

 Примитивы строятся и редактируются так, что вершина, на которой стоит курсор, всегда перемещается вместе с ним. Остальные вершины либо остаются неподвижными, либо изменяют свое положение в соответствии с алгоритмом преобразования. Структура рисунка при этом модифицируется и все изменения сразу отображаются на экране.
 Чтобы идентифицировать сегмент, с которым будет идти дальнейшая работа, необходимо выполнить команду выбора сегмента. При этом выбирается примитив, а сегмент определяется как минимальный, которому принадлежит выбранный примитив.
Отметим, что выбранным считается также заново построенный примитив или сегмент.
 Для удобства работы с редактором введены средства, характерные для текстовых экранных редакторов:
- запись всего рисунка в архив до окончания сеанса редактирования
- механизм макрокоманд, то есть имеется возможность определить некоторую непрерывную последовательность редактирующих действий как одну новую команду
- макрокоманду можно записать в архив, прочитать из архива
- буфер редактора для временного хранения рисунка
 Запись в буфер происходит при выполнении трех различных команд: записи в буфер примитива, выделения фрагмента рисунка и чтения рисунка из архива. Координаты рисунка, находящегося в буфере, пересчитываются таким образом, что точка, в которой находился курсор в момент записи, переводится в начало координат.
 При выделении фрагмента строится и модифицируется по общим правилам для построения примитивов прямоугольник. Все примитивы, попадающее в этот прямоугольник, образуют новый сегмент и запоминаются в буфере. При чтении из архива выбранный рисунок записывается в буфер, он вырисовывается на экране и добавляется в структуру редактируемого рисунка. Координаты рисунка, выдаваемого из буфера, при этом пересчитываются так, что начало координат его совмещается с координатами курсора. С помощью этого механизма можно многократно копировать элементы рисунка.

Комментариев нет:

Отправить комментарий

Примечание. Отправлять комментарии могут только участники этого блога.