GTK 4.0には、グラフィカルインターフェイス、データ転送などを実行するための改善が含まれています

何日か前に GTK4.0の新バージョンのリリースが発表されました。 数か月間開発されていたバージョンで、プロジェクトの新しい安定したブランチになります。 この新しいバージョンは非常に興味深い機能を提供し、その中でメディア再生の改善を強調することができます。

GTKは、グラフィカルインターフェイスを作成するためのソフトウェアライブラリのセットです。GTKはもともとGIMP画像処理ソフトウェアのニーズのために開発されました。 現在、その範囲はGIMPだけに限定されておらず、他のプロジェクトで使用されています。 たとえば、GTK GNUネットワークオブジェクトモデル環境の中心にあります (GNOME)ですが、他のLinux環境用のアプリケーションや、MicrosoftWindowsおよびApplemacOS用のアプリケーションの作成にも使用できます。

「GTK4.0は、熱心な開発者の小さなチームの努力の結果です。 統計を確認するための別の記事がありますが、簡単にまとめると、3.89.1年2016月のバージョン18,000以降、20を超えるコミットが追加され、XNUMXを超える開発リリースが作成されました。

「この取り組みに参加したすべての人、特にベンジャミン、エマヌエーレ、ティム、カルロス、ジョナス、クリスチャンに、おめでとうと大いに感謝します。 «

GTK4.0の新バージョンについて

GTK 4.0では、新しいウィジェットと既存の要素への変更が導入されています。 メディア再生の組み込みサポート、GPUアクセラレーションの改善( 新しいVulkanレンダリングエンジン、およびmacOSとの互換性の向上。 また、データ転送の改善、再設計されたシェーダー、GPUアクセラレーションスクロール、Vulkanジョブを超えたOpenGLレンダリングの改善、HTMl5 Broadwayでのジョブの復元、Windowsサポートの改善なども確認できます。

いくつかの点をもう少し詳しく見てみましょう。

GT4でのメディア管理

  • GTK 4を使用すると、GTKアプリケーションでアニメーションをより簡単に表示できます。 プログラマティックアニメーション、webmアーカイブ、ライブブロードキャストなどです。
  • GTK 4は、CSSHoudiniの取り組みに触発されたGdkPaintableと呼ばれる新しいAPIをもたらします。 それは非常に柔軟性があります(描画できるものはすべてGdkPaintableにすることができます)。 コンテンツはサイズ変更(svgなど)または時間の経過とともに変更(webmなど)できます。
  • より専門的なニーズがある場合は、GtkSnapshotでキャプチャできるものはすべて、gtk_snapshot_to_paintable()を使用して図面に変換できます。 ペイントするオブジェクトを描画するカスタムウィジェットを作成する場合、それは非常に簡単です。 gdk_paintable_snapshot()を呼び出すだけです。
  • GtkVideoウィジェットを使用してマルチメディアコントロールを行うことができます。

GTK4でのデータ転送

データを転送する従来の方法 デスクトップアプリケーション間でユーザーが開始するのは、クリップボードまたはドラッグアンドドロップです。 GTK +はこれらのメソッドをサポートしますが、GTK3まで、このタイプのデータ転送用にツールキットが持っていたAPIは、対応するX11APIの細かく偽装されたコピーでした。 GDK API全体がX11でモデル化されているため、これはそれほど驚くべきことではありません。 残念ながら、実装には増分転送や文字列形式の変換などの結果が含まれます。

GTK4の場合、チームはこのアプローチを放棄することを決定しました、近代化を選択します。 これが新しいアプローチの概念です。

「アプリケーションが送信したいデータが文字列でない場合は、GFile、GdkTexture、GdkRGBAなどのオブジェクトである可能性があります。 受信側のアプリケーションはGTKまたはGLibを使用しない可能性があるため、これらのタイプを認識しません。 また、そうしても、オブジェクトをXNUMXつのプロセスから別のプロセスにXNUMXつのピースで移動する方法はありません。

「内部では、データ転送は、バイトのストリームを読み取ることによってソースアプリケーションと宛先アプリケーションからファイル記述子を送信することによって機能します。 クリップボードとDNDのプロトコルは、テキスト/ uri-list、image / png、application / x-colorなどのmimeタイプを使用して、バイトストリームの形式を識別します。

オブジェクトの送信には、両面互換データ形式のネゴシエーション、ソース側のオブジェクトのその形式のバイトストリームへのシリアル化、データの転送、および宛先側のオブジェクトの逆シリアル化が含まれます。 «

さらに、 GTK4には新しいAPIが付属しています.

「これらのタイプを処理するために最初に導入したAPIは、GdkContentFormatsオブジェクトです。 これには、GTypeまたはmimeの形式のリストを含めることができます。 GdkContentFormatsオブジェクトを使用して、アプリケーションがデータを提供できる形式と、アプリケーションがデータを受信できる形式を記述します。

出典 https://blog.gtk.org/


記事の内容は、次の原則に準拠しています。 編集倫理。 エラーを報告するには、 ここで.

コメントを最初に

コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。