GTK 4.6 グラフィックス ツールキットが利用可能

4.6.0 か月の開発を経て、グラフィカル ユーザー インターフェイスを作成するためのマルチプラットフォーム ツールキットのリリース、GTK 4 が公開されました。 GTK XNUMX は、次の GTK での API の変更によって XNUMX か月ごとにアプリケーションを書き直す必要があることを恐れることなく使用できる、安定したサポートされている API を数年間アプリケーション開発者に提供する新しい開発プロセスの一環として開発されています。支店。

GTK 4.6 の最も注目すべき改善点は次のとおりです。

  • 古い OpenGL ベースのレンダリング エンジンは削除され、GTK 4.2 以降デフォルトで提供される新しい NGL レンダリング エンジンに置き換えられ、パフォーマンスが向上しました。 NGL が GL に名前変更されました。 テクスチャ読み込みコードが書き直され、画像形式と色空間のサポートが改善されました。
  • 要素のサイズとウィジェットのレイアウトの計算に関連するコードが大幅に修正されました。 以前は、GtkWidget::halign プロパティと GtkWidget::valign プロパティは、要素を配置するときのデフォルトのウィジェット サイズに基づいていました。これにより、エリアフィル モードで 4.6 つのサイズのみを指定すると、要素が追加のスペースを占める可能性がありました。 GTK XNUMX では、欠落しているサイズを相互に相対的に測定する機能が導入されており (たとえば、幅が指定されている場合、配置では利用可能な高さを考慮できます)、不必要なスペースを占有せずにウィジェットを薄くすることができます。
    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 グラフィックス ツールキットが利用可能
  • メニュー テキストで Pango マークアップを使用するための use-markup 属性を GtkPopoverMenu に追加しました。
  • スタイル システムは、小文字を表示するための CSS プロパティ font-variant-caps と、テキストを変換するための text-transform をサポートしています。
  • シンボル アイコンの色を制御するための GtkSymbolicPaintable インターフェイスを追加しました。
  • ドラッグ アンド ドロップ操作の追跡のサポートが検査インターフェイスに追加され、現在の入力モジュールが表示され、クリップボード コンテンツ ビューアが追加され、gtk_widget_measure() を視覚化するためのグラフが実装され、イベントをログに記録する機能が追加されました。が提供されています。 gtk4-node-editor ユーティリティにドラッグ アンド ドロップ モードのサポートが追加されました。
  • Wayland では、ハイコントラスト モードを有効にする設定が実装されました。 wl_seat v7 プロトコルのサポートが追加されました。
  • テキストレンダリングを GTK3 の動作に近づけるために gtk-hint-font-metrics 設定を追加しました。
  • X11 ベースのシステムの場合、タッチパッド コントロール ジェスチャのサポートが追加され (XInput 2.4 使用時)、ウィンドウ タイトルのドラッグ動作が改善されました。
  • GTK とグラフィックス サブシステムの間にレイヤーを提供する GDK ライブラリでは、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、gdk_texture_save_to_tiff_bytes、および gdk_display_create_gl_context。
  • Git リポジトリの「master」ブランチの名前が「main」に変更されました。

出所: オープンネット.ru

コメントを追加します