700 Часть V. Инструментарий программиста

Почему GDI так важен?

У GDI огромное число пользователей, среди которых самый главный — собственно операционная система Windows 95. Windows использует GDI для вывода самих окон, окон диалога, различных панелей и кнопок управления и просто всего, что появляется на экране. Это означает, что практически любая программа для Windows, написанная на Borland C++, так или иначе использует GDI. Разумеется, вполне возможно написать программу, которая может обойтись без вызова функций GDI или классов OWL, обеспечивающих непосредственный доступ к возможностям GDI. Если ваша программа создает всего несколько окон и взаимодействует с пользователем через простые диалоговые окна, можно и не задумываться о том, что такое TDC и как, например, передать туда объект TBrush. С другой стороны, отказываясь от GDI, мы очень многое теряем.

Чем является GDI

*

Применение GDI обширно и разнообразно. Для выполнения приложением практически любой графической операции необходимы вызовы функций GDI. К таким операциям относятся:

• Работа с графическими примитивами (primitives), такими как образы (shapes), пути (paths), заливки (fills), шаблоны (patterns) и т. п.

• Управление выводом текста и шрифтами

• Управление цветом и палитрами (palette)

• Работа с битовыми образами (bitmaps), включая битовые образы, независимые от устройства, значки (icons) и курсоры (cursors)

• Печать

• Взаимодействие с графическими устройствами

• Работа с метафайлами (metafile)

• Изменение размеров окон и масштабирование

Очевидно, что программа, не использующая GDI, обречена иметь довольно унылый вид. Настоящая глава посвящена, в основном, графическим примитивам, поэтому у читателя остается для исследования еще достаточно других вопросов. Так например, в этой главе не рассматриваются режимы отображений (mapping modes) и логические устройства, определяемые пользователем. Фрагменты кода и примеры программ, приводимые далее, подразумевают умолчания, определяемые для Windows и OWL, это означает, прежде всего, что единицами измерения для графики являются пиксели. Тем не менее опытные программисты могут выбрать собственную систему измерений, что позволит использовать в качестве единиц измерения дюймы или миллиметры. В целом, GDI — это огромная и захватывающая область для изучения.