Jump to content

CEGUI

CEGUI
Оригинальный автор(ы) Пол Д. Тернер
Разработчик(и) Команда CEGUI
Первоначальный выпуск декабрь 2004 г .; 19 лет назад ( 2004-12 )
Стабильная версия 0.8.7 (28 апреля 2016 г .; 8 лет назад ( 28 апреля 2016 г. ) ) [±] [1]
Написано в С++
Операционная система Линукс , ОС Х , Windows
Тип Набор инструментов для виджетов
Лицензия С
До версии 0.5.0:
ГНУ ЛГПЛ [2]
Веб-сайт Сеги .org .uk

GUI Crazy Eddie ( 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 Engine . Другие модули могут быть написаны для пользовательских движков.

Компоненты графического интерфейса 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 уже обеспечивает поддержку нескольких внешних библиотек благодаря своей модульной конструкции:

Внешние библиотеки, поддерживаемые CEGUI
Тип Имя Дополнительная информация
Модуль рендеринга Основной профиль OpenGL 3.2+ Использует программируемый конвейер рендеринга и только неустаревшие функции и, следовательно, совместим с контекстами основного профиля OpenGL (доступен, начиная с OpenGL 3.2). Его также можно использовать со старыми версиями OpenGL и/или профилем совместимости, если доступны необходимые функции.
OpenGL Использует конвейер рендеринга с фиксированной функцией. Он разработан для совместимости с очень ранними версиями OpenGL, начиная с OpenGL 1.2, с использованием некоторых расширений OpenGL.
Microsoft Директ3D Microsoft Direct3D 9, 10 и 11 поддерживаются с помощью отдельных модулей.
ОГРЕ В выпусках поддерживается последняя стабильная версия Ogre.
Иррлихт Двигатель В выпусках поддерживается последняя стабильная версия Irrlicht.
Модуль кодека изображения Простая библиотека загрузки изображений (ГЛУПО) Кодек изображения по умолчанию, основанный на библиотеке SILLY. Поддерживает множество форматов. [6]
ДевИЛ Кодек изображений на основе библиотеки DevIL.
Бесплатное изображение Кодек изображений на основе библиотеки FreeImage.
ОГРЕ Кодек изображения, загружающий данные через средства загрузки изображений OGRE.
Модуль поставщика ресурсов По умолчанию Внутреннего поставщика ресурсов CEGUI можно использовать без необходимости использования дополнительного модуля. Он использует стандартный кроссплатформенный доступ к файлам.
ОГРЕ Пользователи Ogre могут использовать Ogre ResourceManager CEGUI. Таким образом, местоположения ресурсов CEGUI могут быть указаны так же, как это уже сделано для ресурсов Ogre.
мини-zip MinizipResourceProvider CEGUI позволяет загружать файлы ресурсов из мест в файлах .zip.
Модуль XML-парсера Эмигрант XML-парсер по умолчанию CEGUI. Использует библиотеку Expat для анализа XML.
LibXML2 Использует библиотеку LibXML2 для анализа XML.
РапидXml Использует библиотеку RapidXml для анализа XML.
КрошечныйXML Использует библиотеку TinyXML для анализа XML.
Ксерцес -C++ Использует библиотеку Xerces-C++ для анализа XML. Он может проверять схемы, используя файлы .xsd, представленные в ресурсах CEGUI.
Модуль шрифтов FreeType FreeType — это библиотека шрифтов CEGUI по умолчанию и в настоящее время единственная официально поддерживаемая.
Модуль регулярных выражений Perl-совместимые регулярные выражения (PCRE) Библиотека регулярных выражений по умолчанию и на данный момент единственная официально поддерживаемая. Использует PCRE.
Модуль сценариев Два Предоставляет привязки Lua с использованием tolua++.
Питон Официальные привязки Python доступны с помощью PyCEGUI. [7]
Управление памятью ОГРЕ Распределитель памяти Ogre может дополнительно использоваться для управления памятью CEGUI.
недмаллок nedmalloc может опционально использоваться в качестве распределителя памяти.
Двунаправленный языковой модуль МиниБИДИ MiniBIDI Реализация визуального отображения Bidi CEGUI на основе .
ПтBIDI [8] FriBIDI Реализация визуального отображения Bidi CEGUI на основе .

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

История выпусков

[ редактировать ]
Версия Дата выпуска
0.1.0 2004-12-19 [10]
0.1.1 2005-01-23
0.2.0 2005-02-17
0.2.1 2005-05-30
0.3.0 2005-06-30
0.4.0 2005-09-07
0.4.1 2005-11-26
0.5.0 2006-11-06
0.6.0 2008-03-27
0.6.2 2008-12-03
0.7.0 2009-09-20
0.7.1 2009-10-26
0.7.2 2010-08-29
0.7.3 2010-10-08
0.7.4 2010-10-11
0.7.5 2010-11-20
0.7.6 2012-01-22
0.7.7 2012-06-23
0.7.8 2013-01-08
0.7.9 2013-01-13
0.8.0 2013-05-26
0.8.1 2013-06-05
0.8.2 2013-06-12
0.8.3 2013-12-07
0.8.4 2014-07-07
0.8.5 2016-03-12

См. также

[ редактировать ]
  1. ^ https://github.com/cegui/cegui/releases/tag/v0-8-7
  2. ^ «Простой уровень DirectMedia — Лицензия» .
  3. ^ Макдональд, Микки (29 января 2018 г.). Освоение разработки игр на C++: создавайте профессиональные и реалистичные 3D-игры с использованием C++ 17 . Бирмингем, Великобритания. ISBN  978-1-78862-983-6 . OCLC   1023864109 . {{cite book}}: CS1 maint: отсутствует местоположение издателя ( ссылка )
  4. ^ CEED
  5. ^ Повсеместные вычисления и сетевой мир: Совместная международная конференция, ICPCA/SWS 2012, Стамбул, Турция, 28-30 ноября 2012 г., Пересмотренные избранные статьи . Цзу, Цяохун, Ху, Бо, Эльчи, Атилла, Симпозиум IEEE по веб-сообществу (2012: Стамбул, Турция). Берлин: Шпрингер. 2013. ISBN  978-3-642-37015-1 . OCLC   830532405 . {{cite book}}: CS1 maint: другие ( ссылка )
  6. ^ «SILLY — CEGUI Wiki — Система графического интерфейса Сумасшедшего Эдди (с открытым исходным кодом)» .
  7. ^ «PyCEGUI — CEGUI Wiki — Система графического интерфейса Crazy Eddie (с открытым исходным кодом)» .
  8. ^ "Дом" . сайт Fribidi.org .
  9. ^ Торн, Алан. (2008). Кроссплатформенная разработка игр . Плано, Техас: Wordware Pub. ISBN  978-1-59822-056-8 . OCLC   213408662 .
  10. ^ «Система графического интерфейса Crazy Eddies (CEGUI) — просмотрите /CEGUI Mk-2/0.1.0 на SourceForge.net» .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: a9f195388bfa9cd8426c84095b81a810__1659928200
URL1:https://arc.ask3.ru/arc/aa/a9/10/a9f195388bfa9cd8426c84095b81a810.html
Заголовок, (Title) документа по адресу, URL1:
CEGUI - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)