Veröffentlichung der SDL 2.0.22-Medienbibliothek

Die SDL 2.0.22-Bibliothek (Simple DirectMedia Layer) wurde veröffentlicht, die das Schreiben von Spielen und Multimedia-Anwendungen vereinfachen soll. Die SDL-Bibliothek bietet Funktionen wie hardwarebeschleunigte 2D- und 3D-Grafikausgabe, Eingabeverarbeitung, Audiowiedergabe, 3D-Ausgabe über OpenGL/OpenGL ES/Vulkan und viele andere verwandte Vorgänge. Die Bibliothek ist in der Sprache C geschrieben und wird unter der Zlib-Lizenz vertrieben. Um SDL-Funktionen in Projekten in verschiedenen Programmiersprachen nutzen zu können, werden die notwendigen Bindungen bereitgestellt.

In der neuen Version:

  • Verbesserte Unterstützung des Wayland-Protokolls. Ursprünglich war geplant, standardmäßig auf die Verwendung des Wayland-Protokolls in Umgebungen umzusteigen, die gleichzeitig Wayland und der XWayland-Komponente, Ausgabe unter Verwendung des X11-Protokolls). Um Wayland zu verwenden, können Sie die Umgebungsvariable „SDL_VIDEODRIVER=wayland“ vor dem Start der Anwendung festlegen oder die Funktion „SDL_SetHint(SDL_HINT_VIDEODRIVER, „wayland,x11“)“ zum Code hinzufügen, bevor Sie SDL_Init() aufrufen. Zum Kompilieren mit Wayland ist mindestens libwayland-client 11 erforderlich.
  • Die Funktion SDL_RenderGetWindow() wurde hinzugefügt, um das mit dem SDL-Renderer verknüpfte Fenster abzurufen.
  • Eine Reihe von Funktionen zum Bearbeiten rechteckiger Flächen (Bestimmen des Vorkommens von Punkten, Löschen, Vergleichen, Zusammenführen usw.) hinzugefügt, die mit Koordinaten und Größen basierend auf Gleitkommazahlen arbeiten: SDL_PointInFRect(), SDL_FRectEmpty(), SDL_FRectEquals(), SDL_FRectEqualsEpsilon () , SDL_HasIntersectionF(), SDL_IntersectFRect(), SDL_UnionFRect(), SDL_EncloseFPoints() und SDL_IntersectFRectAndLine().
  • Die Funktion SDL_IsTextInputShown() hinzugefügt, um zu prüfen, ob der Texteingabebereich angezeigt wird.
  • Die Funktion SDL_ClearComposition() wurde hinzugefügt, um den Texteingabebereich zu löschen, ohne die Eingabemethode (IME) zu deaktivieren.
  • Das Ereignis SDL_TEXTEDITING_EXT zur Verarbeitung von Langtexteingabebereichen und das Flag SDL_HINT_IME_SUPPORT_EXTENDED_TEXT zur Aktivierung dieses Ereignisses wurden hinzugefügt.
  • Das Flag SDL_HINT_MOUSE_RELATIVE_MODE_CENTER wurde hinzugefügt, um die Mausbeschränkung nur auf die Fenstermitte statt auf das gesamte Fenster zu ermöglichen, wenn der relative Modus aktiviert ist.
  • Automatische Erfassung der Maus beim Klicken auf die Maustasten aktiviert. Zur Deaktivierung wird das Attribut SDL_HINT_MOUSE_AUTO_CAPTURE vorgeschlagen.
  • Die Flags SDL_HINT_VIDEO_FOREIGN_WINDOW_OPENGL und SDL_HINT_VIDEO_FOREIGN_WINDOW_VULKAN wurden hinzugefügt, um Nutzungsinformationen in einem externen OpenGL- oder Vulkan-Fenster zu übermitteln.
  • Das Flag SDL_HINT_QUIT_ON_LAST_WINDOW_CLOSE wurde hinzugefügt, um die Übermittlung des SDL_QUIT-Ereignisses zu ermöglichen, wenn das letzte Anwendungsfenster geschlossen wird.
  • Die Eigenschaft SDL_HINT_JOYSTICK_ROG_CHAKRAM wurde hinzugefügt, um die ROG Chakram-Maus als Joystick zu verwenden.
  • Für Linux wurde das Flag SDL_HINT_X11_WINDOW_TYPE hinzugefügt, um den Parameter _NET_WM_WINDOW_TYPE auf Windows festzulegen.
  • Das SDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR-Flag für Linux wurde hinzugefügt, um libdecor mit Verbundservern zu verwenden, die xdg-decoration unterstützen.
  • Für Android ist die Funktion SDL_AndroidSendMessage() implementiert, um einen beliebigen Befehl an den Java-SDL-Handler zu senden.

Source: opennet.ru

Kommentar hinzufügen