تم نشر GTK 3.96، الإصدار التجريبي من GTK 4

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

رئيسي التغييرات في جي تي كيه 3.96:

  • في واجهة برمجة التطبيقات GSK (GTK Scene Kit)، التي توفر عرض المشاهد الرسومية عبر OpenGL وVulkan، تم العمل على الأخطاء التي أصبح التعرف عليها أسهل بفضل أداة تصحيح الأخطاء الجديدة gtk4-node-editor، والتي تتيح لك تحميل وعرض عقدة العرض بتنسيق متسلسل (يمكن حفظها في وضع الفحص GTK Inspector)، وكذلك مقارنة نتائج العرض عند استخدام واجهات خلفية مختلفة؛

    تم نشر GTK 3.96، الإصدار التجريبي من GTK 4

  • لقد تم رفع إمكانيات التحويل ثلاثي الأبعاد إلى مستوى يسمح لك بإنشاء تأثيرات رسوم متحركة مثل المكعب الدوار؛

    تم نشر GTK 3.96، الإصدار التجريبي من GTK 4

  • تماما إعادة كتابتها تم تصميم الواجهة الخلفية لـ Broadway GDK لعرض مخرجات مكتبة GTK في نافذة متصفح الويب. لم يتناسب تنفيذ برودواي القديم مع طرق العرض المقترحة في GTK 4 (بدلاً من الإخراج إلى المخزن المؤقت، يستخدم الآن نموذجًا يعتمد على عقد العرض، حيث يتكون الإخراج في شكل شجرة من العمليات عالية المستوى، تتم معالجتها بكفاءة بواسطة وحدة معالجة الرسومات باستخدام OpenGL وVulkan).
    يقوم خيار Broadway الجديد بتحويل عقد العرض إلى عقد DOM باستخدام أنماط CSS لعرض الواجهة في المتصفح. تتم معالجة كل حالة شاشة جديدة كتغيير في شجرة DOM بالنسبة إلى الحالة السابقة، مما يقلل من حجم البيانات المرسلة إلى العميل البعيد. يتم تنفيذ التحويلات ثلاثية الأبعاد والتأثيرات الرسومية من خلال خاصية تحويل CSS؛

  • تواصل GDK تنفيذ واجهات برمجة التطبيقات المصممة مع وضع بروتوكول Wayland في الاعتبار، وتنظيف واجهات برمجة التطبيقات المستندة إلى X11 أو نقلها إلى واجهة خلفية X11 منفصلة. هناك تقدم في العمل للابتعاد عن استخدام الأسطح التابعة والإحداثيات العالمية. تمت إزالة دعم GDK_SURFACE_SUBSURFACE من GDK؛
  • استمرت إعادة هيكلة التعليمات البرمجية المرتبطة بتنفيذ عمليات السحب والإفلات، بما في ذلك كائنات GdkDrag وGdkDrop المنفصلة المقترحة؛
  • تم تبسيط التعامل مع الأحداث ويستخدم الآن للإدخال فقط. يتم استبدال الأحداث المتبقية بإشارات منفصلة، ​​على سبيل المثال، بدلاً من أحداث الإخراج، يتم اقتراح الإشارة "GdkSurface::render"، بدلاً من أحداث التكوين - "GdkSurface::size-changed"، بدلاً من تعيين الأحداث - "GdkSurface: :mapped"، بدلاً من gdk_event_handler_set() - "GdkSurface::event";
  • أضافت الواجهة الخلفية لـ GDK لـ Wayland دعمًا لواجهة البوابة للوصول إلى إعدادات GtkSettings. للعمل مع طرق الإدخال، تم اقتراح دعم ملحق بروتوكول text-input-unstable-v3؛
  • لتطوير الأدوات، تم تقديم كائن GtkLayoutManager جديد مع تطبيق نظام للتحكم في تخطيط العناصر اعتمادًا على تخطيط المنطقة المرئية. يستبدل GtkLayoutManager الخصائص الفرعية في حاويات GTK مثل GtkBox وGtkGrid. تم اقتراح العديد من مديري التخطيط الجاهزين: GtkBinLayout للحاويات البسيطة التي تحتوي على عنصر فرعي واحد، GtkBoxLayout للعناصر الفرعية المحاذاة خطيًا، GtkGridLayout لمحاذاة العناصر الفرعية إلى الشبكة، GtkFixedLayout لتحديد المواقع التعسفية للعناصر الفرعية، GtkCustomLayout لترجمة العناصر التقليدية بناءً على size_allocate معالجات.
  • تمت إضافة كائنات يمكن الوصول إليها بشكل عام لعرض الصفحة للعناصر التابعة إلى عناصر واجهة المستخدم GtkAssistant وGtkStack وGtkNotebook، والتي يتم نقل الخصائص الفرعية غير المتعلقة بالتخطيط لهذه الأدوات. نظرًا لتحويل جميع الخصائص الفرعية الموجودة إلى خصائص عادية أو خصائص تخطيط أو نقلها إلى كائنات الصفحة، فقد تمت إزالة دعم الخصائص الفرعية بالكامل من GtkContainer؛
  • تم نقل وظيفة GtkEntry الأساسية إلى عنصر واجهة مستخدم GtkText الجديد، والذي يتضمن أيضًا واجهة تحرير GtkEditable المحسنة. تمت إعادة إنشاء جميع الفئات الفرعية لإدخال البيانات الموجودة كتطبيقات GtkEditable بناءً على عنصر واجهة مستخدم GtkText الجديد؛
  • تمت إضافة عنصر واجهة مستخدم GtkPasswordEntry جديد لنماذج إدخال كلمة المرور؛
  • أضاف GtkWidgets القدرة على تحويل العناصر الفرعية باستخدام طرق التحويل الخطية المحددة عبر CSS أو وسيطة gtk_widget_allocate إلى GskTransform. الميزة المحددة مطبقة بالفعل في عنصر واجهة المستخدم GtkFixed؛
  • تمت إضافة نماذج إنشاء القائمة الجديدة: GtkMapListModel، وGtkSliceListModel، وGtkSortListModel، وGtkSelectionModel، وGtkSingleSelection. نخطط في المستقبل لإضافة دعم لنماذج القائمة إلى GtkListView؛
  • أضاف GtkBuilder القدرة على تعيين خصائص الكائن محليًا (مضمنًا)، بدلاً من استخدام الروابط حسب المعرف؛
  • تمت إضافة أمر إلى أداة gtk4-builder-tool لتحويل ملفات واجهة المستخدم من GTK 3 إلى GTK 4؛
  • تم إيقاف دعم السمات الرئيسية والقوائم الجدولية ومربعات التحرير والسرد. تمت إزالة عنصر واجهة المستخدم GtkInvisible.

    المصدر: opennet.ru

إضافة تعليق