يمثل إصدار GTK 3.99.0 بمثابة استكمال للوظائف المخطط لها لـ GTK 4

نشرت الإصدار التجريبي النهائي للإطار GTK 3.99.0، والذي ينفذ جميع الميزات المخطط لها لـ GTK 4. يتم تطوير فرع GTK 4 كجزء من عملية تطوير جديدة تحاول تزويد مطوري التطبيقات بواجهة برمجة تطبيقات مستقرة ومدعومة لعدة سنوات يمكن استخدامها دون الخوف من الاضطرار إلى ذلك أعد كتابة التطبيقات كل ستة أشهر بسبب تغييرات واجهة برمجة التطبيقات (API) في فرع GTK التالي. ومن المقرر إصدار GTK 4 قبل نهاية العام.

من أكثر هام تغيير в GTK 4 يمكنك ملاحظة:

  • طريقة وضع العناصر على أساس القيود (تخطيط القيد)، حيث يتم تحديد موقع وحجم العناصر الفرعية بناءً على المسافة إلى الحدود وحجم العناصر الأخرى.
  • عارض يعتمد على واجهة برمجة تطبيقات الرسومات Vulkan التي تنفذ التظليل للعديد من عناصر CSS كثيفة الاستخدام للموارد المستخدمة في عناصر واجهة مستخدم GTK.
  • التكامل GSK (GTK Scene Kit) مع إمكانية عرض المشاهد الرسومية عبر OpenGL وVulkan.
  • تمت مراجعة تنظيم العرض - بدلاً من الإخراج إلى المخزن المؤقت، يتم الآن استخدام نموذج يعتمد على عقد العرض، حيث يتم ترتيب الإخراج في شكل شجرة من العمليات عالية المستوى، تتم معالجتها بكفاءة بواسطة وحدة معالجة الرسومات باستخدام OpenGL وفولكان.
  • أموال للتعامل المرن مع تغييرات تركيز الإدخال.
  • نموذج حديث لتسليم الأحداث يلغي الحاجة إلى النوافذ الفرعية عند توجيه أحداث الإدخال. ترتبط الحاجة إلى تنفيذ نموذج جديد باستخدام أكثر نشاطًا لتأثيرات الرسوم المتحركة، والتي يجب أن يتم عرضها دون تغيير تخطيط العناصر المرئية، وبالتالي بدون نافذة فرعية.
  • تمت إعادة تصميم GDK API مع التركيز على استخدام بروتوكول Wayland والمفاهيم ذات الصلة. تم نقل الميزات المستندة إلى X11 وWayland إلى الواجهات الخلفية المنفصلة.
  • تم إجراء عملية تنظيف كبيرة لواجهة برمجة التطبيقات (API)، بما في ذلك إزالة فئات GtkMenu وGtkMenuBar وGtkToolbar، لصالح GMenu والخيارات القائمة على القوائم المنبثقة.
  • يحتوي GtkTextView وعناصر واجهة المستخدم الأخرى على مكدس تراجع مدمج.
  • تمت إضافة فئة GtkNative جديدة لعناصر واجهة المستخدم التي لها سطح عرض خاص بها ويمكن أن تعمل بشكل منفصل على المستوى الأول، دون أن تكون مرتبطة بعناصر واجهة المستخدم الأصلية.
  • تمت إضافة عناصر واجهة مستخدم جديدة، بما في ذلك GtkPicture وGtkText وGtkPasswordEntry وGtkListView وGtkGridView وGtkColumnView وأداة عرض الرموز التعبيرية.
  • لتطوير الأدوات، تم تقديم كائن GtkLayoutManager جديد مع تطبيق نظام للتحكم في تخطيط العناصر اعتمادًا على حجم المنطقة المرئية. يستبدل GtkLayoutManager الخصائص الفرعية في حاويات GTK مثل GtkBox وGtkGrid.
  • تم تبسيط التعامل مع الأحداث ويستخدم الآن للإدخال فقط. يتم استبدال الأحداث المتبقية بإشارات منفصلة، ​​على سبيل المثال، بدلاً من أحداث الإخراج، يتم اقتراح إشارة "GdkSurface::render"، وبدلاً من أحداث التكوين، يتم تقديم "GdkSurface::size-changed".
  • تمت إضافة طبقة تجريد جديدة GdkPaintable، تمثل الكائنات التي يمكن رسمها في أي مكان وبأي حجم، دون الحاجة إلى فرز طبقات التخطيط.
  • تمت إعادة كتابة الواجهة الخلفية لبرودواي للسماح بعرض مخرجات مكتبة GTK في نافذة متصفح الويب.
  • تمت إعادة تصميم واجهة برمجة التطبيقات المرتبطة بتنفيذ عمليات السحب والإفلات، بما في ذلك كائنات GdkDrag وGdkDrop المنفصلة المقترحة.

التحسينات مقارنة بإصدار الاختبار السابق:

  • تمت إزالة التطبيق القديم لـ Accessibility API للأشخاص ذوي الإعاقة، واستبداله بإصدار جديد يعتمد على المواصفات ARIA والقطعة GtkAccessible.
  • تمت إضافة دعم للتسميات القابلة للتحرير (GtkEditableLabel).
  • تم اقتراح نماذج قائمة جديدة لعرض الإشارات المرجعية (GtkBookmarkList) والسلاسل (GtkStringList) وكتل التحديد (GtkBitset).
  • تتمتع أداة GtkTreeView بالقدرة على تحرير الخلايا.
  • تم تحسين تنفيذ التمرير في GtkGridView وGtkListView، وتمت إضافة دعم التمرير التلقائي والتوسيع التلقائي.
  • يعمل GtkWidget على تسريع معالجة الإجراءات المختلفة بشكل كبير.
  • تمت إضافة دعم للتمرير المتزايد والتصفية إلى GtkFilterListModel وGtkSortListModel.
  • أضاف المفتش دعمًا لفحص نماذج القائمة والقدرة على التنقل مباشرة بين الكائنات.
  • في GDK، تم حفظ سجل التمرير، وتم تنظيف واجهة برمجة تطبيقات GdkDevice، وتم إيقاف فصل الأجهزة إلى أجهزة رئيسية وأخرى تابعة.
  • تمت إضافة واجهة GDK خلفية جديدة لنظام التشغيل macOS.
  • واجهة عرض GDK جديدة تعتمد على زاوية, الطبقات البينية لترجمة استدعاءات OpenGL ES إلى OpenGL وDirect3D 9/11 وDesktop GL وVulkan.

المصدر: opennet.ru

إضافة تعليق