Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

GUI Сумасшедшего Эдди ( CEGUI ) - это библиотека графического интерфейса пользователя (GUI) для языка программирования C ++ . Он был разработан для нужд видеоигр , но может использоваться для неигровых задач, таких как приложения и инструменты. Он разработан для обеспечения гибкости внешнего вида и удобства пользователя и может быть адаптирован к выбору пользователя в отношении инструментов и операционных систем.

Возможность настройки [ править ]

Сильные стороны CEGUI - его надежность [3] и возможность настройки. Система не загружает файлы напрямую, не отображает окна, не отображает текст и даже не получает ввод из системы. CEGUI взаимодействует с ними через определяемый пользователем код, хотя его пакет с исходным кодом поставляется с рядом модулей для использования определенных компонентов и библиотек.

Эта свобода позволяет использовать CEGUI в любой системе управления ресурсами или операционной среде. Ожидается, что ввод будет собран кодом пользователя, возможно, отфильтрован по усмотрению пользователя, а затем передан в CEGUI для обработки окна.

CEGUI поставляется с разумным набором виджетов, сравнимым со средним набором виджетов.

Инструменты [ править ]

CEGUI можно полностью настроить с помощью стандартных инструментов редактирования изображений, xml и / или кода. Однако CEGUI также предоставляет инструменты, предназначенные для помощи в проектировании и разработке интерфейсов на основе CEGUI.

Более старые версии CEGUI, до 0.8, предоставляли отдельные инструменты для редактирования различных аспектов интерфейса. Наиболее заметными из них являются редакторы Imageset и Layout.

Начиная с CEGUI 0.8, существует новый унифицированный инструмент редактирования, называемый унифицированным редактором CEGUI (CEED), который активно развивается. [4] Он объединяет все аспекты разработки графического интерфейса в одном инструменте.

Рендеринг [ править ]

Рендеринг выполняется внутренним модулем рендеринга . CEGUI предоставляет модули для Direct3D , OpenGL , движка OGRE 3D и движка Irrlicht . Другие модули могут быть написаны для собственных движков.

Компоненты графического интерфейса пользователя CEGUI организованы в виде дерева (графа) [5] и отображаются в порядке обхода дерева.

Управление ресурсами [ править ]

Загрузка файлов и управление ресурсами осуществляется через внутренний «модуль поставщика ресурсов». Пользователи могут создавать собственные модули, чтобы определять способ доступа к ресурсам. Это позволяет использовать библиотеку практически в любой операционной среде. Поставщик ресурсов по умолчанию является кроссплатформенным и предоставляет стандартные механизмы доступа к файлам для загрузки ресурсов. Дополнительный модуль minizip позволяет загружать ресурсы из zip-архивов.

Управление памятью [ править ]

CEGUI имеет гибкую систему управления памятью . Эта система была основана на OGRE и позволяет клиентам сопоставлять разные типы распределителей памяти с разными типами объектов. По умолчанию все объекты используют распределитель по умолчанию операционной системы. CEGUI обеспечивает поддержку распределителей OGRE и nedmalloc .

Сценарии [ править ]

CEGUI имеет дополнительный модуль сценариев серверной части . Модули сценариев Lua и Python предоставляются CEGUI. Полный интерфейс прикладного программирования (API) CEGUI доступен через скрипт, так что клиенты могут создавать окна, определять отношения и обрабатывать события в скриптовой среде.

Посмотрите и почувствуйте [ править ]

CEGUI имеет мощную систему для определения внешнего вида различных виджетов . Система, названная Falagard, позволяет определять внешний вид виджета через файлы XML или код C ++, если пользователь предпочитает. Он также может изменить поведение макета любых виджетов.

Анимация [ править ]

CEGUI имеет встроенную систему анимации. Эта система позволяет использовать множество стандартных переходных эффектов от перемещения окон и изменения их размеров до преобразования цвета и последовательности изображений. Анимации могут быть определены в XML и запускаться любым событием. Клиент может указать свойства окна как ключевые кадры, способ перехода между кадрами и время перехода между кадрами.

Юникод [ править ]

CEGUI поддерживает Unicode и поддерживает двунаправленные языки через дополнительный внутренний модуль Bidi . Эта поддержка предоставляется MiniBidi или FriBidi .

Зависимости библиотеки [ править ]

CEGUI может быть построен без зависимости от внешних библиотек. Однако для типичных конфигураций требуется FreeType , модуль рендеринга, модуль синтаксического анализатора XML и модуль кодека изображений. CEGUI уже обеспечивает поддержку нескольких внешних библиотек благодаря своей модульной конструкции:

Библиотека Ogre3D раньше зависела от библиотеки CEGUI для своего пользовательского интерфейса [9], но с тех пор Ogre3D был изменен, чтобы включить собственное решение пользовательского интерфейса, которое стало более тонким, но также обеспечивает меньшую функциональность.

История выпусков [ править ]

См. Также [ править ]

  • Список наборов инструментов для виджетов
  • Список платформо-независимых библиотек GUI

Ссылки [ править ]

  1. ^ http://cegui.org.uk/download/cegui-087
  2. ^ http://www.libsdl.org/license.php
  3. Макдональд, Микки (29 января 2018 г.). Освоение разработки игр на C ++: создавайте профессиональные и реалистичные 3D-игры с помощью C ++ 17 . Бирмингем, Великобритания. ISBN 978-1-78862-983-6. OCLC  1023864109 .
  4. ^ CEED
  5. ^ Распространенные вычисления и сетевой мир: Совместная международная конференция, ICPCA / SWS 2012, Стамбул, Турция, 28-30 ноября 2012 г., Пересмотренные избранные документы . Зу, Цяохун., Ху, Бо., Эльчи, Атилла., Симпозиум IEEE по веб-сообществу (2012: Стамбул, Турция). Берлин: Springer. 2013. ISBN. 978-3-642-37015-1. OCLC  830532405 .CS1 maint: другие ( ссылка )
  6. ^ http://cegui.org.uk/wiki/SILLY
  7. ^ http://cegui.org.uk/wiki/PyCEGUI
  8. ^ http://www.fribidi.org
  9. Торн, Алан. (2008). Кроссплатформенная разработка игр . Плано, Техас: Wordware Pub. ISBN 978-1-59822-056-8. OCLC  213408662 .
  10. ^ http://sourceforge.net/projects/crayzedsgui/files/CEGUI%20Mk-2/0.1.0/

Внешние ссылки [ править ]

  • Официальный веб-сайт