C

Qt Quick Ultraliteプラットフォームの抽象化アーキテクチャ

以下の図は、Qt Quick Ultraliteのアーキテクチャの概要を示しており、特にプラットフォーム抽象化層とプラットフォームライブラリ層に焦点を当てています:

プラットフォーム抽象化層およびプラットフォームライブラリ層を含む、<span translate=Qt Quick Ultraliteのアーキテクチャの概要。" src="images/qtultralight-platform-overview.png" title="プラットフォーム抽象化層およびプラットフォームライブラリ層を含む、Qt Quick Ultraliteのアーキテクチャの概要。"/>

アーキテクチャ上、Qt Quick Ultraliteは、「Qt Quick 」Ultraliteコアライブラリと「Qt Quick 」Ultraliteプラットフォームライブラリという2つの主要な部分に分かれています。Qt Quick Ultralite コアライブラリは、QML プロパティシステム、アニメーション、テキストレイアウト、各種 QML アイテム、ダーティリージョン計算や部分更新を備えた QML アイテムのシーングラフなど、Qt Quick Ultralite のプラットフォーム非依存機能をすべて実装しています。 また、プラットフォームライブラリとのインターフェースに使用される「Qt Quick 」Ultraliteプラットフォーム抽象化レイヤーも含まれています。プラットフォームライブラリは、入力、レンダリング、タイマー、およびその他のハードウェア固有の機能を提供します。

Qt Quick Ultralite コアライブラリは、アプリケーションが使用する API と、プラットフォームライブラリが使用するプラットフォームプログラミングインターフェースを提供します。 このプラットフォームプログラミングインターフェースは、Qul::PlatformInterface 名前空間に対応しており、タッチおよびキーイベントをQt Quick Ultralite コアへ伝達する機能、ソフトウェアレンダリングのフォールバックやブレンドヘルパー、さらにプラットフォームインターフェースの一部ではあるものの、アプリケーション開発者が直接使用することを意図していない各種クラスを含んでいます。

Qt Quick のUltraliteプラットフォームライブラリは、Qul::Platform 名前空間内のインターフェースを実装する必要があります。このインターフェースは、Qt Quick のUltraliteコアライブラリが実際のハードウェアとやり取りするために依存しているものです。 したがって、新しいプラットフォームへの移植は、プラットフォームライブラリ内でこのプラットフォームインターフェースを実装することで行われます。アプリケーションは、このプラットフォームライブラリと「Qt Quick 」Ultraliteコアライブラリを合わせてリンクします。このコアライブラリは、ハードウェアの初期化やメインのレンダリングループの駆動、さらにはタイマーや割り込みの処理を担当します。

プラットフォームライブラリの実装では、利用可能な場合、ハードウェアアクセラレーションによるグラフィックスを活用できます。コアライブラリは、ハードウェアアクセラレーションによるグラフィックスが利用できない、または部分的にしかサポートされていないプラットフォーム向けに、ソフトウェアによるブレンディングの代替手段を提供します。

また、コアライブラリは、タッチイベントなどのハードウェアからのイベントをQt Quick Ultraliteコアライブラリに渡すためのQul::EventQueue テンプレートクラスも提供しています。さらに、このクラスは、QMLプロパティシステムに送信されるカスタムイベントにも使用できます。

特定のQtライセンスの下で利用可能です。
詳細はこちらをご覧ください。