Глава 25. Графический интерфейс устройства 721

h07211.jpg

Рис. 25.10. Заливка половинок окружности различными кистями

Совместное использование графических методов

Итак, мы видели, как работают графические методы в теории. Теперь рассмотрим пример законченной программы, применяющей на практике некоторые из методов, рассмотренных в предыдущих разделах. Хотя наша демонстрационная программа и не годится для практического использования, она дает хороший пример встраивания в программы контекстов устройства OWL и объектов GDI.

На рис. 25.11 представлена копия экрана программы, которая будет обсуждаться далее до конца этой главы.

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

Второе окно демонстрирует поведение множества различных объектов GDI. Каждые 50 миллисекунд в клиентской области окна появляется новый элемент GDI, параметры которого генерируются случайным образом. В зависимости от случайных параметров мы получаем линии, эллипсы и прямоугольники (с острыми и закругленными углами). Параметры и стили перьев и кистей также генерируются случайным образом, поэтому в зависимости от