سيجوي
واجهة المستخدم الرسومية لكريزي إيدي ( CEGUI ) هي مكتبة واجهات مستخدم رسومية (GUI) للغة البرمجة C++ . صُممت لتلبية احتياجات ألعاب الفيديو ، ولكنها قابلة للاستخدام في مهام أخرى غير الألعاب، مثل التطبيقات والأدوات. صُممت لتوفير مرونة للمستخدم في المظهر والتجربة، وقابلية التكيف مع اختياراته من الأدوات وأنظمة التشغيل.
قابلية التكوين
تكمن نقاط قوة CEGUI في متانتها [ 3 ] وقابليتها للتخصيص. لا يقوم النظام بتحميل الملفات أو عرض النوافذ أو عرض النصوص مباشرةً، ولا حتى جلب المدخلات من النظام. يتفاعل CEGUI مع هذه العناصر من خلال كود يُحدده المستخدم، على الرغم من أن حزمة الكود المصدري الخاصة به تتضمن عددًا من الوحدات النمطية لاستخدام مكونات ومكتبات معينة.
تتيح هذه الحرية استخدام CEGUI في أي نوع من أنظمة إدارة الموارد أو بيئات التشغيل. من المتوقع أن يقوم كود المستخدم بجمع المدخلات، وربما تصفيتها حسب ما يراه المستخدم مناسبًا، ثم تمريرها إلى CEGUI لمعالجة النوافذ.
يأتي برنامج CEGUI مزودًا بمجموعة معقولة من الأدوات، قابلة للمقارنة بتلك الموجودة في مجموعة أدوات الأدوات العادية.
أدوات
يمكن تخصيص CEGUI بالكامل باستخدام أدوات تحرير الصور وملفات XML والبرمجيات القياسية. ومع ذلك، يوفر CEGUI أيضًا أدوات مصممة للمساعدة في تصميم وتطوير واجهات المستخدم القائمة على CEGUI.
كانت الإصدارات القديمة من CEGUI، قبل الإصدار 0.8، توفر أدوات منفصلة لتحرير جوانب مختلفة من واجهة المستخدم. وأبرزها محررات مجموعات الصور والتخطيطات.
منذ إصدار CEGUI 0.8، توجد أداة تحرير موحدة جديدة تُسمى محرر CEGUI الموحد (CEED) والتي يجري تطويرها بنشاط. [ 4 ] وهي تجمع جميع جوانب تطوير واجهات المستخدم الرسومية في أداة واحدة.
عرض
تتم عملية العرض بواسطة وحدة عرض خلفية . يوفر برنامج CEGUI وحدات لـ Direct3D و OpenGL ومحرك OGRE ثلاثي الأبعاد ومحرك Irrlicht . ويمكن كتابة وحدات أخرى لمحركات مخصصة.
يتم تنظيم مكونات واجهة المستخدم الرسومية لـ CEGUI في شجرة (رسم بياني) [ 5 ] ويتم عرضها بترتيب اجتياز الشجرة.
إدارة الموارد
تتم إدارة تحميل الملفات والموارد من خلال وحدة "موفر الموارد" في الواجهة الخلفية. يمكن للمستخدمين إنشاء وحدات مخصصة لتحديد كيفية الوصول إلى الموارد، مما يسمح باستخدام المكتبة في أي بيئة تشغيل تقريبًا. موفر الموارد الافتراضي متوافق مع مختلف الأنظمة الأساسية، ويوفر آليات قياسية للوصول إلى الملفات لتحميل الموارد. كما تتيح وحدة minizip الاختيارية تحميل الموارد من ملفات مضغوطة.
إدارة الذاكرة
يتميز برنامج CEGUI بنظام إدارة ذاكرة مرن . يعتمد هذا النظام على OGRE، ويتيح للعملاء ربط أنواع مختلفة من مُخصِّصات الذاكرة بأنواع مختلفة من الكائنات. افتراضيًا، تستخدم جميع الكائنات مُخصِّص الذاكرة الافتراضي لنظام التشغيل. يدعم CEGUI مُخصِّصات الذاكرة OGRE و nedmalloc .
كتابة البرامج النصية
يحتوي CEGUI على وحدة برمجة نصية اختيارية للواجهة الخلفية . يوفر CEGUI وحدات برمجة نصية بلغة Lua و Python . تتوفر واجهة برمجة تطبيقات CEGUI الكاملة (API) عبر البرمجة النصية، مما يتيح للعملاء إنشاء النوافذ، وتحديد العلاقات، ومعالجة الأحداث، كل ذلك ضمن بيئة برمجية.
المظهر والملمس
يحتوي CEGUI على نظام قوي لتحديد مظهر ووظائف مختلف الأدوات . يتيح هذا النظام، المسمى Falagard، تحديد مظهر الأداة عبر ملفات XML، أو باستخدام كود C++، إذا رغب المستخدم بذلك. كما يمكنه تغيير سلوك تخطيط أي أداة.
الرسوم المتحركة
يحتوي برنامج CEGUI على نظام رسوم متحركة مدمج. يتيح هذا النظام العديد من التأثيرات الانتقالية القياسية، بدءًا من تحريك النوافذ وتغيير حجمها وصولًا إلى تحويلات الألوان وتسلسل الصور. يمكن تعريف الرسوم المتحركة باستخدام لغة XML وتفعيلها عند وقوع أي حدث. يستطيع المستخدم تحديد خصائص النافذة كإطارات رئيسية، وكيفية الانتقال بين الإطارات، ومدة الانتقال بينها.
يونيكود
يدعم برنامج CEGUI ترميز Unicode ، كما يدعم اللغات ثنائية الاتجاه عبر وحدة Bidi اختيارية في الواجهة الخلفية . ويتم توفير هذا الدعم بواسطة MiniBidi أو FriBidi .
تبعيات المكتبة
يمكن بناء CEGUI دون الاعتماد على مكتبات خارجية. مع ذلك، تتطلب التكوينات النموذجية FreeType ، ووحدة عرض، ووحدة تحليل XML، ووحدة ترميز الصور. يوفر CEGUI بالفعل دعمًا للعديد من المكتبات الخارجية بفضل تصميمه المعياري.
| يكتب | اسم | معلومات إضافية |
|---|---|---|
| وحدة العرض | OpenGL 3.2+ Core Profile | يستخدم هذا البرنامج مسار العرض القابل للبرمجة والوظائف غير المهملة فقط، وبالتالي فهو متوافق مع سياقات OpenGL Core Profile (المتوفرة منذ OpenGL 3.2). كما يمكن استخدامه مع إصدارات OpenGL الأقدم و/أو ملفات تعريف التوافق، طالما أن الوظائف المطلوبة متوفرة. |
| OpenGL | يستخدم خط أنابيب العرض ذو الوظائف الثابتة. وهو مصمم ليكون متوافقًا مع الإصدارات المبكرة جدًا من OpenGL، بدءًا من OpenGL 1.2، باستخدام بعض ملحقات OpenGL. | |
| مايكروسوفت دايركت ثري دي | يتم دعم Microsoft Direct3D 9 و 10 و 11 باستخدام وحدات منفصلة. | |
| غول | يتم دعم أحدث إصدار مستقر من Ogre في الإصدارات. | |
| محرك إيرليخت | يتم دعم أحدث إصدار مستقر من Irrlicht في الإصدارات. | |
| وحدة ترميز الصور | مكتبة تحميل الصور البسيطة (SILLY) | برنامج ترميز الصور الافتراضي، والذي يعتمد على مكتبة SILLY. يدعم العديد من التنسيقات. [ 6 ] |
| شيطان | برنامج ترميز الصور يعتمد على مكتبة DevIL. | |
| صورة مجانية | برنامج ترميز الصور يعتمد على مكتبة FreeImage. | |
| غول | برنامج ترميز الصور الذي يقوم بتحميل البيانات عبر مرافق تحميل الصور الخاصة بـ OGRE. | |
| وحدة موفر الموارد | تقصير | يمكن استخدام موفر الموارد الداخلي لـ CEGUI دون الحاجة إلى وحدة إضافية. وهو يستخدم الوصول القياسي إلى الملفات عبر المنصات المختلفة. |
| غول | يمكن لمستخدمي Ogre استخدام مدير موارد Ogre الخاص بـ CEGUI. وبهذه الطريقة، يمكن تحديد مواقع موارد CEGUI بنفس الطريقة المتبعة بالفعل مع موارد Ogre. | |
| minizip | تتيح خاصية MinizipResourceProvider في CEGUI إمكانية تحميل ملفات الموارد من مواقع داخل ملفات .zip. | |
| وحدة تحليل XML | مغترب | محلل XML الافتراضي لـ CEGUI. يستخدم مكتبة Expat لتحليل XML. |
| LibXML2 | يستخدم مكتبة LibXML2 لتحليل XML. | |
| RapidXml | يستخدم مكتبة RapidXml لتحليل XML. | |
| TinyXML | يستخدم مكتبة TinyXML لتحليل XML. | |
| Xerces -C++ | يستخدم مكتبة Xerces-C++ لتحليل XML. ويمكنه التحقق من صحة المخططات باستخدام ملفات .xsd المتوفرة في موارد CEGUI. | |
| وحدة الخط | فري تايب | FreeType هي مكتبة الخطوط الافتراضية لـ CEGUI وهي حاليًا المكتبة الوحيدة المدعومة رسميًا. |
| وحدة التعبير النمطي | التعبيرات النمطية المتوافقة مع لغة بيرل (PCRE) | مكتبة التعبيرات النمطية الافتراضية، وهي حاليًا المكتبة الوحيدة المدعومة رسميًا. تستخدم PCRE. |
| وحدة البرمجة النصية | لغة لوا | يوفر روابط لغة Lua باستخدام tolua++. |
| بايثون | تتوفر روابط بايثون الرسمية باستخدام PyCEGUI [ 7 ] | |
| إدارة الذاكرة | غول | يمكن استخدام مُخصِّص الذاكرة الخاص بـ Ogre اختياريًا لإدارة الذاكرة في CEGUI. |
| nedmalloc | يمكن استخدام nedmalloc اختيارياً كمخصص للذاكرة. | |
| وحدة لغة ثنائية الاتجاه | مينيبيدي | تطبيق قائم على MiniBIDI لرسم الخرائط المرئية ثنائية الأبعاد في CEGUI. |
| فريبيدي [ 8 ] | تطبيق قائم على FriBIDI لرسم الخرائط المرئية ثنائية الأبعاد من CEGUI. |
كانت مكتبة Ogre3D تعتمد على مكتبة CEGUI لواجهة المستخدم الخاصة بها [ 9 ] ولكن Ogre3D قد تغيرت منذ ذلك الحين لتضمين حل واجهة المستخدم الخاص بها، وهو حل أبسط ولكنه يوفر أيضًا وظائف أقل.
سجل الإصدارات
| إصدار | تاريخ الافراج عنه |
|---|---|
| 0.1.0 | 2004-12-19 [ 10 ] |
| 0.1.1 | 23 يناير 2005 |
| 0.2.0 | 17-02-2005 |
| 0.2.1 | 30-05-2005 |
| 0.3.0 | 30-06-2005 |
| 0.4.0 | 2005-09-07 |
| 0.4.1 | 2005-11-26 |
| 0.5.0 | 2006-11-06 |
| 0.6.0 | 27-03-2008 |
| 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 | 13-01-2013 |
| 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 |
انظر أيضاً
مراجع
- ↑ https://github.com/cegui/cegui/releases/tag/v0-8-7
- ↑ "Simple DirectMedia Layer - License" .
- ↑ ماكدونالد، ميكي (29 يناير 2018). إتقان تطوير ألعاب C++ : إنشاء ألعاب ثلاثية الأبعاد احترافية وواقعية باستخدام C++ 17. برمنغهام، المملكة المتحدة. ISBN 978-1-78862-983-6. OCLC 1023864109 .
{{cite book}}: CS1 maint: موقع الناشر مفقود ( رابط ) - ↑ CEED
- ↑ الحوسبة المنتشرة والعالم الشبكي : المؤتمر الدولي المشترك، ICPCA/SWS 2012، إسطنبول، تركيا، 28-30 نوفمبر 2012، أوراق مختارة منقحة . زو، تشياوهونغ، هو، بو، إلتشي، أتيلا، ندوة IEEE حول مجتمع الويب (2012 : إسطنبول، تركيا). برلين: سبرينغر. 2013. ISBN 978-3-642-37015-1. OCLC 830532405 .
{{cite book}}صيانة CS1: أخرى ( رابط ) - ↑ "SILLY - CEGUI Wiki - Crazy Eddie's GUI System (Open Source)" .
- ↑ "PyCEGUI - CEGUI Wiki - Crazy Eddie's GUI System (Open Source)" .
- ↑ "الصفحة الرئيسية" . fribidi.org .
- ↑ ثورن، آلان. (2008). تطوير الألعاب متعددة المنصات . بلانو، تكساس: دار نشر ووردوير. ISBN 978-1-59822-056-8. OCLC 213408662 .
- ↑ "Crazy Eddies GUI System (CEGUI) - Browse /CEGUI Mk-2/0.1.0 at SourceForge.net" .
روابط خارجية
- واجهات برمجة التطبيقات
- برامج متعددة المنصات
- مكتبات حاسوب مجانية
- واجهات المستخدم الرسومية
- لغة البرمجة Lua (لغة برمجة) - برامج قابلة للبرمجة
- برنامج مرخص بموجب ترخيص MIT
- مجموعات أدوات الأدوات المصغّرة
