ГЛАВА 10
ГРАФИКА В SMALLTALK EXPRESS
Графические классы различных реализаций Смолтока сильно отличают-
ся друг от друга: графические библиотеки концептуально не совпадают. Мы
ограничимся описанием классов графики только системы Smalltalk Express.
Примеры, написанные в Smalltalk Express, нельзя, к сожалению, выполнить
в другой смолтоковской системе.
Графические возможности Smalltalk Express можно оценить, если по-
смотреть демонстрационные примеры, пост авляемые вместе с системой,
воспользовавшись в окне Transcript пунктом GraphicsDemo из меню File.
Графика Smalltalk Express формируется на основе графических возмож-
ностей среды MS Windows. Основа языка графики в Windows — интер-
фейс графических устройств (GDI — Graphics Device Interface, см., напри-
мер, [36]). Система вызывает GDI-функции для того, чтобы с их помощью
реализовать графические операции языка Смолток. Все GDI-функции выво-
да т ребуют контекста устройства вывода, который содержит текущие харак-
теристики графической среды. Например, чтобы отобразить текст, Smalltalk
Express вызывает GDI-функцию TextOut, одним из параметров которой яв-
ляется контекст устройства. Но при таком обращении явно не указываются
шрифт, цвет текста, фоновый цвет и правила выравнивания текста, посколь-
ку эти и другие характеристики — часть контекста устройства.
Каждый графический класс имеет соответствующий набор переменных
и множество методов, реализующих требуемые графические операции. Ес-
ли возникнет необходимость выйти за пределы графических возможностей
ядра системы Smalltalk Express, следует обращаться к классам, реализую-
щим низкоуровневый программный интерфейс с системой Windows и ис-
пользовать функции интерфейса прикладного программирования (API —
Application Program Interface). В принципе, Smalltalk Express позволяет вы-
звать любую функцию. Но, как правило, стандартных возможностей дост а-
точно для решения большинства задач, поэтому только классами, реализу-
ющими эти возможности, мы и ограничимся.
Smalltalk Express поддерживает и растровую, и векторную графику. Ри-
сунок в векторной графике задается как набор объектов, характеризуемых
цветом и математическим описанием их контуров. Любая графическая фор-
ма может представляться и преобразовываться в соответствии с ее геомет-
рическим описанием, не без учета разрешающей способности конкретного
графического устройства. Эта особенность векторной графики и позволяет
строить изображения, не зависящие от графического устройства.