4.8.0 か月の開発期間を経て、グラフィカル ユーザー インターフェイスを作成するためのマルチプラットフォーム ツールキットのリリース、GTK 4 が公開されました。 GTK XNUMX は、次の GTK での API の変更によって XNUMX か月ごとにアプリケーションを書き直す必要があることを恐れることなく使用できる、安定したサポートされている API を数年間アプリケーション開発者に提供する新しい開発プロセスの一環として開発されています。支店。
GTK 4.8 の最も注目すべき改善点は次のとおりです。
- カラー選択インターフェイスのスタイルが変更されました (GtkColorChooser)。
- フォント選択インターフェイス (GtkFontChooser) の OpenType 形式機能のサポートが強化されました。
- CSS エンジンは、同じ親に関連付けられた要素の再グループ化を最適化し、文字間の間隔のサイズを決定するときに非整数値の使用を許可します。
- 絵文字データが CLDR 40 (Unicode 14) に更新されました。 新しいロケールのサポートが追加されました。
- このテーマではアイコンが更新され、強調表示されたテキスト ラベルの読みやすさが向上しました。
- GDK ライブラリは、GTK とグラフィック サブシステムの間にレイヤーを提供し、ピクセル フォーマットの変換を最適化しました。 NVIDIA ドライバーを備えたシステムでは、EGL 拡張機能 EGL_KHR_swap_buffers_with_damage が有効になります。
- GSK ライブラリ (GTK シーン キット) は、OpenGL および Vulkan を介してグラフィック シーンをレンダリングする機能を提供し、大きな表示領域 (ビューポート) の処理をサポートします。 テクスチャを使用してグリフをレンダリングするためのライブラリが提案されています。
- Wayland は、「xdg-activation」プロトコルをサポートしており、これにより、異なる第 XNUMX レベルのサーフェス間でフォーカスを移動できます (たとえば、xdg-activation を使用すると、あるアプリケーションから別のアプリケーションにフォーカスを切り替えることができます)。
- GtkTextView ウィジェットは、再描画の繰り返しにつながる状況の数を減らし、GetCharacterExtents 関数を実装して、テキスト内の文字を定義するグリフのある領域を決定します (この関数は、障害のある人向けのツールでよく使用されます)。
- ウィジェット内のスクロールを整理するために使用される GtkViewport クラスには、デフォルトで「スクロール トゥ フォーカス」モードが有効になっており、ビュー内に入力フォーカスがある要素を維持するためにコンテンツが自動的にスクロールされます。
- 検索クエリを入力するための領域を表示する GtkSearchEntry ウィジェットは、最後のキーストロークからコンテンツ変更に関する信号 (GtkSearchEntry::search-changed) を送信するまでの遅延を構成する機能を提供します。
- GtkCheckButton ウィジェットには、独自の子ウィジェットにボタンを割り当てる機能が追加されました。
- コンテンツを特定の領域サイズに適合させるために、「content-fit」プロパティを GtkPicture ウィジェットに追加しました。
- GtkColumnView ウィジェットのスクロール パフォーマンスが最適化されました。
- GtkTreeStore ウィジェットを使用すると、ui 形式のファイルからツリー データを抽出できます。
- リストを表示するための新しいウィジェットが GtkInscription クラスに追加されました。これは、特定の領域にテキストを表示する役割を果たします。 GtkInscription の使用例を含むデモ アプリケーションを追加しました。
- GtkTreePopover ウィジェットにスクロール サポートを追加しました。
- GtkLabel ウィジェットには、タブのサポートと、キーボード上のラベルに関連付けられたシンボルをクリックしてラベルをアクティブにする機能が追加されました。
- GtkListView ウィジェットは、「::n-items」および「::item-type」プロパティをサポートするようになりました。
- 入力システムは、スクロール ディメンション パラメータ ハンドラ (GDK_SCROLL_UNIT_WHEEL、GDK_SCROLL_UNIT_SURFACE) のサポートを提供します。
- macOS プラットフォームの場合、OpenGL を使用した全画面モードとビデオ再生のサポートが追加されました。 モニターの検出、マルチモニター構成での作業、ファイルダイアログのウィンドウの配置とサイズ選択が改善されました。 レンダリングには CALayer と IOSurface が使用されます。 アプリケーションはバックグラウンドで起動できます。
- Windows プラットフォームでは、HiDPI 画面上のウィンドウの配置が改善され、色検出インターフェイスが追加され、高解像度のマウス ホイール イベントのサポートが実装され、タッチパッドのサポートが改善されました。
- スクリーンショットを作成するためのスクリーンショット コマンドが gtk4-builder-tool ユーティリティに追加されました。これは、ドキュメント用のスクリーンショットを生成するときに使用されます。
- gtk4-node-editor ユーティリティのインストールが提供されます。
- デバッガ機能が拡張されました。 追加のアプリケーション データの表示が実装され、検査中に PangoAttrList プロパティの表示が可能になりました。 検査官による検査は許可されています。 「GTK_DEBUG=invert-text-dir」モードのサポートが追加されました。 GTK_USE_PORTAL 環境変数の代わりに、「GDK_DEBUG=portals」モードが提案されています。 検査インターフェースの応答性が向上しました。
- サウンドのサポートが ffmpeg バックエンドに追加されました。
- JPEG 画像ダウンローダーのメモリ制限が 300 MB に増加しました。
出所: オープンネット.ru