CEGUI - CEGUI
![]() | Téma tohoto článku nemusí splňovat požadavky Wikipedie pokyny k pozoruhodnosti produktů a služeb.Listopadu 2018) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
![]() Ukázkové herní menu využívající CEGUI | |
Původní autoři | Paul D. Turner |
---|---|
Vývojáři | Tým CEGUI |
První vydání | Prosinec 2004 |
Stabilní uvolnění | 0.8.7 (28. dubna 2016[±][1] | )
Napsáno | C ++ |
Operační systém | Linux, OS X, Okna |
Typ | Sada widgetů |
Licence | MIT Před verzí 0.5.0: GNU LGPL[2] |
webová stránka | cegui |
Crazy Eddie's GUI (CEGUI) je grafické uživatelské prostředí (GUI) knihovna pro programovací jazyk C ++. Byl navržen pro potřeby videohry, ale je použitelný pro jiné než herní úkoly, jako jsou aplikace a nástroje. Je navržen pro uživatelskou flexibilitu vzhledu a chování a lze jej přizpůsobit výběru uživatele v nástrojích a operačních systémech.
Konfigurovatelnost
Silnou stránkou CEGUI je jeho robustnost[3] a jeho konfigurovatelnost. Systém nenačte přímo soubory, vykresluje okna, přímo zobrazuje text nebo dokonce načte vstup ze systému. CEGUI s nimi komunikuje prostřednictvím uživatelem definovaného kódu, i když jeho balíček zdrojového kódu přichází s řadou modulů pro používání určitých komponent a knihoven.
Tato svoboda umožňuje použití CEGUI v jakémkoli systému pro správu zdrojů nebo operačním prostředí. Očekává se, že vstup bude shromážděn kódem uživatele, případně filtrován podle uznání uživatele, a poté předán do CEGUI pro zpracování okna.
CEGUI přichází s rozumnou sadou widgetů, srovnatelných s těmi průměrných nástrojů pro widgety.
Nástroje
CEGUI lze plně přizpůsobit pomocí standardních nástrojů pro úpravu obrázků, xml a / nebo kódu. CEGUI však také poskytuje nástroje určené k pomoci při navrhování a vývoji rozhraní založených na CEGUI.
Starší verze CEGUI před verzí 0.8 poskytovaly samostatné nástroje pro úpravy různých aspektů rozhraní. Nejpozoruhodnější z nich jsou editory Imageset a Layout.
Od verze CEGUI 0.8 existuje nový jednotný editační nástroj s názvem CEGUI unified editor (CEED), který se aktivně vyvíjí.[4] Zahrnuje všechny aspekty vývoje grafického uživatelského rozhraní do jednoho nástroje.
Vykreslování
Vykreslování provádí back-end Vykreslovací modul. CEGUI poskytuje moduly pro Direct3D, OpenGL, OGRE 3D engine a Irrlichtův motor. Pro vlastní enginy lze zapsat další moduly.
Komponenty grafického uživatelského rozhraní CEGUI jsou uspořádány do stromu (grafu)[5] a jsou vykresleny v pořadí procházení stromem.
Správa zdrojů
Načítání souborů a správa prostředků jsou zpracovávány prostřednictvím back-endového „modulu poskytovatele prostředků“. Uživatelé mohou vytvářet vlastní moduly, které definují způsob přístupu k prostředkům. To umožňuje použití knihovny prakticky v jakémkoli operačním prostředí. Výchozí poskytovatel prostředků je multiplatformní a poskytuje standardní mechaniku přístupu k souborům pro načítání prostředků. Volitelné minizip modul umožňuje načítání prostředků ze zip archivů.
Správa paměti
CEGUI má flexibilní Správa paměti Systém. Tento systém byl založen na OGRE a umožňuje klientům mapovat různé typy alokátorů na různé typy objektů. Ve výchozím nastavení všechny objekty používají výchozí alokátor operačního systému. CEGUI poskytuje podporu pro OGRE a nedmalloc alokátory.
Skriptování
CEGUI má volitelný back-end Skriptovací modul. Lua a Krajta skriptovací moduly poskytuje CEGUI. Celý CEGUI aplikační programovací rozhraní (API) je k dispozici prostřednictvím skriptu, takže klienti mohou ve skriptovaném prostředí vytvářet okna, definovat vztahy a zpracovávat události.
Podívejte se a cítit
CEGUI má výkonný systém pro definování vzhledu a chování různých widgety. Systém s názvem Falagard umožňuje definovat vzhled widgetu pomocí souborů XML nebo kódu C ++, pokud to uživatel preferuje. Může také změnit chování rozložení všech widgetů.
Animace
CEGUI má zabudovaný animační systém. Tento systém umožňuje mnoho standardních přechodových efektů od přesunu a změny velikosti oken až po barevné transformace a sekvenování obrázků. Animace lze definovat v XML a spustit jakoukoli událostí. Klient může určit vlastnosti okna jako klíčové snímky, způsob přechodu mezi snímky a dobu přechodu mezi snímky.
Unicode
CEGUI je Unicode -aware a má podporu pro obousměrné jazyky prostřednictvím volitelného back-endu Modul Bidi. Tuto podporu poskytuje MiniBidi nebo PáBidi.
Závislosti knihovny
CEGUI lze vytvořit bez závislostí na vnějších knihovnách. Typické konfigurace však vyžadují FreeType, modul vykreslování, modul XML parser a modul obrazového kodeku. CEGUI již díky své modulární konstrukci poskytuje podporu několika externím knihovnám:
Typ | název | Dodatečné informace |
---|---|---|
Vykreslovací modul | Základní profil OpenGL 3.2+ | Používá programovatelný vykreslovací kanál a pouze nezastaralé funkce, a je proto kompatibilní s kontexty OpenGL Core Profile (k dispozici od verze OpenGL 3.2). Může být také použit se staršími verzemi OpenGL a / nebo profilem kompatibility, pokud jsou k dispozici potřebné funkce. |
OpenGL | Používá vykreslovací kanál s pevnou funkcí. Je navržen tak, aby byl kompatibilní s velmi ranými verzemi OpenGL, již v OpenGL 1.2, s použitím některých rozšíření OpenGL. | |
Microsoft Direct3D | Microsoft Direct3D 9, 10 a 11 jsou podporovány pomocí samostatných modulů. | |
OGRE | Ve verzích je podporována nejnovější stabilní verze Ogre. | |
Irrlichtův motor | Ve verzích je podporována nejnovější stabilní verze Irrlicht. | |
Modul obrazového kodeku | Jednoduché načítání obrázků LibrarY (HLOUPÝ) | Výchozí obrazový kodek, který je založen na knihovně SILLY. Podporuje mnoho formátů.[6] |
Ďábel | Kodek obrazu založený na knihovně DevIL. | |
FreeImage | Kodek obrázků založený na knihovně FreeImage. | |
OGRE | Kodek obrazu, který načítá data prostřednictvím zařízení pro načítání obrázků OGRE. | |
Modul poskytovatele zdrojů | Výchozí | Poskytovatele interních prostředků CEGUI lze použít, aniž byste vyžadovali další modul. Využívá standardní multiplatformní přístup k souborům. |
OGRE | Uživatelé Ogre mohou používat Ogre ResourceManager společnosti CEGUI. Tímto způsobem lze určit umístění prostředků CEGUI stejným způsobem, jako je tomu již u prostředků Ogre. | |
minizip | CEGUI's MinizipResourceProvider allows provides the ability to load resource files from locations within .zip files. | |
Modul XML Parser | Expat | Výchozí analyzátor XML CEGUI. Používá Expat knihovna pro analýzu XML. |
LibXML2 | Používá LibXML2 knihovna pro analýzu XML. | |
RapidXml | Pro analýzu XML používá knihovnu RapidXml. | |
TinyXML | Používá TinyXML knihovna pro analýzu XML. | |
Xerces -C ++ | Používá knihovnu Xerces-C ++ pro analýzu XML. Může ověřovat schémata pomocí souborů .xsd poskytnutých ve zdrojích CEGUI. | |
Modul písma | FreeType | FreeType je výchozí knihovna písem CEGUI a v současné době jediná oficiálně podporovaná. |
Modul regulárních výrazů | Perl kompatibilní regulární výrazy (PCRE) | Výchozí knihovna regulárních výrazů a aktuálně jediná oficiálně podporovaná. Používá PCRE. |
Skriptovací modul | Lua | Poskytuje vazby lua pomocí tolua ++. |
Krajta | Oficiální vazby Pythonu jsou k dispozici pomocí PyCEGUI[7] | |
Správa paměti | OGRE | Alokátor paměti Ogre lze volitelně použít pro správu paměti CEGUI. |
nedmalloc | nedmalloc lze volitelně použít jako alokátor paměti. | |
Obousměrný jazykový modul | MiniBIDI | MiniBIDI založená implementace vizuálního mapování Bidi CEGUI. |
FriBIDI[8] | FriBIDI založená implementace vizuálního mapování Bidi CEGUI. |
Knihovna Ogre3D byla pro své uživatelské rozhraní závislá na knihovně CEGUI[9] ale Ogre3D se od té doby změnil, aby zahrnoval vlastní řešení uživatelského rozhraní, které je štíhlejší, ale také poskytuje méně funkcí.
Historie vydání
Verze | Datum vydání |
---|---|
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 |
Viz také
Reference
- ^ http://cegui.org.uk/download/cegui-087
- ^ http://www.libsdl.org/license.php
- ^ MacDonald, Mickey (29. ledna 2018). Zvládnutí vývoje her v C ++: vytvářejte profesionální a realistické 3D hry pomocí C ++ 17. Birmingham, Velká Británie. ISBN 978-1-78862-983-6. OCLC 1023864109.
- ^ CEED
- ^ Všudypřítomná práce na počítači a propojený svět: Společná mezinárodní konference, ICPCA / SWS 2012, Istanbul, Turecko, 28. – 30. Listopadu 2012, revidované vybrané příspěvky. Zu, Qiaohong., Hu, Bo., Elçi, Atilla., IEEE Symposium on Web Society (2012: Istanbul, Turecko). Berlín: Springer. 2013. ISBN 978-3-642-37015-1. OCLC 830532405.CS1 maint: ostatní (odkaz)
- ^ http://cegui.org.uk/wiki/SILLY
- ^ http://cegui.org.uk/wiki/PyCEGUI
- ^ http://www.fribidi.org
- ^ Thorn, Alan. (2008). Vývoj her pro různé platformy. Plano, Tex .: Wordware Pub. ISBN 978-1-59822-056-8. OCLC 213408662.
- ^ http://sourceforge.net/projects/crayzedsgui/files/CEGUI%20Mk-2/0.1.0/