Разработчик(и) | Стефан Штунц |
---|---|
Первоначальный выпуск | 1993 ( 1993 ) |
Стабильный релиз | 5.0 / 19 июня 2015 г. ( 2015-06-19 ) |
Операционная система | AmigaOS , MorphOS |
Платформа | Амига |
Тип | Набор инструментов для виджетов |
Лицензия | Запатентованное / Условно-бесплатное программное обеспечение |
Веб-сайт | www.sasg.com/mui/ |
Magic User Interface ( MUI вкратце) — это объектно-ориентированная система Стефана Штунца для создания и поддержки графических пользовательских интерфейсов . С помощью программы настроек пользователь приложения имеет возможность настраивать систему в соответствии с личным вкусом.
Magic User Interface был написан для AmigaOS и завоевал популярность как среди программистов, так и среди пользователей. Он был перенесен на процессоры PowerPC и принят в качестве инструментария GUI по умолчанию операционной системы MorphOS . Интерфейс программиста приложений MUI был клонирован инструментарием Zune , используемым в исследовательской операционной системе AROS . [1]
Создание приложений GUI на Amiga было сложным в течение очень долгого времени, в основном потому, что программист получал лишь мизерную поддержку от операционной системы. Начиная с Kickstart 2.0, gadtools.library был шагом в правильном направлении, однако даже использование этой библиотеки для создания сложных и гибких интерфейсов оставалось сложным и по-прежнему требовало большого терпения.
Самой большой проблемой в существующих инструментах для создания пользовательских интерфейсов был негибкий вывод. Большинство программ все еще использовали встроенные шрифты и размеры окон, что делало использование новых графических аппаратных адаптеров высокого разрешения практически невыносимым. Даже программы предпочтений в Workbench все еще использовали только шрифт фиксированной ширины по умолчанию.
В 1992 году Стефан Штунтц начал разрабатывать новый объектно-ориентированный GUI-инструментарий для Amiga. Главными целями нового GUI-инструментария были:
MUI был выпущен как shareware . Начиная с MUI 3.9 неограниченная версия интегрирована с MorphOS, но для активации всех пользовательских параметров конфигурации в AmigaOS по-прежнему требуется shareware-ключ.
Разработка пользовательского интерфейса выполняется на уровне исходного кода без помощи конструкторов графического интерфейса. В приложении MUI программист определяет только логическую структуру графического интерфейса, а макет определяется во время выполнения в зависимости от конфигурации пользователя. В отличие от других наборов инструментов графического интерфейса разработчик не определяет точные координаты для объектов пользовательского интерфейса, а только их относительное расположение друг относительно друга с помощью групп объектов. В традиционном кодировании пользовательского интерфейса на основе Intuition программист должен был рассчитать расположение гаджетов относительно размеров шрифта и границ. По умолчанию все элементы пользовательского интерфейса можно изменять в размере и менять их размер в соответствии с размером окна. Он также может автоматически переключаться на меньший шрифт или скрывать элементы пользовательского интерфейса, если на экране недостаточно места для отображения окна с полным содержимым. Это значительно упрощает создание пользовательского интерфейса, который хорошо адаптируется как к маленьким, так и к большим дисплеям. [3] [4] [5]
На сегодняшний день существует более 50 встроенных классов MUI, а также различные сторонние классы MUI.
// Полное приложение MUI #include <libraries/mui.h> #include <proto/muimaster.h> // Пример приложения: ApplicationObject , SubWindow , WindowObject , WindowContents , VGroup , Child , TextObject , MUIA_Text_Contents , "Hello World!" , End , End , End , End ;
Этот пример кода создает небольшое приложение MUI с текстом "Hello World!", отображаемым на нем. Также возможно встраивать другие объекты набора инструментов GUI на основе BOOPSI внутрь приложения MUI.
Вот некоторые известные приложения, использующие MUI в качестве набора виджетов:
В настоящее время в мире Amiga есть два основных инструментария виджетов, которые конкурируют друг с другом. Наиболее широко используется MUI (принят в AROS , MorphOS и в большинстве программ Amiga), другой — ReAction , принятый в AmigaOS 3.5. В разработке находится оболочка GTK MUI, которая позволит портировать различное программное обеспечение на основе GTK . [6] Также есть современные интерфейсы на основе XML, Feelin.
MUI расширил четырехцветную палитру Workbench четырьмя дополнительными цветами, что позволило добиться более плавных градиентов с менее заметным размыванием . MagicWB, сопутствующий MUI, использовал эту расширенную палитру для предоставления более привлекательных значков для замены устаревших значков Workbench по умолчанию. MUI 4 добавил поддержку альфа-смешивания и поддержку определяемых пользователем форм виджетов.
Восьмицветная палитра MUI | ||||||||
---|---|---|---|---|---|---|---|---|
Цвет | ||||||||
Красный | 149 | 000 | 255 | 59 | 123 | 175 | 170 | 255 |
Зеленый | 149 | 000 | 255 | 103 | 123 | 175 | 144 | 169 |
Синий | 149 | 000 | 255 | 162 | 123 | 175 | 124 | 151 |