جعبه ابزار گرافیکی GTK 4.6 در دسترس است

پس از چهار ماه توسعه، انتشار یک جعبه ابزار چند پلتفرمی برای ایجاد رابط کاربری گرافیکی منتشر شد - GTK 4.6.0. GTK 4 به عنوان بخشی از یک فرآیند توسعه جدید در حال توسعه است که تلاش می کند یک API پایدار و پشتیبانی شده برای چندین سال به توسعه دهندگان برنامه ارائه دهد که می تواند بدون ترس از بازنویسی برنامه ها هر شش ماه یک بار به دلیل تغییرات API در GTK بعدی استفاده شود. شاخه.

از جمله قابل توجه ترین پیشرفت ها در GTK 4.6 عبارتند از:

  • موتور رندر قدیمی مبتنی بر OpenGL حذف شده و با موتور رندر جدید NGL جایگزین شده است که به طور پیش فرض از GTK 4.2 ارائه شده است که عملکرد بهتری را ارائه می دهد. NGL به GL تغییر نام داد. کد بارگذاری بافت بازنویسی شده است، پشتیبانی از فرمت های تصویر و فضاهای رنگی بهبود یافته است.
  • کد مرتبط با محاسبه اندازه عناصر و چیدمان ویجت به طور قابل توجهی دوباره کار شده است. پیش از این، ویژگی‌های GtkWidget::halign و GtkWidget::valign بر اساس اندازه پیش‌فرض ویجت در هنگام قرار دادن عناصر بودند، که وقتی تنها یک اندازه در حالت پر کردن ناحیه مشخص می‌شد، می‌تواند منجر به اشغال فضای اضافی عنصر شود. GTK 4.6 توانایی اندازه گیری اندازه از دست رفته را نسبت به یکدیگر معرفی می کند (به عنوان مثال، اگر عرض مشخص شده باشد، قرار دادن می تواند ارتفاع موجود را در نظر بگیرد)، به ویجت ها اجازه می دهد بدون اشغال فضای غیر ضروری نازک تر شوند.
    جعبه ابزار گرافیکی GTK 4.6 در دسترس است
    جعبه ابزار گرافیکی GTK 4.6 در دسترس است
  • ویجت GtkBox توانایی محاسبه اندازه فردی عناصر فرزند را دارد. در حالی که قبلاً فضا به طور مساوی بین ویجت های کودک بر اساس اندازه پیش فرض آنها توزیع می شد، GTK 4.6 اکنون اندازه واقعی کودکان را هنگام خروجی در نظر می گیرد.
  • ویجت GtkLabel شامل پشتیبانی از بسته بندی متن در هر تعداد خط است که به شما امکان می دهد برچسب های باریکی ایجاد کنید که فضای عمودی موجود را اشغال می کند.
  • کلاس GtkWindow قابلیت تنظیم حداقل اندازه به نسبت ابعاد را اضافه کرده است که به شما امکان می دهد به طور دلخواه اندازه پنجره را بدون ترس از کوچک بودن آن تغییر دهید. ویژگی "Window.titlebar" اضافه شد.
  • در صورت بازگرداندن اندازه نادرست ویجت، هشدار جدیدی درباره عدم تطابق اندازه اضافه شد. Gtk-CRITICAL **: 00:48:33.319: gtk_widget_measure: ادعای 'for_size >= حداقل اندازه مخالف' ناموفق بود: 23 >= 42
  • ویجت GtkTextView اکنون از برگه های تراز راست یا تراز وسط پشتیبانی می کند. پشتیبانی برای تبدیل متن و ملاحظات ارتفاع خط اضافه شده است. پیمایش بهبود یافته به عملیات برچسب مشخص شده. مدیریت بهبود یافته برای لغو تغییرات. مشکلات مربوط به چسباندن متن از کلیپ بورد و انتخاب محل نمایش رابط چسباندن ایموجی حل شد.
  • ویجت GtkMenuButton توانایی تعریف عناصر فرزند خود را فراهم می کند.
  • پیش کامپایل قالب در GtkBuilder تسریع شده است.
  • اضافه شدن سیگنال فعال برای فعال کردن ویجت های GtkComboBox و GtkDropDown.
  • ویژگی show-arrow را به ویجت GtkDropDown اضافه کرد تا کنترل کند فلش نشان داده شود.
    جعبه ابزار گرافیکی GTK 4.6 در دسترس است
  • ویژگی use-markup را به GtkPopoverMenu اضافه کرد تا از نشانه گذاری Pango در متن منو استفاده کند.
  • سیستم سبک از ویژگی های CSS font-variant-caps برای نمایش حروف کوچک بزرگ و تبدیل متن برای تبدیل متن پشتیبانی می کند.
  • رابط GtkSymbolicPaintable برای کنترل رنگ نمادهای نماد اضافه شده است.
  • پشتیبانی از ردیابی عملیات Drag-and-Drop به رابط بازرسی اضافه شده است، ماژول ورودی فعلی نشان داده شده است، یک نمایشگر محتوای کلیپ بورد اضافه شده است، یک نمودار برای تجسم ()gtk_widget_measure پیاده سازی شده است، و توانایی ثبت رویدادها ارائه شده است. پشتیبانی از حالت Drag-and-Drop به ابزار gtk4-node-edit اضافه شده است.
  • برای Wayland، تنظیمی برای فعال کردن حالت کنتراست بالا اعمال شده است. پشتیبانی از پروتکل wl_seat v7 اضافه شده است.
  • تنظیم gtk-hint-font-metrics اضافه شد تا رندر متن به رفتار GTK3 نزدیک شود.
  • برای سیستم‌های مبتنی بر X11، پشتیبانی از حرکات کنترل پد لمسی (هنگام استفاده از XInput 2.4) و رفتار کشیدن عنوان پنجره بهبود یافته است.
  • کتابخانه GDK که لایه ای بین GTK و زیرسیستم گرافیکی فراهم می کند، بررسی نسخه های OpenGL و OpenGL ES را بهبود بخشیده است. پشتیبانی از فضای رنگی HSL اضافه شده است. هنگام بارگذاری بافت ها و پردازش فرمت های تصویر، کتابخانه های libpng، libjpeg و libtiff مستقیماً درگیر هستند. کد اولیه EGL به قسمت جلویی منتقل شده است. APIهای جدید اضافه شده است: gdk_texture_new_from_bytes، gdk_texture_new_from_filename، gdk_texture_download_float، gdk_texture_save_to_png_bytes، gdk_texture_save_to_tiff_tiff_tiff_play_tiff_diffate_و gdk_texture_download_float l_context.
  • شاخه "master" در مخزن Git به "main" تغییر نام داده است.

منبع: opennet.ru

اضافه کردن نظر