Освой компьютер
Эта
функция на короткое время заполняет экран оранжевым (как правило) цветом,
имитируя звуковой сигнал. Например: DisplayBeep = -96
...
move.l intbase(PC),A6 ;база intuition.library
move.l screenhd(PC),A0 ;идентификатор экрана
jsr DisplayBeep(A6) ;\"подсветить\" экран Если вместо идентификатора экрана задать ноль, \"подсветится\" вся видео-
область. Итак, теперь мы можем открывать экраны и манипулировать ими. Этого, однако,
не достаточно для создания \"полноценного\" интерфейса. Конечно, Вы можете
использовать собственные подпрограммы для вывода графики и текста на экран,
но, согласитесь, гораздо проще и удобнее работать с библиотечными
функциями, которые, к тому же, обеспечивают полную совместимость с
операционной системой. Intuition содержит такие функции, однако многие из
них работают с окнами, а не с экранами. В следующем пункте мы покажем, как
открывать окна на произвольном экране. 7.2. Создание окон. В пункте 6.3 мы рассматривали работу с окнами ввода/вывода, используя
функции dos.library. На самом деле окно ввода/вывода - это простое окно
Intuition, которое создается и управлятся операционной системой, и поэтому
не обладает всеми свойствами \"нормального\" окна. В частности, нельзя
создать окно ввода/вывода на произвольном экране.
Изучив этот пункт, Вы сможете создавать окна на уровне Intuition. Для этого
существует специальная функция - OpenWindow (смещение -204 в
intuition.library), параметром которой является указатель на таблицу,
описывающую создаваемое окно. Таблица параметров окна похожа на рассмотренную выше таблицу параметров
экрана. Первые четыре слова определяют положение и размеры окна: window_defs:
dc.w 10 ;X - координата
dc.w 20 ;Y - координата
dc.w 300 ;ширина окна (размер по X)
dc.w 150 ;высота окна (размер по Y) Затем следуют два байта, определяющие цвета текста и фона: dc.b 1 ;цвет текста (белый)
dc.b 3 ;цвет фона (красный) Следующая запись определяет набор битов, влияющих на рассылку событий
(сообщений) создаваемому окну (IDCMP - флаги).
AMIGA: ПРОГРАММИРОВАНИЕ НА АССЕМБЛЕРЕ.
|