SDL 2.0.22 إصدار مكتبة الوسائط

تم إطلاق مكتبة SDL 2.0.22 (Simple DirectMedia Layer) التي تهدف إلى تبسيط كتابة الألعاب وتطبيقات الوسائط المتعددة. توفر مكتبة SDL تسهيلات مثل إخراج الرسومات ثنائية وثلاثية الأبعاد المُسرعة بالأجهزة ، ومعالجة المدخلات ، وتشغيل الصوت ، والإخراج ثلاثي الأبعاد عبر OpenGL / OpenGL ES / Vulkan ، والعديد من العمليات الأخرى ذات الصلة. المكتبة مكتوبة بلغة C ويتم توزيعها بموجب ترخيص Zlib. لاستخدام قدرات SDL في المشاريع بلغات البرمجة المختلفة ، يتم توفير الارتباطات اللازمة.

في الإصدار الجديد:

  • تحسين الدعم لبروتوكول Wayland. في البداية، كان من المخطط التحول إلى استخدام بروتوكول Wayland بشكل افتراضي في البيئات التي توفر الدعم المتزامن لـ Wayland وX11، ولكن بسبب المشاكل المرتبطة بـ Wayland في الألعاب وبرامج تشغيل NVIDIA، تقرر تأجيل الانتقال (في بيئات Wayland ذات مكون XWayland، الناتج من استخدام بروتوكول X11). لاستخدام Wayland، يمكنك تعيين متغير البيئة "SDL_VIDEODRIVER=wayland" قبل بدء تشغيل التطبيق أو إضافة الوظيفة "SDL_SetHint(SDL_HINT_VIDEODRIVER, "wayland,x11")" إلى الكود قبل استدعاء SDL_Init(). يتطلب التجميع باستخدام Wayland إصدار عميل libwayland 1.18.0 على الأقل.
  • تمت إضافة وظيفة SDL_RenderGetWindow() للحصول على النافذة المرتبطة بعارض SDL.
  • تمت إضافة مجموعة من الوظائف لمعالجة المساحات المستطيلة (تحديد حدوث النقاط، والمسح، والمقارنة، والدمج، وما إلى ذلك)، والتشغيل بالإحداثيات والأحجام بناءً على أرقام الفاصلة العائمة: SDL_PointInFRect(), SDL_FRectEmpty(), SDL_FRectEquals(), SDL_FRectEqualsEpsilon () وSDL_HasIntersectionF() وSDL_IntersectFRect() وSDL_UnionFRect() وSDL_En CloseFPoints() وSDL_IntersectFRectAndLine().
  • تمت إضافة وظيفة SDL_IsTextInputShown() للتحقق مما إذا كانت منطقة إدخال النص معروضة أم لا.
  • تمت إضافة وظيفة SDL_ClearComposition() لمسح منطقة إدخال النص دون تعطيل أسلوب الإدخال (IME).
  • تمت إضافة حدث SDL_TEXTEDITING_EXT للتعامل مع مناطق إدخال النص الطويلة وعلامة SDL_HINT_IME_SUPPORT_EXTENDED_TEXT لتمكين هذا الحدث.
  • تمت إضافة علامة SDL_HINT_MOUSE_RELATIVE_MODE_CENTER لتمكين تقييد الماوس في منتصف النافذة فقط بدلاً من النافذة بأكملها عند تمكين الوضع النسبي.
  • تمكين الالتقاط التلقائي للماوس عند الضغط على أزرار الماوس. لتعطيله، يتم اقتراح علامة SDL_HINT_MOUSE_AUTO_CAPTURE.
  • تمت إضافة علامتي SDL_HINT_VIDEO_FOREIGN_WINDOW_OPENGL وSDL_HINT_VIDEO_FOREIGN_WINDOW_VULKAN لنقل معلومات حول استخدام OpenGL أو Vulkan في نافذة خارجية.
  • تمت إضافة علامة SDL_HINT_QUIT_ON_LAST_WINDOW_CLOSE لتمكين تسليم حدث SDL_QUIT عند إغلاق نافذة التطبيق الأخيرة.
  • تمت إضافة علامة SDL_HINT_JOYSTICK_ROG_CHAKRAM للتعامل مع الماوس ROG Chakram كعصا تحكم.
  • بالنسبة لنظام التشغيل Linux، تمت إضافة السمة SDL_HINT_X11_WINDOW_TYPE لتعيين المعلمة _NET_WM_WINDOW_TYPE على النوافذ.
  • بالنسبة لنظام التشغيل Linux، تمت إضافة علامة SDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR لاستخدام libdecor مع الخوادم المركبة التي تدعم xdg-decoration.
  • بالنسبة لنظام التشغيل Android، تم تنفيذ وظيفة SDL_AndroidSendMessage() لإرسال أمر عشوائي إلى معالج SDL Java.

المصدر: opennet.ru

إضافة تعليق