C
2.12の新機能
Qt Quick Ultraliteはマイナーリリース間のソース互換性を維持しています。しかし、いくつかの変更点では、それに応じてアプリケーションコードを変更する必要があります。以下のセクションでは、そのような変更点を強調します:
新機能
- 以下のターゲットプラットフォームのサポートを追加
- TRAVEO T2G 6M DDR評価キットのTier-1サポート。
- Tier-3サポート
NXP RW612 on ZephyrおよびRenesas RA8P1.
- Green HillsまたはIARツールチェーンを使用して構築されたInfineon TRAVEO T2GターゲットにDeviceLinkサポートを追加。これにより、Squishを使用した自動UIテストが可能になります。
- QmlProjectの改善または更新:
- 言語リストを生成する前に、すべての
qmlprojectファイル内の翻訳データを解析します。 - MCU.Config.translationStorageSectionプロパティを追加し、翻訳ファイル用に個別のストレージ・セクションを定義できるようにしました。
- グリフ・レイアウトとシェーピング・データのキャッシュ・サイズを定義するためのMCU.Config.glyphsLayoutCacheSizeプロパティを追加しました。
- generate-resource-binariesコマンドラインオプションを追加し、設定、QMLファイル、ソースファイルをエクスポートせずにリソースバイナリのみを再生成できるようにしました。
- リソースバイナリに Monotype Spark フォントエンジンのフォントファイルを保持し、バージョンとチェックサムの検証を可能にしました。
- アプリケーションでサポートされる言語のリストは、メインのQmlProjectファイル内の翻訳ファイルに基づいています。
- Safe Rendererモジュールをサポートするために、以下のMCU.Configプロパティを追加しました:
- MCU.Config.safeTextCachePolicyにより、動的SafeText リソースのキャッシュ・ポリシーを定義できるようになりました。
- MCU.Config.safeBitmapRuntimeAllocationType:SafeImage 、SafePicture 、および staticSafeText リソースにアクセスするためのメモリ割り当てタイプを定義します。
- MCU.Config.safeBitmapStorageSection。SafeText 、SafeImage 、SafePicture のメモリ・セクションを定義できるようにします。
- MCU.Config.safeRendererCrcAlgorithm: Qt セーフレイアウトツールの CRC アルゴリズムを定義します。
- MCU.Config.safeTextFontDirectoryフォント・ディレクトリを設定します。
- MCU.Config.safeTextRuntimeAllocationType: ダイナミックSafeText リソースのメモリ割り当てタイプを定義します。
- MCU.Config.safeTextStorageSection: ダイナミックSafeText リソースを格納するメモリ・セクションを定義します。
- 言語リストを生成する前に、すべての
- GCCコンパイラー固有のオプションとフラグを
CompilerExtraOptionsから削除しました。これらのオプションとフラグは、CMakeツールチェーン・ファイル(armgcc.cmake)でも設定されているためです。これにより、オプションとフラグのハード・コーディングが回避され、カスタマイズが可能になります。 - アプリケーションがサポートする言語のリストを取得するためのQul::activeLanguages プロパティを追加しました。
- Position インスタンスでtimestamp インスタンスのサポートを有効にするため、date 値タイプを追加。
- 外部フラッシュに保存された Monotype データテーブルの整合性を検証するためにQul::validateMonotypeDataTableChecksums() を追加。これらのデータテーブルを外部フラッシュに保存すると、内蔵フラッシュで約
~57KB を節約できます。詳細については、Monotype データテーブルを外部フラッシュに保存するを参照してください。 - Thermoデモを更新し、Monotype データテーブルをデフォルトで QSPI に保存するようにしました(
STM32F769I Discovery Kit)。 - Qul::initResources() オプションを追加し、初期化の動作を制御できるようにしました。
- グリフレイアウトデータのキャッシュサイズを制御するMCU.Config.glyphsLayoutCacheSizeを追加。
qmltocpp改良:- 与えられたルート・オブジェクトのすべてのプロパティ・バインディングを設定するコードが、テーブル・ベースのセッターを使用するように改善され、コードのフットプリントが大幅に削減されました。
- 組み込みの読み取り専用リストプロパティに対するエラーチェックを追加しました。
- ターゲット・ハードウェアからコード・カバレッジ結果を取得するためのCocoのサポートを追加しました。
- アプリケーションとそのリソース・データを独立して更新するサポートを追加。また、queryResourceStorageSectionInfo() を追加し、initResources() API にオプションを追加しました。これは、OTA (Over The Air) アップデートで利用可能なリソース・データに基づいて UI 機能を有効にするものです。
- RTOS、SDK、コンパイラのアップグレード:
- MSVCコンパイラをWindows 11の2022に対応。
- Renesas RH850/D1M1A RGL SDKをv2.2.0aへ。
- Renesas プラットフォームSDKをバージョン25.06.00へ。
- NXP platform SDK をバージョン 25.09.00 に変更。
- STM32CubeH7 SDKをバージョン1.12.1に変更。
- Zephyr RTOS を v4.1 に変更。
- パフォーマンス・ログのキャッシュ・メモリ使用レポートを改善し、ブロック・オーバーヘッドを含むすべての割り当て領域をカウントするようにした。
- リソースキャッシュに十分な領域があるかどうかを確認するために、アサートの代わりにmaybeTexture() メソッドを追加。
- MCU.Config.Experimental.multiLineElideのQmlProjectプロパティを使用して有効にできる、複数行消去モードを追加しました。このモードは、利用可能な幅を超える行をすべて消去します。明示的に高さを設定する必要はありません。
- Text アイテムの表示行数を制限するmaximumLineCount プロパティを追加しました。
- ナビゲーションAPIを改善:
- 2つの座標間の遷移をアニメーション化するCoordinateAnimation を追加。
- geoCoordinate のメモリ要件を最適化。
- coordinate() メソッドを提供するQtPositioning グローバル・タイプを追加。
- 2つの座標間の距離をメートル単位で計算するdistanceTo() メソッドを追加。
- アプリケーションがこれらのプロパティをGeoPositionInfo で設定できるように、speed とtimestamp を追加しました。QML でこれらのプロパティにアクセスできる対応する読み取り専用プロパティは、Position::speed とPosition::timestamp です。
修正された問題
- TRAVEO T2GターゲットでOTFレイヤを使用する際に、リソースキャッシュを使用して複数フレームのアセットを保持できるようにした。これにより、Qt Quick Ultralite Coreでレンダリングしているテクスチャデータが無効になった場合に、OTFレイヤのビジュアルアーティファクトを回避。
- IAR ツールチェーンに基づくSTM32F769Iターゲットのメモリ不足例外を修正しました。IARビルドでも24Kサイズの固定スタックに変更。
- T2G TRAVEOボードでパスストロークを描画する際のグラフィックの不具合を修正。
- TRAVEO T2Gターゲット上でハードコードされたメモリアドレスを使用する代わりに、動的にメモリを割り当てるようにJPEGデコーダを修正。
destRect.topLeft() != srcRect.topLeft()時のTRAVEO T2Gターゲット上の不正な透視変換を修正。- TRAVEO T2Gでサーフェスの割り当てに失敗した場合のエラー報告を改善。
- 描画エンジンがまだ非同期にそれらを読み込んでいるときに、削除されたエントリによる視覚的なアーティファクトを回避するために、テキストのキャッシュを修正しました。
- Renesas RH850のプラットフォーム適応を修正し、RGB332ピクセルフォーマットのCPUフォールバックエンジンを使用するようにした。
qmltocpp修正:- アイテム数の多いコンポーネントレイアウト用に生成されるコードを修正。
- モジュールがそれ自身をインポートしている場合、
importステートメントを無視します。 - 翻訳ファイルが見つからない場合、翻訳関数の生成をスキップするようにしました。
qmlprojectexporterの修正:- C++ コンパイラ・オプションに関する警告。
- Qt Safe Renderer モジュールに正しい URI を使用するようにしました。
- position プロパティが QML からアクセスできるように修正。
- GHSコンパイラが生成する依存ファイルの接尾辞情報を修正し、Ninjaが正しいファイル名を認識できるようにした。
- デリゲートからListView または Repeater モデルをリセットするとクラッシュする問題を修正。
- 対応するクラスタ値へのchar属性のマッピングを無効にすることで、
fontcompilerの警告を修正。 - 不要な再レイアウトを避け、レンダリング前にキャッシュをクリアすることにより、テキストのパフォーマンスを最適化。
- TRAVEO T2Gにおいて、JPEGデコーダーがハードコードされたメモリーアドレスを使用する代わりに動的にメモリーを割り当てる際のメモリー破損を修正。
- キャッシュからエントリを削除する前に
waitUntilAsyncReadFinished()を呼び出すよう、テキストキャッシュの実装を修正。
新しいAPI
アプリケーション開発用API
新しいクラス
新しいメンバー関数
クラスGeoPositionInfo :
(since Qt Quick Ultralite 2.12) bool | hasSpeed() const |
クラスSharedImage :
(since Qt Quick Ultralite 2.12) bool | maybeTexture(Qul::PlatformInterface::Texture &texture, int textureIndex = 0) const |
名前空間内の新しい関数
(since Qt Quick Ultralite 2.12) bool | queryResourceStorageSectionInfo(const char *resourceStorageSectionName, Qul::ResourceStorageSectionInfo *info = NULL) |
(since Qt Quick Ultralite 2.12) bool | validateMonotypeDataTableChecksums(Qul::MonotypeDataTables tables = MonotypeDataTables(MonotypeDataTable::AllDataTables)) |
新しい列挙型
(since Qt Quick Ultralite 2.12) enum class | RenderHint { SafeRendering } |
(since Qt Quick Ultralite 2.12) enum class | MonotypeDataTable { decompositionData0, decompositionData1, decompositionData2, decompositionData3, decompositionIndex, …, AllDataTables } |
(since Qt Quick Ultralite 2.12) enum class | ResourceInitializationOptions { DisableAutomaticVersionChecking, AllowUnlistedResources } |
新しい型のエイリアス
(since Qt Quick Ultralite 2.12) | RenderHints |
(since Qt Quick Ultralite 2.12) | MonotypeDataTables |
新しい変数
新しい QML 型
新しいQMLプロパティ
QMLタイプPosition :
(since Qt Quick Ultralite 2.12) | speed : double |
(since Qt Quick Ultralite 2.12) | speedValid : bool |
(since Qt Quick Ultralite 2.12) | timestamp : date |
QML TypeQul :
(since Qt Quick Ultralite 2.12) | activeLanguages : list<string> |
QMLタイプText :
(since Qt Quick Ultralite 2.12) | maximumLineCount : int |
プラットフォーム開発用API
新しいクラス
新しいメンバー関数
クラスDrawingEngine :
(since Qt Quick Ultralite (Platform) 2.12) virtual Qul::PlatformInterface::RenderHints | supportedRenderHints() const |
旧バージョンでの変更点
- What's New in 2.11
- What's New in 2.10
- What's New in 2.9
- What's New in 2.8
- What's New in 2.7
- What's New in 2.6
- What's New in 2.5
- What's New in 2.4
- What's New in 2.3
- What's New in 2.2
- What's New in 2.1
- What's New in 2.0
- What's New in 1.9
- What's New in 1.8
- What's New in 1.7
- What's New in 1.6
- What's New in 1.5
- What's New in 1.4
- What's New in 1.3
- What's New in 1.2
- What's New in 1.1