Значительно сложнее реализовать операцию указания объектов в том случае, если в графической системе используется иерархическая организация отображаемых объектов. В этом случае каждый отдельный объект является членом какого-либо подмножества объектов. Когда такой объект "захватывается" устройством, в прикладную программу нужно переслать список всех объектов этого подмножества.

Как правило, в графических API не специфицируется, как близко должна находиться указанная на экране точка к объекту, чтобы его можно было считать выбранным. Одна из причин такого "упущения" - стремление предоставить программистам самостоятельно реализовать подходящий способ отбора. Если, например, использовать подход, основанный на применении оболочек, то можно указывать любую точку на поле объекта. Следует учитывать, что и пользователи при выполнении операции указания также далеко не всегда располагают маркер устройства точно на объекте, особенно если это контурный объект.

3.7. Указание объектов

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

Работа с геометрическими объектами, такими как отрезки прямых и многоугольники. Полагая, что объекты описываются множеством вершин, программа должна позволять вводить эти вершины в интерактивном режиме.

Возможность манипулировать пикселями и таким образом формировать изображение непосредственно в буфере кадра.

Управление атрибутами - цветом, типом линий и образцом заполнения.

Поддержка операций с меню для управления режимом работы приложения.

Корректное отслеживание перемещения окна приложения и изменение его размеров.


⇐ Предыдущая| |Следующая ⇒