Κυκλοφορία της εργαλειοθήκης γραφικών wxWidgets 3.2.0

9 χρόνια μετά την κυκλοφορία του κλάδου 3.0, παρουσιάστηκε η πρώτη κυκλοφορία ενός νέου σταθερού κλάδου του cross-platform toolkit wxWidgets 3.2.0, το οποίο σας επιτρέπει να δημιουργείτε γραφικές διεπαφές για Linux, Windows, macOS, UNIX και πλατφόρμες για κινητές συσκευές. Σε σύγκριση με τον κλάδο 3.0, υπάρχει ένας αριθμός ασυμβατοτήτων σε επίπεδο API. Η εργαλειοθήκη είναι γραμμένη σε C++ και διανέμεται με τη δωρεάν άδεια wxWindows Library, εγκεκριμένη από το Open Source Foundation και τον οργανισμό OSI. Η άδεια βασίζεται στο LGPL και διακρίνεται από την άδειά της να χρησιμοποιεί τους δικούς της όρους για τη διανομή παράγωγων έργων σε δυαδική μορφή.

Εκτός από την ανάπτυξη προγραμμάτων σε C++, το wxWidgets παρέχει συνδέσμους για τις πιο δημοφιλείς γλώσσες προγραμματισμού, συμπεριλαμβανομένων των PHP, Python, Perl και Ruby. Σε αντίθεση με άλλα κιτ εργαλείων, το wxWidgets παρέχει μια εφαρμογή με μια πραγματικά εγγενή εμφάνιση και αίσθηση για το σύστημα προορισμού χρησιμοποιώντας API συστήματος αντί να μιμείται το GUI.

Βασικές καινοτομίες:

  • Μια νέα πειραματική θύρα του wxQt έχει εφαρμοστεί, επιτρέποντας στα wxWidgets να λειτουργούν πάνω από το πλαίσιο Qt.
  • Η θύρα wxGTK παρέχει πλήρη υποστήριξη για το πρωτόκολλο Wayland.
  • Προστέθηκε υποστήριξη για οθόνες με υψηλή πυκνότητα pixel (High DPI). Προστέθηκε η δυνατότητα εκχώρησης διαφορετικών DPI για διαφορετικές οθόνες και δυναμικής αλλαγής DPI. Έχει προταθεί ένα νέο wxBitmapBundle API, το οποίο σας επιτρέπει να χειρίζεστε πολλές εκδόσεις μιας εικόνας bitmap, που παρουσιάζονται σε διαφορετικές αναλύσεις, ως ένα σύνολο.
  • Έχει προταθεί ένα νέο σύστημα κατασκευής βασισμένο στο CMake. Στο σύστημα συναρμολόγησης έχει προστεθεί υποστήριξη για νέους μεταγλωττιστές (συμπεριλαμβανομένων των MSVS 2022, g++ 12 και clang 14) και λειτουργικών συστημάτων.
  • Η υποστήριξη OpenGL έχει επανασχεδιαστεί, η χρήση νέων εκδόσεων OpenGL (3.2+) έχει βελτιωθεί.
  • Προστέθηκε υποστήριξη για συμπίεση LZMA και αρχεία ZIP 64.
  • Η προστασία χρόνου μεταγλώττισης έχει βελτιωθεί, χάρη στη δυνατότητα απενεργοποίησης επικίνδυνων σιωπηρών μετατροπών μεταξύ συμβολοσειρών των τύπων wxString και "char*".
  • Προστέθηκε υποστήριξη συμβάντων για χειρονομίες ελέγχου που παίζονται χρησιμοποιώντας το ποντίκι.
  • Οι κλάσεις wxFont και wxGraphicsContext έχουν πλέον τη δυνατότητα να καθορίζουν μη ακέραιες τιμές κατά τον καθορισμό μεγεθών γραμματοσειράς και πλάτη στυλό.
  • Η κλάση wxStaticBox υλοποιεί τη δυνατότητα εκχώρησης αυθαίρετων ετικετών στα παράθυρα.
  • Το wxWebRequest API υποστηρίζει πλέον HTTPS και HTTP/2.
  • Η κλάση wxGrid έχει προσθέσει υποστήριξη για πάγωμα στηλών και γραμμών.
  • Παρουσιάστηκαν νέες κατηγορίες: wxActivityIndicator, wxAddRemoveCtrl, wxAppProgressIndicator, wxBitmapBundle, wxNativeWindow, wxPersistentComboBox, wxPowerResourceBlocker, wxSecretStore, wxTempFFile και wxUILocale.
  • Νέοι χειριστές XRC έχουν εφαρμοστεί για όλες τις νέες κλάσεις και ορισμένες υπάρχουσες κλάσεις.
  • Εισήχθησαν νέες μέθοδοι: wxDataViewToggleRenderer::ShowAsRadio(), wxDateTime::GetWeekBasedYear(), wxDisplay::GetPPI(), wxGrid::SetCornerLabelValue(), wxHtmlEasyPrinting::MockEasyPrinting::MockEventEutxt ListBox::GetTop Στοιχείο (), wxProcess::Activate(), wxTextEntry::ForceUpper(), wxStandardPaths::GetUserDir(), wxToolbook::EnablePage(), wxUIActionSimulator::Select().
  • Έχουν γίνει σημαντικές βελτιώσεις στις κλάσεις wxBusyInfo, wxDataViewCtrl, wxNotificationMessage, wxStaticBox, wxStyledTextCtrl και wxUIActionSimulator.
  • Η υποστήριξη για την πλατφόρμα macOS έχει βελτιωθεί, συμπεριλαμβανομένης της δυνατότητας χρήσης σκούρου θέματος και πρόσθετης υποστήριξης για συσκευές που διαθέτουν επεξεργαστές ARM.
  • Έχουν γίνει βελτιώσεις για την υποστήριξη του προτύπου C++11. Προστέθηκε υποστήριξη για δημιουργία με μεταγλωττιστές C++20.
  • Όλες οι περιλαμβανόμενες βιβλιοθήκες τρίτων έχουν ενημερωθεί. Προστέθηκε υποστήριξη για WebKit 2 και GStreamer 1.7.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο