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 — это огромная и захватывающая область для изучения.