C
Qt Quick Ultralite プラットフォーム抽象化アーキテクチャ
以下の図は、Qt Quick Ultraliteアーキテクチャの概要を、プラットフォーム抽象化レイヤーとプラットフォームライブラリーレイヤーを中心に示しています:
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 Platform Abstraction レイヤーも含まれており、プラットフォーム ライブラリとのインターフェイスに使用されます。プラットフォーム ライブラリは、入力、レンダリング、タイマー、その他のハードウェア固有の機能を提供します。
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 ライセンスの下で利用可能です。
詳細をご覧ください。